Ensemble

AI-ready design toolkit: color palettes, typography, spacing, shadows and accessibility audits.

AI & MLTypeScriptv1.0.0

🎨 Ensemble MCP

Give your AI agent design taste.

npm version License: MIT

Website · Documentation · Get API Key


What is this?

Ensemble MCP is a Model Context Protocol server that gives AI agents access to professional design tools. Generate color palettes, pair typography, create shadow systems, and export complete design tokens - all through natural conversation.

10 tools. One API. Infinite possibilities.

ToolWhat it doesIts main argument
harmony_generate_paletteA full color system from one brand colorcolor_scheme
duet_pair_fontsHeading, body and mono fonts with a type scaletype_style
tempo_generate_scaleA spacing system tuned to the typedensity
chord_generate_shadowsElevation shadows tinted by the paletteshadow_intensity
cadence_generate_gridResponsive grid: breakpoints, columns, guttersdensity
riff_generate_motionDurations, easing curves and transition presetsanimation_style
bridge_generate_themeA complete dark mode from the light systemcolor
pitch_audit_contrastWhich palette pairs pass WCAG, and what to fixcolor
compose_exportThe whole system as CSS, JSON, Tailwind or SCSSformats
a11y_validateCheck one color pair for accessibility (FREE, no key needed)foreground, background

Every builder takes a brand color and an optional preferences object, so tools called separately agree with each other. Results are deterministic: the same color and preferences always give the same system.

------|--------------| | harmony_generate_palette | Generate harmonious color palettes from a single color | | duet_pair_fonts | Pair heading and body fonts that complement each other | | tempo_generate_scale | Create type scales and spacing systems | | chord_generate_shadows | Generate 5-level shadow elevation systems | | bridge_generate_theme | Auto-generate dark mode from light theme colors | | cadence_set_grid | Configure CSS Grid layouts with presets | | pitch_create_gradient | Create linear, radial, and conic gradients | | riff_set_easing | Set cubic-bezier easing curves | | compose_export | Export complete design system (CSS, Tailwind, SCSS, JSON) | | a11y_validate | Check color contrast accessibility (FREE, no key needed) |


Quick Start

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "ensemble": {
      "command": "npx",
      "args": ["-y", "@hearthbyte/ensemble-mcp"],
      "env": {
        "ENSEMBLE_API_KEY": "your-api-key-here"
      }
    }
  }
}

Cursor / Cline

{
  "ensemble": {
    "command": "npx",
    "args": ["-y", "@hearthbyte/ensemble-mcp"],
    "env": {
      "ENSEMBLE_API_KEY": "your-api-key-here"
    }
  }
}

Manual Installation

npm install -g @hearthbyte/ensemble-mcp
ensemble-mcp

Example Prompts

Once installed, try these with your AI:

"Generate a triadic color palette from #6366F1"

"Give me a classical font pairing and an airy spacing system to go with it"

"Check if #FFFFFF text on #6366F1 background is accessible"

"Build a design system from #0F766E with dramatic shadows and export it as Tailwind config"

"Audit the contrast of the palette you just made and tell me what fails"


API Key

The builders call the Ensemble API, which needs a Pro key ($4.99/month, or $39/year).

Free tool: a11y_validate - accessibility validation with no API key required.

Get your API key →


Design Philosophy

Ensemble tools are built on these principles:

  1. One color in, design system out - Start with a single value, get a complete system
  2. Cross-tool sync - Colors flow to typography, typography informs spacing
  3. Export everywhere - CSS, Tailwind, SCSS, JSON
  4. Accessibility first - WCAG 2.1 + APCA checking built in

Links


Built with 🧡 by HearthByte

Your work. Your choice. Always.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @hearthbyte/ensemble-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "dev-hearthbyte-ensemble": {
      "command": "npx",
      "args": [
        "-y",
        "@hearthbyte/ensemble-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@hearthbyte/ensemble-mcpnpm

Compatible MCP Clients

Ensemble works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More