@symbo.ls/mcp 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/.env.example +16 -0
  2. package/.env.railway +13 -0
  3. package/LICENSE +21 -0
  4. package/README.md +184 -0
  5. package/mcp.json +57 -0
  6. package/package.json +20 -0
  7. package/pyproject.toml +25 -0
  8. package/railway.toml +26 -0
  9. package/run.sh +17 -0
  10. package/symbols_mcp/__init__.py +1 -0
  11. package/symbols_mcp/server.py +1114 -0
  12. package/symbols_mcp/skills/ACCESSIBILITY.md +471 -0
  13. package/symbols_mcp/skills/ACCESSIBILITY_AUDITORY.md +70 -0
  14. package/symbols_mcp/skills/AGENT_INSTRUCTIONS.md +257 -0
  15. package/symbols_mcp/skills/BRAND_INDENTITY.md +69 -0
  16. package/symbols_mcp/skills/BUILT_IN_COMPONENTS.md +304 -0
  17. package/symbols_mcp/skills/CLAUDE.md +2158 -0
  18. package/symbols_mcp/skills/CLI_QUICK_START.md +205 -0
  19. package/symbols_mcp/skills/DESIGN_CRITIQUE.md +64 -0
  20. package/symbols_mcp/skills/DESIGN_DIRECTION.md +320 -0
  21. package/symbols_mcp/skills/DESIGN_SYSTEM_ARCHITECT.md +64 -0
  22. package/symbols_mcp/skills/DESIGN_SYSTEM_CONFIG.md +487 -0
  23. package/symbols_mcp/skills/DESIGN_SYSTEM_IN_PROPS.md +136 -0
  24. package/symbols_mcp/skills/DESIGN_TO_CODE.md +64 -0
  25. package/symbols_mcp/skills/DESIGN_TREND.md +50 -0
  26. package/symbols_mcp/skills/DOMQL_v2-v3_MIGRATION.md +236 -0
  27. package/symbols_mcp/skills/FIGMA_MATCHING.md +63 -0
  28. package/symbols_mcp/skills/GARY_TAN.md +80 -0
  29. package/symbols_mcp/skills/MARKETING_ASSETS.md +66 -0
  30. package/symbols_mcp/skills/MIGRATE_TO_SYMBOLS.md +614 -0
  31. package/symbols_mcp/skills/QUICKSTART.md +79 -0
  32. package/symbols_mcp/skills/SYMBOLS_LOCAL_INSTRUCTIONS.md +1405 -0
  33. package/symbols_mcp/skills/THE_PRESENTATION.md +69 -0
  34. package/symbols_mcp/skills/UI_UX_PATTERNS.md +68 -0
  35. package/windsurf-mcp-config.json +18 -0
package/.env.example ADDED
@@ -0,0 +1,16 @@
1
+ # OPTION 1: Use public MCP server (no API key needed - easiest for users)
2
+ # Contact the maintainer for the public server URL
3
+ SYMBOLS_MCP_URL=your_mcp_server_url_here
4
+
5
+ # OPTION 2: Use your own OpenRouter API key (for advanced users)
6
+ # OPENROUTER_API_KEY=your_openrouter_api_key_here
7
+
8
+ # Optional — Supabase for vector search (falls back to local skills search if not set)
9
+ # SUPABASE_URL=your_supabase_url_here
10
+ # SUPABASE_KEY=your_supabase_key_here
11
+
12
+ # Optional — AI model to use (default: openai/gpt-4.1-mini)
13
+ # LLM_MODEL=openai/gpt-4.1-mini
14
+
15
+ # Optional — Path to skills directory (defaults to bundled skills)
16
+ # SYMBOLS_SKILLS_DIR=C:\repos\symbols\skills
package/.env.railway ADDED
@@ -0,0 +1,13 @@
1
+ # Railway Environment Variables
2
+ RAILWAY_ENVIRONMENT=production
3
+ PORT=8080
4
+
5
+ # Required — OpenRouter API key (add in Railway dashboard)
6
+ OPENROUTER_API_KEY=your_openrouter_api_key_here
7
+
8
+ # Optional — Supabase for vector search (add in Railway dashboard)
9
+ SUPABASE_URL=your_supabase_url_here
10
+ SUPABASE_KEY=your_supabase_key_here
11
+
12
+ # Optional — AI model (add in Railway dashboard)
13
+ LLM_MODEL=openai/gpt-5.2-codex
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 baronsilver
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,184 @@
1
+ # Symbols MCP Server
2
+
3
+ An MCP (Model Context Protocol) server that exposes the Symbols/DOMQL v3 AI assistant capabilities to any MCP-compatible platform — **Cursor**, **Claude Code**, **Windsurf**, and more.
4
+
5
+ ## Features
6
+
7
+ ### Tools
8
+ | Tool | Description |
9
+ |------|-------------|
10
+ | `generate_component` | Generate a Symbols/DOMQL v3 component from natural language |
11
+ | `generate_page` | Generate a full page with routing support |
12
+ | `generate_project` | Scaffold a complete multi-file Symbols project |
13
+ | `convert_to_symbols` | Convert React/Angular/Vue/HTML to Symbols/DOMQL v3 |
14
+ | `search_symbols_docs` | Search Symbols documentation (vector or local) |
15
+ | `explain_symbols_concept` | Explain any Symbols concept with examples |
16
+ | `review_symbols_code` | Review code for v3 compliance and best practices |
17
+ | `create_design_system` | Generate design system files (colors, spacing, themes, icons) |
18
+
19
+ ### Resources
20
+ | Resource URI | Description |
21
+ |-------------|-------------|
22
+ | `symbols://skills/domql-v3-reference` | Complete DOMQL v3 syntax reference |
23
+ | `symbols://skills/project-structure` | Project folder structure conventions |
24
+ | `symbols://skills/design-direction` | Modern UI/UX design direction |
25
+ | `symbols://skills/migration-guide` | React/Angular/Vue → Symbols migration |
26
+ | `symbols://skills/v2-to-v3-migration` | DOMQL v2 → v3 changes |
27
+ | `symbols://skills/quickstart` | CLI setup and quickstart |
28
+ | `symbols://reference/spacing-tokens` | Spacing token reference table |
29
+ | `symbols://reference/atom-components` | Built-in primitive components |
30
+ | `symbols://reference/event-handlers` | Event handler reference |
31
+
32
+ ### Prompts
33
+ | Prompt | Description |
34
+ |--------|-------------|
35
+ | `symbols_component_prompt` | Template for component generation |
36
+ | `symbols_migration_prompt` | Template for framework migration |
37
+ | `symbols_project_prompt` | Template for project scaffolding |
38
+ | `symbols_review_prompt` | Template for code review |
39
+
40
+ ---
41
+
42
+ ## Installation
43
+
44
+ ### Quick Start (No API Keys Required!)
45
+
46
+ 1. **Clone the repository**:
47
+ ```bash
48
+ git clone https://github.com/baronsilver/symbols-mcp-server.git
49
+ cd symbols-mcp-server
50
+ ```
51
+
52
+ 2. **Install dependencies**:
53
+ ```bash
54
+ pip install uv
55
+ uv sync
56
+ npm i @symbo.ls/cli -g
57
+ smbls create your-project
58
+ ```
59
+ IMPORTANT: For now, delete the docs folder inside your project folder after creation
60
+
61
+ 3. **Configure**:
62
+ ```bash
63
+ cp .env.example .env
64
+ # Edit .env and add both:
65
+ # - SYMBOLS_MCP_URL (contact maintainer for public server URL)
66
+ # - LLM_MODEL=google/gemini-3-flash-preview
67
+ ```
68
+
69
+ ## Platform Integration
70
+
71
+ ### Claude Code
72
+
73
+ ```bash
74
+ claude mcp add symbols-mcp -- uv run --directory C:\repos\symbols-mcp-server symbols-mcp
75
+ ```
76
+
77
+ Or manually edit `~/UserName/.claude.json`:
78
+ ```json
79
+ {
80
+ "mcpServers": {
81
+ "symbols-mcp": {
82
+ "command": "python",
83
+ "args": [
84
+ "-m",
85
+ "uv",
86
+ "run",
87
+ "--directory",
88
+ "C:\\repos\\symbols-mcp-server",
89
+ "symbols-mcp"
90
+ ]
91
+ }
92
+ }
93
+ }
94
+ ```
95
+
96
+ ### Cursor
97
+
98
+ Add to your Cursor MCP settings (`.cursor/mcp.json` in your project or global settings):
99
+
100
+ ```json
101
+ {
102
+ "mcpServers": {
103
+ "symbols-mcp": {
104
+ "command": "python",
105
+ "args": [
106
+ "-m",
107
+ "uv",
108
+ "run",
109
+ "--directory",
110
+ "C:\\repos\\symbols-mcp-server",
111
+ "symbols-mcp"
112
+ ]
113
+ }
114
+ }
115
+ }
116
+ ```
117
+
118
+ ### Windsurf
119
+
120
+ Add to `~/.codeium/windsurf/mcp_config.json`:
121
+
122
+ ```json
123
+ {
124
+ "mcpServers": {
125
+ "symbols-mcp": {
126
+ "command": "python",
127
+ "args": [
128
+ "-m",
129
+ "uv",
130
+ "run",
131
+ "--directory",
132
+ "C:\\repos\\symbols-mcp-server",
133
+ "symbols-mcp"
134
+ ]
135
+ }
136
+ }
137
+ }
138
+ ```
139
+
140
+
141
+ ## Development
142
+
143
+ Restart your platforms after updating the MCP settings. Once loaded, it should automatically run the MCP. Ask your AI to do the quick test with the MCP to see if it works properly.
144
+
145
+ ---
146
+
147
+ ## Environment Variables
148
+
149
+ | Variable | Required | Default | Description |
150
+ |----------|----------|---------|-------------|
151
+ | `OPENROUTER_API_KEY` | **Yes** | — | API key for OpenRouter (powers AI generation) |
152
+ | `SUPABASE_URL` | No | — | Supabase project URL for vector search |
153
+ | `SUPABASE_KEY` | No | — | Supabase service role key |
154
+ | `LLM_MODEL` | No | `openai/gpt-4.1-mini` | AI model to use via OpenRouter |
155
+ | `SYMBOLS_SKILLS_DIR` | No | `./symbols_mcp/skills` | Path to skills markdown files |
156
+
157
+ ---
158
+
159
+ ## Architecture
160
+
161
+ ```
162
+ symbols-mcp-server/
163
+ ├── pyproject.toml # Project config and dependencies
164
+ ├── .env.example # Environment variable template
165
+ ├── README.md # This file
166
+ └── symbols_mcp/
167
+ ├── __init__.py
168
+ ├── server.py # MCP server with tools, resources, prompts
169
+ └── skills/ # Bundled Symbols knowledge base
170
+ ├── CLAUDE.md # DOMQL v3 complete reference
171
+ ├── SYMBOLS_LOCAL_INSTRUCTIONS.md # Project structure rules
172
+ ├── DESIGN_DIRECTION.md # UI/UX design direction
173
+ ├── MIGRATE_TO_SYMBOLS.md # Framework migration guide
174
+ ├── DOMQL_v2-v3_MIGRATION.md # v2→v3 changes
175
+ └── QUICKSTART.md # CLI quickstart
176
+ ```
177
+
178
+ The server reads skills files at startup and uses them as context for all AI-powered tools.
179
+ When Supabase is configured, the `search_symbols_docs` tool also queries the vector database
180
+ for additional documentation matches.
181
+
182
+ ---
183
+
184
+
package/mcp.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "symbols-mcp",
3
+ "version": "1.0.0",
4
+ "description": "AI-powered assistant for the Symbols design-system framework. Generates DOMQL v3 components, pages, and full projects; converts React/Angular/Vue code to Symbols; searches Symbols documentation; and provides comprehensive framework reference.",
5
+ "author": "baronsilver",
6
+ "license": "MIT",
7
+ "homepage": "https://github.com/baronsilver/symbols-mcp-server",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/baronsilver/symbols-mcp-server.git"
11
+ },
12
+ "capabilities": {
13
+ "tools": [
14
+ {
15
+ "name": "generate_component",
16
+ "description": "Generate a Symbols/DOMQL v3 component from a natural-language description"
17
+ },
18
+ {
19
+ "name": "generate_page",
20
+ "description": "Generate a Symbols/DOMQL v3 page with routing support"
21
+ },
22
+ {
23
+ "name": "generate_project",
24
+ "description": "Generate a complete multi-file Symbols/DOMQL v3 project structure"
25
+ },
26
+ {
27
+ "name": "convert_to_symbols",
28
+ "description": "Convert React, Angular, Vue, or HTML code to Symbols/DOMQL v3 format"
29
+ },
30
+ {
31
+ "name": "search_symbols_docs",
32
+ "description": "Search the Symbols documentation knowledge base for relevant information"
33
+ },
34
+ {
35
+ "name": "explain_symbols_concept",
36
+ "description": "Explain a Symbols/DOMQL concept with examples (state, routing, events, design tokens, etc.)"
37
+ },
38
+ {
39
+ "name": "review_symbols_code",
40
+ "description": "Review Symbols/DOMQL code for correctness, best practices, and v3 compliance"
41
+ },
42
+ {
43
+ "name": "create_design_system",
44
+ "description": "Generate Symbols design system files (colors, spacing, typography, theme, icons)"
45
+ }
46
+ ],
47
+ "resources": 9,
48
+ "prompts": 4
49
+ },
50
+ "installation": {
51
+ "command": "python",
52
+ "args": ["-m", "uv", "run", "--directory", "{INSTALL_DIR}", "symbols-mcp"],
53
+ "env": {
54
+ "OPENROUTER_API_KEY": "required"
55
+ }
56
+ }
57
+ }
package/package.json ADDED
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "@symbo.ls/mcp",
3
+ "version": "1.0.0",
4
+ "description": "An MCP (Model Context Protocol) server that exposes the Symbols/DOMQL v3 AI assistant capabilities to any MCP-compatible platform — **Cursor**, **Claude Code**, **Windsurf**, and more.",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/symbo-ls/symbols-mcp-server.git"
12
+ },
13
+ "keywords": [],
14
+ "author": "",
15
+ "license": "ISC",
16
+ "bugs": {
17
+ "url": "https://github.com/symbo-ls/symbols-mcp-server/issues"
18
+ },
19
+ "homepage": "https://github.com/symbo-ls/symbols-mcp-server#readme"
20
+ }
package/pyproject.toml ADDED
@@ -0,0 +1,25 @@
1
+ [project]
2
+ name = "symbols-mcp-server"
3
+ version = "1.0.0"
4
+ description = "MCP server for the Symbols AI assistant - provides DOMQL/Symbols code generation, migration, and documentation tools"
5
+ requires-python = ">=3.10"
6
+ dependencies = [
7
+ "mcp[cli]>=1.9.0",
8
+ "httpx[http2]>=0.27.0",
9
+ "python-dotenv>=1.0.0",
10
+ "pydantic>=2.0.0",
11
+ "fastapi>=0.104.0",
12
+ "uvicorn[standard]>=0.24.0",
13
+ "flask>=3.0.0",
14
+ "flask-cors>=4.0.0",
15
+ ]
16
+
17
+ [project.scripts]
18
+ symbols-mcp = "symbols_mcp.server:main"
19
+
20
+ [tool.hatch.build.targets.wheel]
21
+ packages = ["symbols_mcp"]
22
+
23
+ [build-system]
24
+ requires = ["hatchling"]
25
+ build-backend = "hatchling.build"
package/railway.toml ADDED
@@ -0,0 +1,26 @@
1
+ [build]
2
+ builder = "NIXPACKS"
3
+ nixpacksPlan = { providers = ["python"] }
4
+
5
+ [deploy]
6
+ startCommand = "python -m symbols_mcp.server"
7
+ healthcheckPath = "/health"
8
+ healthcheckTimeout = 100
9
+ restartPolicyType = "ON_FAILURE"
10
+ restartPolicyMaxRetries = 10
11
+
12
+ [[services]]
13
+ name = "symbols-mcp"
14
+ source = "."
15
+
16
+ [services.variables]
17
+ PORT = "8080"
18
+ PYTHON_VERSION = "3.11"
19
+ RAILWAY_ENVIRONMENT = "production"
20
+
21
+ # Environment variables should be set in Railway dashboard
22
+ # Do not reference them here to avoid secret detection
23
+
24
+ [[services.ports]]
25
+ port = 8080
26
+ protocol = "HTTP"
package/run.sh ADDED
@@ -0,0 +1,17 @@
1
+ #!/bin/bash
2
+ # Wrapper script for running symbols-mcp server
3
+
4
+ # Check if Python is available
5
+ if ! command -v python &> /dev/null; then
6
+ echo "Error: Python is not installed"
7
+ exit 1
8
+ fi
9
+
10
+ # Check if uv is available
11
+ if ! command -v uv &> /dev/null; then
12
+ echo "Installing uv..."
13
+ pip install uv
14
+ fi
15
+
16
+ # Run the MCP server
17
+ exec python -m uv run symbols-mcp
@@ -0,0 +1 @@
1
+ # Symbols MCP Server