MCP server

Query the Spark design system from AI agents (component props, examples, and guidelines) over the Model Context Protocol.

The Spark MCP server exposes the design system to AI agents: component props, imports, canonical examples, the --spark-* theming tokens, and the theming / custom-block guidelines. An assistant connected to it designs and builds with real Spark components instead of guessing.

It is published as @epilot/spark-mcp and served two ways from the same generated registry.

Tools

ToolPurpose
list_componentsBrowse component names and summaries.
search_componentsFind a component by name, prop, or intent.
get_componentProps, import, composition, and a canonical wired example.
list_tokensBrowse the --spark-* token taxonomy by category.
get_tokenResolve one token to its light / dark / global values.
search_tokensFind tokens by name or value.
list_guidelinesIndex of theming / composition / custom-block recipes.
get_guidelineFull text of one guideline.

Installation

The server runs locally over stdio via npx: no install step, no API key. Requires Node.js 18+.

Claude Code

claude mcp add spark -- npx -y @epilot/spark-mcp

Verify with claude mcp list; spark should report as connected.

Cursor

Add to .cursor/mcp.json in your project (or ~/.cursor/mcp.json for all projects):

{
  "mcpServers": {
    "spark": {
      "command": "npx",
      "args": ["-y", "@epilot/spark-mcp"]
    }
  }
}

Claude Desktop

Add the same mcpServers entry to claude_desktop_config.json (Settings → Developer → Edit Config), then restart Claude Desktop.

VS Code (GitHub Copilot)

Add to .vscode/mcp.json (note VS Code uses servers instead of mcpServers):

{
  "servers": {
    "spark": {
      "command": "npx",
      "args": ["-y", "@epilot/spark-mcp"]
    }
  }
}

Other stdio clients

Any client that launches a local MCP process works with the same command: npx -y @epilot/spark-mcp.

Remote clients (Claude Design, claude.ai connectors)

For browser-based clients that cannot spawn a local process, register the hosted endpoint as a custom connector:

https://spark-ui.epilot.io/api/mcp

It is a stateless Streamable-HTTP endpoint: no manifest or sign-in. It serves the same tools as the stdio server, backed by the same generated registry.

On this page