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
| Tool | Purpose |
|---|---|
list_components | Browse component names and summaries. |
search_components | Find a component by name, prop, or intent. |
get_component | Props, import, composition, and a canonical wired example. |
list_tokens | Browse the --spark-* token taxonomy by category. |
get_token | Resolve one token to its light / dark / global values. |
search_tokens | Find tokens by name or value. |
list_guidelines | Index of theming / composition / custom-block recipes. |
get_guideline | Full 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-mcpVerify 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/mcpIt 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.