Connects LLMs to the Optics Design System's HSL-based token architecture and component library. Exposes 14 tools split between core operations like get_token, search_tokens, and get_component_info, plus advanced utilities for theme generation, contrast checking, and migrating hard-coded values to design tokens. Ships with 83 design tokens (colors, spacing, typography) and documentation for 24 components. The standout feature is its understanding of Optics' three-layer token system, which differs from typical design systems. Reach for this when building interfaces with Optics and you need an AI agent that knows the difference between --op-color-primary-base and a standard primary color token, or when auditing code for token compliance.
A Model Context Protocol (MCP) server for the Optics Design System, enabling LLMs to understand and work with design tokens, components, and documentation from https://docs.optics.rolemodel.design.
If you're an AI agent, read SYSTEM_OVERVIEW.md FIRST!
Optics uses a sophisticated HSL-based color system that's different from typical design systems. The system overview explains:
--color-primary token (use --op-color-primary-base instead)Key insight: Optics has 500+ color tokens organized as a predictable scale system, not simple name-value pairs.
This MCP server provides 14 tools and resources for working with the Optics design system:
graph TB
subgraph "MCP Client (AI/LLM)"
CLIENT[AI Agent/LLM]
end
subgraph "Optics MCP Server"
SERVER[MCP Server<br/>stdio transport]
subgraph "Resources (13)"
SYSTEM[optics://system-overview]
DOC_INTRO[optics://documentation/introduction]
DOC_START[optics://documentation/getting-started]
DOC_TOKENS[optics://documentation/design-tokens]
DOC_COLOR[optics://documentation/color-system]
DOC_SPACING[optics://documentation/spacing]
DOC_TYPO[optics://documentation/typography]
DOC_COMP[optics://documentation/components]
DOC_A11Y[optics://documentation/accessibility]
TOK_ALL[optics://tokens/all]
TOK_COLOR[optics://tokens/color]
TOK_SPACING[optics://tokens/spacing]
TOK_TYPO[optics://tokens/typography]
COMP_ALL[optics://components/all]
end
subgraph "Core Tools (7)"
T1[get_token]
T2[search_tokens]
T3[get_token_usage_stats]
T4[get_component_info]
T5[list_components]
T6[get_component_tokens]
T7[search_documentation]
end
subgraph "Advanced Tools (7)"
T8[generate_theme]
T9[validate_token_usage]
T10[replace_hard_coded_values]
T11[check_contrast]
T12[suggest_token_migration]
T13[generate_component_scaffold]
T14[generate_sticker_sheet]
end
subgraph "Prompts (5)"
P1[start-here]
P2[get-token-reference]
P3[component-guide]
P4[theme-customization]
P5[migration-guide]
end
subgraph "Data Layer"
TOKENS[83 Design Tokens<br/>HSL colors, spacing,<br/>typography, borders, shadows]
COMPONENTS[24 Components<br/>with token dependencies]
DOCS[Documentation<br/>Guidelines & best practices]
end
end
CLIENT -->|JSON-RPC| SERVER
SERVER --> SYSTEM
SERVER --> DOC_INTRO
SERVER --> DOC_START
SERVER --> DOC_TOKENS
SERVER --> DOC_COLOR
SERVER --> DOC_SPACING
SERVER --> DOC_TYPO
SERVER --> DOC_COMP
SERVER --> DOC_A11Y
SERVER --> TOK_ALL
SERVER --> TOK_COLOR
SERVER --> TOK_SPACING
SERVER --> TOK_TYPO
SERVER --> COMP_ALL
SERVER --> T1
SERVER --> T2
SERVER --> T3
SERVER --> T4
SERVER --> T5
SERVER --> T6
SERVER --> T7
SERVER --> T8
SERVER --> T9
SERVER --> T10
SERVER --> T11
SERVER --> T12
SERVER --> T13
SERVER --> T14
SERVER --> P1
SERVER --> P2
SERVER --> P3
SERVER --> P4
SERVER --> P5
T1 --> TOKENS
T2 --> TOKENS
T3 --> TOKENS
T4 --> COMPONENTS
T5 --> COMPONENTS
T6 --> COMPONENTS
T7 --> DOCS
T8 --> TOKENS
T9 --> TOKENS
T10 --> TOKENS
T11 --> TOKENS
T12 --> TOKENS
T13 --> COMPONENTS
T14 --> TOKENS
T14 --> COMPONENTS
P1 --> SYSTEM
P2 --> TOKENS
P3 --> COMPONENTS
P4 --> T8
P5 --> T12
Quick Setup:
{
"servers": {
"optics": {
"command": "npx",
"args": [
"@rolemodel/optics-mcp@latest"
]
}
}
}
Or create .vscode/mcp.json in your workspace with the same config.
Official MCP Registry: Listed at registry.modelcontextprotocol.io ✅
One-Click Install (click to open Cursor):
cursor://anysphere.cursor-deeplink/mcp/install?name=optics&config=eyJvcHRpY3MiOnsiY29tbWFuZCI6Im5weCIsImFyZ3MiOlsiLXkiLCJvcHRpY3MtbWNwIl19fQ==
Or Manual Setup:
{
"servers": {
"optics": {
"command": "npx",
"args": [
"@rolemodel/optics-mcp@latest"
]
}
}
}
The easiest way to use Optics MCP - no installation required!
Add to your MCP configuration:
{
"mcpServers": {
"optics": {
"command": "npx",
"args": [
"@rolemodel/optics-mcp@latest"
]
}
}
}
Add with a single command:
claude mcp add optics -- npx -y optics-mcp
Other useful commands:
# List all MCP servers
claude mcp list
# Remove the Optics server
claude mcp remove optics
# View server details
claude mcp get optics
# Test the connection
claude mcp test optics
That's it! The server runs automatically whenever your MCP client needs it.
If you want to modify the server or contribute:
git clone https://github.com/RoleModel/optics-mcp.git
cd optics-mcp
npm install
npm run build
Then configure with the local path:
{
"mcpServers": {
"optics": {
"command": "node",
"args": ["/absolute/path/to/optics-mcp/dist/index.js"]
}
}
}
npm start
For detailed documentation of all tools, see TOOLS.md.
get_tokenGet detailed information about a specific design token.
search_tokensSearch for design tokens by category or name pattern.
get_token_usage_statsGet statistics about design token usage across the system.
get_component_infoGet detailed information about a component including its design token dependencies.
list_componentsList all available components in the design system.
get_component_tokensGet all design tokens used by a specific component.
search_documentationSearch through Optics documentation.
generate_themeCreate a custom branded theme with CSS variables and Figma Variables JSON.
validate_token_usageFind hard-coded values in code that should use design tokens.
replace_hard_coded_valuesAutomatically replace hard-coded values with design tokens.
check_contrastCheck WCAG color contrast ratios between tokens.
suggest_token_migrationSuggest tokens for legacy code migration.
generate_component_scaffoldGenerate component code with Optics tokens.
generate_sticker_sheetGenerate a visual style guide showing all design tokens and components.
The server exposes the following resources via the optics:// URI scheme:
optics://documentation/introduction - Overview of Opticsoptics://documentation/getting-started - Getting started guideoptics://documentation/design-tokens - Design token documentationoptics://documentation/color-system - Color system guideoptics://documentation/spacing - Spacing system guideoptics://documentation/typography - Typography guideoptics://documentation/components - Component library overviewoptics://documentation/accessibility - Accessibility guidelinesoptics://tokens/all - All design tokensoptics://tokens/color - Color tokens onlyoptics://tokens/spacing - Spacing tokens onlyoptics://tokens/typography - Typography tokens onlyoptics://components/all - All componentsAll components extracted from real Optics SCSS with accurate token dependencies:
Each component specifies which Optics design tokens it uses, making it easy to understand dependencies and maintain consistency.
npm run build
npm run watch
optics-mcp/
├── src/
│ ├── index.ts # MCP server implementation
│ └── optics-data.ts # Design tokens and component data
├── dist/ # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md
The server tracks which design tokens are used by each component, enabling:
To add new design tokens or components:
src/optics-data.tsdesignTokens arraycomponents array, specifying their token dependenciesnpm run buildMIT
miapre/html-to-figma-design-system
ie3jp/illustrator-mcp-server
coding-solo/godot-mcp
ivanmurzak/unity-mcp
yctimlin/mcp_excalidraw
figma/mcp-server-guide