home / mcp / design token bridge mcp server
Provides token extraction from multiple sources and generates native themes and CSS variables across platforms.
Configuration
View docs{
"mcpServers": {
"kenneives-design-token-bridge-mcp": {
"command": "npx",
"args": [
"-y",
"design-token-bridge-mcp"
]
}
}
}You can extract design tokens from Tailwind, CSS, Figma, and W3C DTCG formats, then generate native themes for Material 3, SwiftUI, Tailwind, and CSS Variables. This MCP server enables a streamlined, end-to-end token bridge that supports a practical design-to-code workflow across platforms.
You integrate this MCP server with your MCP client by configuring one or more MCP connections. Start by choosing a local (stdio) server if you want to run the bridge directly on your machine, or connect through a remote MCP URL if you have an HTTP endpoint. Use the world of extractors to bring tokens into a universal schema, then employ generators to produce platform-specific themes and CSS variables. Finally, validate accessibility to ensure color contrast meets your standards.
Prerequisites: Node.js and npm (or Node.js with npx). You should also have a text editor and a shell to run commands.
From npm install the MCP server globally.
npm install -g design-token-bridge-mcpIf you prefer building from source, clone the project, install dependencies, and build.
git clone https://github.com/kenneives/design-token-bridge-mcp.git
cd design-token-bridge-mcp
npm install
npm run buildYou configure MCP connections in Claude Code or your projectβs MCP settings file. The examples below show how to expose a local, stdio-based server and how to reference the server from Claude Code.
{
"mcpServers": {
"design-token-bridge": {
"type": "stdio",
"command": "npx",
"args": ["-y", "design-token-bridge-mcp"]
}
}
}If you install from source, you can reference the built index file directly.
{
"mcpServers": {
"design-token-bridge": {
"type": "stdio",
"command": "node",
"args": ["/path/to/design-token-bridge-mcp/build/index.js"]
}
}
}The bridge uses a universal token schema to move data from input extractors through a processing token bridge to a set of generators that produce platform-specific outputs.
A typical pipeline starts with extracting tokens from a source (Tailwind config, CSS variables, Figma variables, or W3C DTCG JSON). Then you generate outputs for Tailwind, Material 3, SwiftUI, and CSS variables, and finally validate contrast.
You can run a contrast check to verify WCAG AA/AAA compliance for color combinations.
An end-to-end example shows you how to extract tokens from a Tailwind config, generate outputs for web and native platforms, and validate accessibility.
See the example project layout for token artifacts such as the universal token file, Tailwind config, CSS variables, and a contrast report.
It is designed to work with free tier plans for v0 and Figma. You can sign up for v0, configure Figma MCP, and connect through Claude Code for full pipeline support.
The server is built with TypeScript and Node.js. It uses a standardized MCP transport and Zod for schema validation, with minimal external dependencies.
Testing includes unit tests and Playwright-based end-to-end visual tests to verify behavior across responsive layouts.
Parses Tailwind configuration to extract colors, font sizes, spacing, border radius, and shadows.
Parses CSS files to extract custom properties like --color-*, --space-*, --radius-*, and --shadow-*.
Fetches and parses Figma Variables API JSON to extract COLOR and FLOAT values, resolves aliases, and handles multi-mode setups.
Parses W3C DTCG format JSON to extract token values from $value, $type, $description, and aliases.
Generates a Material 3 theme in Kotlin (Jetpack Compose) including lightColorScheme, Typography, and Shapes.
Generates a SwiftUI theme with color extensions, font structs, and optional Liquid Glass styling.
Produces a Tailwind theme extension block with rem-based values in a config file.
Creates a :root CSS block with CSS variables for light and dark modes.
Checks color pairs for WCAG AA/AAA contrast levels and reports pass/fail with ratios.