Design Systems MCP Server

Design Systems MCP Server

Enables AI-powered access to authoritative design systems knowledge, including W3C standards, WCAG guidelines, and best practices from 188+ curated entries via semantic vector search.

Category
访问服务器

README

Design Systems MCP Server

An AI-powered Model Context Protocol (MCP) server providing intelligent access to authoritative design systems knowledge. Powered by Supabase vector search with 188+ curated entries including W3C standards, WCAG guidelines, and design system best practices.

🌐 Live Demo: https://design-systems-mcp.southleft.com/

Features

Core Capabilities

  • 🎯 Production Vector Search - Supabase pgvector with OpenAI embeddings for semantic understanding
  • 📚 188+ Curated Entries - W3C standards, WCAG 2.2, ARIA practices, and 10+ major design systems
  • 🔍 Hybrid Search Architecture - Combines vector similarity with keyword matching (0.15 threshold)
  • 🚀 Edge-Optimized - Cloudflare Workers deployment with global distribution

Latest Updates

  • Streaming Responses - Chat answers stream token-by-token via SSE; first content appears in seconds
  • 🏠 Refreshed Landing Page - Hero, MCP endpoint with one-click copy, and a "What's inside" overview
  • 🛡️ Source Reliability Badges - Every answer flags Primary / Authoritative / Reference / Example / Community sources
  • 188+ Curated Entries - W3C, WCAG 2.2, ARIA APG, and 10+ major design systems
  • 🔧 Production Vector Search - Supabase pgvector with OpenAI embeddings, keyword fallback
  • 📖 Universal MCP Client Support - Works with any MCP-capable client (Claude Desktop, Cursor, Windsurf, etc.)

Developer Experience

  • 🌐 Zero Setup Required - Public MCP endpoint ready to use
  • 🤖 AI Chat Interface - Natural language queries with GPT-4o + streaming responses (SSE) for fast time-to-first-token
  • 🧪 Local Development - Complete testing environment with hot reload
  • 📝 Comprehensive Docs - Updated setup guides for every major MCP client

Content Library

188+ Curated Entries Including:

Standards & Specifications

  • W3C Design Tokens Community Group (DTCG) Specification
  • WCAG 2.2 Guidelines (A, AA, AAA levels)
  • WAI-ARIA Authoring Practices Guide (APG)
  • W3C Web Content Accessibility Guidelines
  • W3C Mobile Accessibility at W3C

Design System Resources

  • Material Design 3 (Google)
  • Fluent Design System (Microsoft)
  • Ant Design (Alibaba)
  • Carbon Design System (IBM)
  • Polaris (Shopify)
  • Lightning Design System (Salesforce)
  • Atlassian Design System
  • Adobe Spectrum
  • GitHub Primer
  • Shopify Polaris

Tools & Frameworks

  • Figma Design System Guides
  • Style Dictionary Documentation
  • Design Tokens Format Module
  • Storybook Best Practices

Methodologies & Best Practices

  • Atomic Design principles
  • Design Systems Handbook
  • Component architecture patterns
  • Accessibility implementation guides

Quick Start

Using the Public MCP Server (Recommended)

No installation needed! Connect any MCP client to our live server:

https://design-systems-mcp.southleft.com/mcp

See Connect to MCP Clients section below for detailed setup instructions.

Local Development

  1. Clone and Install

    git clone https://github.com/southleft/design-systems-mcp.git
    cd design-systems-mcp
    npm install
    
  2. Configure Environment

    cp .dev.vars.example .dev.vars
    # Edit .dev.vars and add your credentials
    
  3. Start Development Server

    npm run dev
    

    Server available at: http://localhost:8787

Connect to MCP Clients

Choose your AI coding tool below for setup instructions:

<details> <summary><b>Claude Desktop</b> - Click to expand configuration</summary>

Add via Custom Connector UI (Recommended - No JSON editing!)

  1. Open Claude Desktop and navigate to SettingsConnectors

  2. Click "Add custom connector" at the bottom of the connectors list

  3. Fill in the connector details:

    • Name: Design Systems Assistant (or any name you prefer)
    • URL: https://design-systems-mcp.southleft.com/mcp
  4. Click "Add" to save the connector

  5. Start using it! The connector will appear in your connectors list with 4 available tools:

    • search_design_knowledge
    • search_chunks
    • browse_by_category
    • get_all_tags

That's it! You can now use the Design Systems Assistant in your Claude Desktop conversations.

Note: Custom connectors are available for Claude Pro, Team, and Enterprise plans.

</details>

<details> <summary><b>Claude Code (CLI)</b> - Click to expand configuration</summary>

Quick Setup via CLI:

claude mcp add --transport http design-systems https://design-systems-mcp.southleft.com/mcp

Or manually edit .mcp.json:

{
  "mcpServers": {
    "design-systems": {
      "type": "http",
      "url": "https://design-systems-mcp.southleft.com/mcp"
    }
  }
}

Verify connection:

claude mcp list

</details>

<details> <summary><b>Cursor IDE</b> - Click to expand configuration</summary>

Location: ~/.cursor/mcp_config.json or ~/.config/cursor/mcp_config.json

{
  "mcpServers": {
    "design-systems": {
      "url": "https://design-systems-mcp.southleft.com/mcp"
    }
  }
}

Restart Cursor after updating the configuration.

</details>

<details> <summary><b>Cline (VSCode Extension)</b> - Click to expand configuration</summary>

Location: VSCode Settings → Extensions → Cline → MCP Settings

Add to MCP servers configuration:

{
  "design-systems": {
    "url": "https://design-systems-mcp.southleft.com/mcp",
    "description": "Design systems knowledge and best practices"
  }
}

Or add via Command Palette: Cline: Add MCP Server

Reload VSCode after configuration.

</details>

<details> <summary><b>Continue (VSCode Extension)</b> - Click to expand configuration</summary>

Location: VSCode Settings → Extensions → Continue → config.json

{
  "mcpServers": [
    {
      "name": "design-systems",
      "url": "https://design-systems-mcp.southleft.com/mcp",
      "description": "Design systems knowledge base"
    }
  ]
}

</details>

<details> <summary><b>Zed Editor</b> - Click to expand configuration</summary>

Location: ~/.config/zed/settings.json

{
  "mcp": {
    "servers": {
      "design-systems": {
        "url": "https://design-systems-mcp.southleft.com/mcp"
      }
    }
  }
}

</details>

<details> <summary><b>Generic MCP Client</b> - Click to expand configuration</summary>

For any MCP client supporting remote servers:

Endpoint: https://design-systems-mcp.southleft.com/mcp

Protocol: JSON-RPC 2.0 over HTTP/HTTPS

Transport: Standard MCP transport (stdio, SSE, or HTTP)

</details>

<details> <summary><b>Local Development Setup</b> - Click to expand configuration</summary>

To connect to your local development server instead of the public endpoint:

{
  "mcpServers": {
    "design-systems": {
      "url": "http://localhost:8787/mcp"
    }
  }
}

Note: Local server requires running npm run dev first.

</details>

Connection Troubleshooting

Server not responding?

  • Verify the URL is correct: https://design-systems-mcp.southleft.com/mcp
  • Test with curl: curl https://design-systems-mcp.southleft.com/health
  • Check your client supports remote MCP servers

Tools not appearing?

  • Restart your MCP client after configuration changes
  • Check client logs for connection errors
  • Verify JSON configuration syntax is correct

Need help?

Available MCP Tools

The server provides these tools for AI assistants:

search_design_knowledge

Search the complete knowledge base with semantic understanding.

Parameters:

  • query (string, required) - Search query
  • category (string, optional) - Filter by category
  • tags (array, optional) - Filter by tags
  • limit (number, optional) - Max results (default: 15)

Example:

{
  "name": "search_design_knowledge",
  "arguments": {
    "query": "WCAG 2.2 color contrast requirements",
    "category": "guidelines",
    "limit": 5
  }
}

search_chunks

Find specific information within content chunks for detailed answers.

Parameters:

  • query (string, required) - Search query
  • limit (number, optional) - Max chunks (default: 8)

Example:

{
  "name": "search_chunks",
  "arguments": {
    "query": "W3C DTCG design tokens specification",
    "limit": 3
  }
}

browse_by_category

Browse content organized by category.

Categories: components, tokens, patterns, guidelines, workflows, general

Parameters:

  • category (string, required) - Category to browse

get_all_tags

Get all available content tags for filtering and exploration.

API Examples

Direct API Testing

Health Check:

curl https://design-systems-mcp.southleft.com/health

MCP Tools List:

curl -X POST https://design-systems-mcp.southleft.com/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Search Query:

curl -X POST https://design-systems-mcp.southleft.com/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
      "name": "search_chunks",
      "arguments": {"query": "design tokens", "limit": 3}
    }
  }'

AI Chat Interface (streaming):

The /ai-chat endpoint returns a Server-Sent Events stream so content appears progressively. Each event is data: {"t": "<chunk>"}\n\n, terminated by event: done\ndata: {}\n\n.

curl -N -X POST https://design-systems-mcp.southleft.com/ai-chat \
  -H "Content-Type: application/json" \
  -d '{"message":"What are the WCAG 2.2 contrast requirements?"}'

The hosted web UI at / consumes this stream and renders markdown progressively.

Adding Content

Ingest Web Content

# Single URL
npm run ingest:url https://material.io/components/buttons

# Bulk from CSV
npm run ingest:csv urls.csv

# Crawl entire website
npm run crawl:website https://polaris.shopify.com --max-depth 3

Ingest PDF Content

npm run ingest:pdf path/to/design-guide.pdf

Generate Vector Embeddings

npm run ingest:vectors

See Content Ingestion Guide for detailed instructions.

Development

Available Scripts

  • npm run dev - Start local development server
  • npm run deploy - Deploy to Cloudflare Workers
  • npm run ingest:pdf <file> - Ingest PDF content
  • npm run ingest:url <url> - Ingest web content
  • npm run ingest:csv <file> - Bulk ingest from CSV
  • npm run crawl:website <url> - Crawl entire websites
  • npm run ingest:vectors - Generate embeddings for all content
  • npm run setup:supabase - Initialize Supabase database
  • npm run check:duplicates - Check for duplicate content

Project Structure

design-systems-mcp/
├── src/
│   ├── index.ts                    # Main MCP server, transports, tool dispatch, embedded chat UI
│   ├── sse-session.ts              # SSE transport (Durable Object)
│   ├── streamable-http-handler.ts  # Streamable HTTP transport (/mcp)
│   ├── oauth-handler.ts            # OAuth flow
│   └── lib/
│       ├── content-manager.ts      # Content management
│       ├── search-handler.ts       # Vector + keyword search dispatch
│       ├── vector-search.ts        # Supabase vector search
│       ├── source-authority.ts     # Reliability tiers & APG disclaimers
│       └── ... (chunker, formatters, ingestion helpers)
├── content/
│   ├── entries/              # Ingested content (JSON)
│   └── raw/                  # Raw source files
├── supabase/
│   └── migrations/           # SQL schema + RPC functions
├── scripts/
│   ├── ingestion/            # Content ingestion pipeline (URL, PDF, HTML, CSV, crawler)
│   └── build/                # Build helpers (manifest generation)
├── types/
│   └── content.ts           # TypeScript definitions
├── docs/                    # Additional documentation
├── wrangler.jsonc          # Cloudflare Workers config
└── .dev.vars              # Local environment variables

Deployment

Deploy to Cloudflare Workers

  1. Login to Cloudflare

    npx wrangler login
    
  2. Set Secrets

    npx wrangler secret put OPENAI_API_KEY
    npx wrangler secret put SUPABASE_URL
    npx wrangler secret put SUPABASE_SERVICE_KEY
    npx wrangler secret put SUPABASE_ANON_KEY
    
  3. Deploy

    npm run deploy
    

See Deployment Guide for detailed instructions.

Vector Search Architecture

This server uses Supabase for production-grade vector search:

  • Database: PostgreSQL with pgvector extension
  • Embeddings: OpenAI text-embedding-3-small (1536 dimensions)
  • Threshold: 0.15 for optimal recall
  • Hybrid Search: Combines semantic vectors with text matching
  • Performance: Sub-100ms queries with proper indexing

Statistics:

  • 188+ entries in production database
  • 761+ content chunks with embeddings
  • W3C standards, WCAG guidelines, design system documentation
  • Regular updates with new authoritative sources

See Vector Search Setup for architecture details.

Troubleshooting

Common Issues

Vector search not working:

  • Check Supabase credentials in environment variables
  • Verify database tables exist: npm run setup:supabase
  • Check logs: npx wrangler tail

Content not found:

  • Verify content exists: npm run check:duplicates
  • Check if embeddings generated: Look for embedding field in content entries
  • Test search locally: npm run dev and use curl commands

MCP connection fails:

  • Verify URL is correct and accessible
  • Check client supports remote MCP servers
  • Test with curl: curl https://design-systems-mcp.southleft.com/health
  • Restart MCP client after configuration changes

See Troubleshooting Guide for detailed solutions.

Documentation

License & Attribution

License: MIT License - Free for personal and commercial use

Content Attribution: This project compiles design systems knowledge from many brilliant creators. All original content remains the intellectual property of their respective authors.

  • See CREDITS.md for complete attribution
  • Always link back to original sources when sharing insights
  • Support original creators by visiting their websites

Security & Privacy

  • No sensitive data stored - Only public design system knowledge
  • Environment variables use Cloudflare secrets
  • Open source and auditable
  • Privacy-focused - No user data collection
  • Regular security updates

Report security issues to: GitHub Security

Contributing

We welcome contributions! Whether you want to:

  • Report bugs or issues
  • Suggest new features
  • Add more design system content
  • Improve the codebase
  • Enhance documentation

Please:

  1. Check existing issues
  2. Open a new issue to discuss
  3. Submit a pull request
  4. Follow contribution guidelines

Support

Acknowledgments

Thanks to the design systems community for sharing knowledge:

  • Brad Frost for Atomic Design methodology
  • W3C Design Tokens Community Group
  • Web Accessibility Initiative (WAI)
  • All design teams who openly share their work
  • The entire design systems community

See CREDITS.md for the complete list.


Built with ❤️ using Cloudflare Workers and the Model Context Protocol

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选