{
  "mcpVersion": "1.0.0",
  "server": {
    "name": "Ensemble",
    "version": "1.0.0",
    "description": "Agent-native design system engine. Mathematically generates palettes, typography, grids, and themes for application interfaces."
  },
  "tools": [
    {
      "name": "harmony",
      "description": "Color palette generator. Mathematically generates a base color palette suggestion from a single hex code. Supports individual swatch locking and regeneration.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "hex": {
            "type": "string",
            "description": "Base hex color code (e.g., #A78BFA)"
          },
          "lockedSwatches": {
            "type": "array",
            "items": { "type": "string" },
            "description": "Optional array of hex codes to lock during regeneration"
          }
        },
        "required": ["hex"]
      }
    },
    {
      "name": "duet",
      "description": "Font pairing tool. Suggests curated Google Fonts heading + body combinations. Preview with custom text, adjust sizes and weights, export as CSS.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "heading": { "type": "string", "description": "Heading font name (e.g., Playfair Display)" },
          "body": { "type": "string", "description": "Body font name (e.g., Source Sans Pro)" },
          "style": {
            "type": "string",
            "enum": ["modern", "classic", "minimal", "friendly", "editorial", "tech"],
            "description": "Style category for a curated suggestion"
          }
        }
      }
    },
    {
      "name": "chord",
      "description": "Shadow & elevation system. Generates a 5-level CSS box-shadow set from a base color, opacity, and style. Preview on real UI components.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "color": { "type": "string", "description": "Shadow color in hex (e.g., #1a1408)" },
          "opacity": { "type": "number", "description": "Base shadow opacity (0-100)" },
          "style": {
            "type": "string",
            "enum": ["natural", "sharp", "diffused", "layered"],
            "description": "Shadow style preset"
          }
        }
      }
    },
    {
      "name": "tempo",
      "description": "Typographic scale generator. Calculates fluid font sizes and line heights based on a modular mathematical ratio.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "baseSize": {
            "type": "number",
            "description": "Base font size in pixels"
          },
          "scaleRatio": {
            "type": "number",
            "description": "Multiplier for the typographic scale (e.g., 1.25)"
          }
        },
        "required": ["baseSize", "scaleRatio"]
      }
    },
    {
      "name": "riff",
      "description": "Easing curve editor. Generates mathematically precise CSS cubic-bezier or spring animation values.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "tension": { "type": "number" },
          "friction": { "type": "number" }
        },
        "required": ["tension", "friction"]
      }
    },
    {
      "name": "cadence",
      "description": "Grid layout builder. Generates mathematically sound CSS grid tracks, spatial layouts, and gaps.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "columns": { "type": "number" },
          "baseGap": {
            "type": "number",
            "description": "Base gap size in rems or pixels"
          }
        },
        "required": ["columns", "baseGap"]
      }
    },
    {
      "name": "bridge",
      "description": "Light/dark theme builder. Converts a base token set into an accessible, inverted dual-theme output.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "baseTokens": {
            "type": "object",
            "description": "JSON object of the primary design tokens"
          }
        },
        "required": ["baseTokens"]
      }
    },
    {
      "name": "compose",
      "description": "Compiles and exports the generated design system into specified target formats.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "format": {
            "type": "string",
            "enum": [
              "css",
              "tailwind",
              "scss",
              "json",
              "figma",
              "react",
              "storybook",
              "flutter",
              "react-native",
              "favicon",
              "og-image"
            ],
            "description": "Target export format"
          },
          "tokens": {
            "type": "object",
            "description": "The complete generated token system to export"
          }
        },
        "required": ["format", "tokens"]
      }
    },
    {
      "name": "overture",
      "description": "Guided brand builder. 5-step pipeline: pick a color and company name, generate palette, typography, accessibility audit, layout tokens, then export a complete design system.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "companyName": { "type": "string", "description": "Brand or company name" },
          "baseColor": { "type": "string", "description": "Base hex color (e.g., #4F46E5)" },
          "format": {
            "type": "string",
            "enum": ["css", "tailwind", "scss", "json", "figma", "react", "storybook", "flutter", "reactnative"],
            "description": "Export format for the generated design system"
          }
        },
        "required": ["companyName", "baseColor"]
      }
    }
  ]
}
