# kenneives/design-token-bridge-mcp [Health: Active]

**Category:** 💰 Finance & Fintech  
**Repository:** https://github.com/kenneives/design-token-bridge-mcp  
**GitHub Stars:** 5  
**npm Downloads (last month):** 441  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/kenneives-design-token-bridge-mcp

## Description
Translates design tokens between platforms — extract from Tailwind, CSS, Figma, or W3C DTCG, then generate Material 3 (Kotlin), SwiftUI, Tailwind config, and CSS Variables with WCAG contrast validation.

## Tools
Capabilities this server exposes over MCP:

- **extract_tokens_from_tailwind** — Parses colors, fontSize, spacing, borderRadius, boxShadow
- **extract_tokens_from_css** — Extracts `--color-*`, `--space-*`, `--radius-*`, `--shadow-*` custom properties
- **extract_tokens_from_figma_variables** — Parses COLOR, FLOAT types, resolves aliases, handles multi-mode
- **extract_tokens_from_json** — Parses `$value`/`$type`/`$description`, resolves `{aliases}`, handles groups
- **generate_material3_theme** — lightColorScheme()`, `Typography`, `Shapes` with M3 naming
- **generate_swiftui_theme** — Color extensions, Font structs, optional Liquid Glass (iOS 26+)
- **generate_tailwind_config** — Theme extend block with rem units, ESM or CJS
- **generate_css_variables** — :root` block with light/dark mode via `prefers-color-scheme
- **validate_contrast** — WCAG AA/AAA contrast checking for color pairs with pass/fail + ratios

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "design-token-bridge-mcp": {
    "command": "npx",
    "args": ["-y","design-token-bridge-mcp"]
  }
}
```

## Documentation & README

[![AgentAvow Trust](https://agentavow.com/api/v1/public/scan/kenneives/design-token-bridge-mcp/badge)](https://agentavow.com/check/kenneives/design-token-bridge-mcp) — signed, offline-verifiable tool-safety grade

# design-token-bridge-mcp

<a href="https://glama.ai/mcp/servers/kenneives/design-token-bridge-mcp">
  <img width="380" height="200" src="https://glama.ai/mcp/servers/kenneives/design-token-bridge-mcp/badge" />
</a>
<br>
<a href="https://agentgraph.co/profile/1e7b584d-2621-47a8-a314-20b9a908353a">
  <img src="https://agentgraph.co/api/v1/badges/trust/1e7b584d-2621-47a8-a314-20b9a908353a.svg?style=detailed&theme=dark" alt="AgentGraph Trust Score" height="30" />
</a>

<sub>Verified on <a href="https://agentgraph.co">AgentGraph</a> — trust infrastructure for AI agents. <a href="https://agentgraph.co/profile/1e7b584d-2621-47a8-a314-20b9a908353a">View profile</a></sub>

An MCP server that translates design tokens between platforms. Extract tokens from Tailwind, CSS, Figma, or W3C DTCG format — then generate native themes for Material 3 (Kotlin), SwiftUI (with Liquid Glass), Tailwind, and CSS Variables.

Built for the **v0 → Figma → Claude Code** design pipeline.

```
┌──────────────┐     ┌──────────────┐     ┌────────────────────────┐
│  Tailwind     │     │              │     │  Material 3 (Kotlin)   │
│  CSS Vars     │────▶│  Universal   │────▶│  SwiftUI (Swift)       │
│  Figma Vars   │     │  Token       │     │  Tailwind Config       │
│  W3C DTCG     │     │  Schema      │     │  CSS Variables         │
└──────────────┘     └──────────────┘     └────────────────────────┘
    Extractors           Bridge              Generators
```

## Install

### From npm

```bash
npm install -g design-token-bridge-mcp
```

### From source

```bash
git clone https://github.com/kenneives/design-token-bridge-mcp.git
cd design-token-bridge-mcp
npm install && npm run build
```

## Configure with Claude Code

Add to your Claude Code MCP settings (`~/.claude/settings.json` or project `.mcp.json`):

```json
{
  "mcpServers": {
    "design-token-bridge": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "design-token-bridge-mcp"]
    }
  }
}
```

Or if installed from source:

```json
{
  "mcpServers": {
    "design-token-bridge": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/design-token-bridge-mcp/build/index.js"]
    }
  }
}
```

## Tools (9 total)

### Extractors — Input → Universal Tokens

| Tool | Input | Description |
|------|-------|-------------|
| `extract_tokens_from_tailwind` | `tailwind.config.js` content | Parses colors, fontSize, spacing, borderRadius, boxShadow |
| `extract_tokens_from_css` | CSS file content | Extracts `--color-*`, `--space-*`, `--radius-*`, `--shadow-*` custom properties |
| `extract_tokens_from_figma_variables` | Figma Variables API JSON | Parses COLOR, FLOAT types, resolves aliases, handles multi-mode |
| `extract_tokens_from_json` | W3C DTCG format JSON | Parses `$value`/`$type`/`$description`, resolves `{aliases}`, handles groups |

### Generators — Universal Tokens → Output

| Tool | Output | Description |
|------|--------|-------------|
| `generate_material3_theme` | Kotlin (Jetpack Compose) | `lightColorScheme()`, `Typography`, `Shapes` with M3 naming |
| `generate_swiftui_theme` | Swift (SwiftUI) | Color extensions, Font structs, optional Liquid Glass (iOS 26+) |
| `generate_tailwind_config` | `tailwind.config.js` | Theme extend block with rem units, ESM or CJS |
| `generate_css_variables` | CSS custom properties | `:root` block with light/dark mode via `prefers-color-scheme` |

### Validation

| Tool | Description |
|------|-------------|
| `validate_contrast` | WCAG AA/AAA contrast checking for color pairs with pass/fail + ratios |

## Universal Token Schema

All tools speak this common format:

```json
{
  "colors": {
    "primary": { "value": "#6750A4", "description": "Brand primary", "category": "primary" }
  },
  "typography": {
    "display-large": { "fontSize": 57, "lineHeight": 64, "fontWeight": 400, "fontFamily": "Inter" }
  },
  "spacing": { "xs": 4, "sm": 8, "md": 16 },
  "radii": { "sm": 8, "md": 12, "lg": 16 },
  "elevation": {
    "low": {
      "shadowColor": "#000000",
      "shadowOffset": { "x": 0, "y": 2 },
      "shadowRadius": 4,
      "shadowOpacity": 0.1
    }
  },
  "motion": {
    "fast": { "duration": 150, "easing": "ease-out" }
  }
}
```

## Example: Full Pipeline

### 1. Extract tokens from a Tailwind config

```
Use extract_tokens_from_tailwind with the contents of my tailwind.config.js
```

### 2. Generate native themes from the extracted tokens

```
Take those tokens and run them through:
- generate_tailwind_config (for the web app)
- generate_material3_theme (for Android)
- generate_swiftui_theme with liquidGlass=true (for iOS)
- generate_css_variables (for a vanilla CSS fallback)
```

### 3. Validate accessibility

```
Run validate_contrast on those tokens at AAA level
```

## Example Output

See the [`examples/qt-games/`](https://github.com/kenneives/design-token-bridge-mcp/blob/HEAD/examples/qt-games/) directory for a complete responsive landing page built entirely from MCP-generated tokens, including:

- `qt-games-tokens.json` — extracted universal tokens
- `tailwind.config.js` — generated Tailwind config
- `variables.css` — generated CSS custom properties
- `contrast-report.json` — WCAG validation (AAA pass)
- `index.html` + `styles.css` — responsive landing page using the generated tokens

## v0 + Figma Free Tier Setup

This MCP works with free tiers of both v0 and Figma. See the setup guides:

- [v0 Setup Guide](https://github.com/kenneives/design-token-bridge-mcp/blob/HEAD/docs/v0-setup.md) — free tier signup, web UI workflow
- [Figma Setup Guide](https://github.com/kenneives/design-token-bridge-mcp/blob/HEAD/docs/figma-setup.md) — free tier MCP config (6 calls/month)
- [Claude Code Setup](https://github.com/kenneives/design-token-bridge-mcp/blob/HEAD/docs/claude-setup.md) — full pipeline configuration
- [Token Extraction Guide](https://github.com/kenneives/design-token-bridge-mcp/blob/HEAD/docs/token-extraction.md) — manual extraction when APIs aren't available

## Tech Stack

- TypeScript + Node.js
- [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk) v1.x (stdio transport)
- [Zod](https://github.com/colinhacks/zod) for schema validation
- Zero heavyweight dependencies — no Babel, no PostCSS, no Style Dictionary

## Tests

```bash
# 91 unit tests
npm test

# 31 Playwright visual/responsive tests
npm run test:e2e
```

## Contributing

See [CONTRIBUTING.md](https://github.com/kenneives/design-token-bridge-mcp/blob/HEAD/CONTRIBUTING.md) for development setup, project structure, and PR guidelines.

## License

MIT — see [LICENSE](https://github.com/kenneives/design-token-bridge-mcp/blob/HEAD/LICENSE).

