@symbo.ls/mcp 1.0.0 → 1.0.4

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.
@@ -0,0 +1,9 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(claude mcp remove symbols-mcp)",
5
+ "Bash(claude mcp add --scope global symbols-mcp /usr/local/bin/symbols-mcp)",
6
+ "WebFetch(domain:github.com)"
7
+ ]
8
+ }
9
+ }
package/README.md CHANGED
@@ -1,184 +1,80 @@
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 |
1
+ # symbols-mcp
2
+
3
+ mcp-name: io.github.symbo-ls/symbols-mcp
4
+
5
+ MCP server for [Symbols/DOMQL v3](https://symbols.so) — provides documentation search and framework reference tools for AI coding assistants (Cursor, Claude Code, Windsurf, etc.).
6
+
7
+ No API keys required. All tools work fully offline using bundled documentation.
39
8
 
40
9
  ---
41
10
 
42
- ## Installation
11
+ ## Tools
43
12
 
44
- ### Quick Start (No API Keys Required!)
13
+ - **`get_project_rules`** Returns mandatory Symbols/DOMQL v3 rules. Call this before any code generation task.
14
+ - **`search_symbols_docs`** — Keyword search across all bundled Symbols documentation files.
45
15
 
46
- 1. **Clone the repository**:
47
- ```bash
48
- git clone https://github.com/baronsilver/symbols-mcp-server.git
49
- cd symbols-mcp-server
50
- ```
16
+ ## Resources
51
17
 
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
18
+ - `symbols://skills/domql-v3-reference` — Complete DOMQL v3 syntax reference
19
+ - `symbols://skills/project-structure` — Project folder structure and file conventions
20
+ - `symbols://skills/design-direction` — UI/UX design direction
21
+ - `symbols://skills/migration-guide` — React/Angular/Vue → Symbols migration guide
22
+ - `symbols://skills/v2-to-v3-migration` — DOMQL v2 → v3 changes
23
+ - `symbols://skills/quickstart` — CLI quickstart
24
+ - `symbols://reference/spacing-tokens` — Spacing token reference
25
+ - `symbols://reference/atom-components` Built-in atom components
26
+ - `symbols://reference/event-handlers` — Event handler reference
60
27
 
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
- ```
28
+ ## Prompts
68
29
 
69
- ## Platform Integration
30
+ - `symbols_component_prompt` — Template for generating a component
31
+ - `symbols_migration_prompt` — Template for migrating framework code
32
+ - `symbols_project_prompt` — Template for scaffolding a full project
33
+ - `symbols_review_prompt` — Template for reviewing Symbols code
70
34
 
71
- ### Claude Code
35
+ ---
36
+
37
+ ## Installation
72
38
 
73
39
  ```bash
74
- claude mcp add symbols-mcp -- uv run --directory C:\repos\symbols-mcp-server symbols-mcp
40
+ pip install symbols-mcp
75
41
  ```
76
42
 
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
- }
43
+ Or with `uv`:
44
+
45
+ ```bash
46
+ uvx symbols-mcp
94
47
  ```
95
48
 
96
- ### Cursor
49
+ ## Configuration
97
50
 
98
- Add to your Cursor MCP settings (`.cursor/mcp.json` in your project or global settings):
51
+ Add to your MCP client config (e.g. `mcp.json`):
99
52
 
100
53
  ```json
101
54
  {
102
55
  "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
- ]
56
+ "symbols": {
57
+ "command": "uvx",
58
+ "args": ["symbols-mcp"]
113
59
  }
114
60
  }
115
61
  }
116
62
  ```
117
63
 
118
- ### Windsurf
64
+ ### Custom skills directory
119
65
 
120
- Add to `~/.codeium/windsurf/mcp_config.json`:
66
+ To point at a different skills folder:
121
67
 
122
68
  ```json
123
69
  {
124
70
  "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
- ]
71
+ "symbols": {
72
+ "command": "uvx",
73
+ "args": ["symbols-mcp"],
74
+ "env": {
75
+ "SYMBOLS_SKILLS_DIR": "/path/to/your/skills"
76
+ }
135
77
  }
136
78
  }
137
79
  }
138
80
  ```
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
-
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env node
2
+ const { spawn } = require('child_process')
3
+ const { execSync } = require('child_process')
4
+
5
+ let cmd, args
6
+
7
+ try {
8
+ execSync('uvx --version', { stdio: 'ignore' })
9
+ cmd = 'uvx'
10
+ args = ['symbols-mcp']
11
+ } catch {
12
+ cmd = 'python3'
13
+ args = ['-m', 'symbols_mcp.server']
14
+ }
15
+
16
+ const child = spawn(cmd, args, { stdio: 'inherit' })
17
+ child.on('exit', code => process.exit(code ?? 0))
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env bash
2
+ set -e
3
+
4
+ # Install mcpb CLI if needed
5
+ if ! command -v mcpb &> /dev/null; then
6
+ echo "Installing mcpb..."
7
+ npm install -g @modelcontextprotocol/mcpb
8
+ fi
9
+
10
+ # Sync version from pyproject.toml into manifest.json
11
+ VERSION=$(grep '^version' pyproject.toml | head -1 | sed 's/version = "\(.*\)"/\1/')
12
+ sed -i '' "s/\"version\": \".*\"/\"version\": \"$VERSION\"/" manifest.json
13
+
14
+ # Pack the .mcpb bundle
15
+ mcpb pack
16
+
17
+ echo "Generated symbols-mcp-${VERSION}.mcpb"
package/manifest.json ADDED
@@ -0,0 +1,64 @@
1
+ {
2
+ "manifest_version": "0.3",
3
+ "name": "symbols-mcp",
4
+ "display_name": "Symbols MCP",
5
+ "version": "1.0.3",
6
+ "description": "MCP server for Symbols/DOMQL v3 — documentation search and framework reference",
7
+ "author": {
8
+ "name": "Symbols",
9
+ "url": "https://symbols.so"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/symbo-ls/symbols-mcp.git"
14
+ },
15
+ "homepage": "https://symbols.so",
16
+ "documentation": "https://github.com/symbo-ls/symbols-mcp",
17
+ "support": "https://github.com/symbo-ls/symbols-mcp/issues",
18
+ "keywords": ["symbols", "domql", "mcp", "design-system", "ai"],
19
+ "license": "MIT",
20
+ "server": {
21
+ "type": "python",
22
+ "mcp_config": {
23
+ "command": "uvx",
24
+ "args": ["symbols-mcp"]
25
+ }
26
+ },
27
+ "tools": [
28
+ {
29
+ "name": "get_project_rules",
30
+ "description": "Returns mandatory Symbols/DOMQL v3 rules. Call this first before any code generation."
31
+ },
32
+ {
33
+ "name": "search_symbols_docs",
34
+ "description": "Search the Symbols documentation knowledge base for relevant information."
35
+ }
36
+ ],
37
+ "prompts": [
38
+ {
39
+ "name": "symbols_component_prompt",
40
+ "description": "Generate a Symbols/DOMQL v3 component",
41
+ "arguments": ["description", "component_name"]
42
+ },
43
+ {
44
+ "name": "symbols_migration_prompt",
45
+ "description": "Migrate React/Angular/Vue code to Symbols/DOMQL v3",
46
+ "arguments": ["source_framework"]
47
+ },
48
+ {
49
+ "name": "symbols_project_prompt",
50
+ "description": "Scaffold a complete Symbols project",
51
+ "arguments": ["description"]
52
+ },
53
+ {
54
+ "name": "symbols_review_prompt",
55
+ "description": "Review Symbols/DOMQL code for v3 compliance"
56
+ }
57
+ ],
58
+ "compatibility": {
59
+ "platforms": ["darwin", "win32", "linux"],
60
+ "runtimes": {
61
+ "python": ">=3.10"
62
+ }
63
+ }
64
+ }
package/package.json CHANGED
@@ -1,20 +1,15 @@
1
1
  {
2
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"
3
+ "version": "1.0.4",
4
+ "description": "MCP server for Symbols/DOMQL v3 — documentation search and framework reference",
5
+ "mcpName": "io.github.symbo-ls/symbols-mcp",
6
+ "bin": {
7
+ "symbols-mcp": "./bin/symbols-mcp.js"
8
8
  },
9
9
  "repository": {
10
10
  "type": "git",
11
- "url": "git+https://github.com/symbo-ls/symbols-mcp-server.git"
11
+ "url": "https://github.com/symbo-ls/symbols-mcp.git"
12
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"
13
+ "keywords": ["mcp", "symbols", "domql", "ai", "claude"],
14
+ "license": "MIT"
20
15
  }
package/publish.sh ADDED
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env bash
2
+ set -e
3
+
4
+ # Usage: ./publish.sh [patch|minor|major|x.y.z]
5
+ # Stores PyPI token in .pypi_token (gitignored)
6
+
7
+ BUMP=${1:-patch}
8
+
9
+ # Read current version from pyproject.toml
10
+ CURRENT=$(grep '^version' pyproject.toml | head -1 | sed 's/version = "\(.*\)"/\1/')
11
+ IFS='.' read -r MAJOR MINOR PATCH <<< "$CURRENT"
12
+
13
+ case "$BUMP" in
14
+ patch) NEW="$MAJOR.$MINOR.$((PATCH + 1))" ;;
15
+ minor) NEW="$MAJOR.$((MINOR + 1)).0" ;;
16
+ major) NEW="$((MAJOR + 1)).0.0" ;;
17
+ *.*.*) NEW="$BUMP" ;;
18
+ *) echo "Usage: $0 [patch|minor|major|x.y.z]"; exit 1 ;;
19
+ esac
20
+
21
+ echo "Bumping $CURRENT → $NEW"
22
+
23
+ # Update versions
24
+ sed -i '' "s/^version = \"$CURRENT\"/version = \"$NEW\"/" pyproject.toml
25
+ sed -i '' "s/\"version\": \"$CURRENT\"/\"version\": \"$NEW\"/g" server.json
26
+ sed -i '' "s/\"version\": \"$CURRENT\"/\"version\": \"$NEW\"/" package.json
27
+
28
+ # Build Python package
29
+ rm -f dist/symbols_mcp-${CURRENT}*
30
+ uv build
31
+
32
+ # Publish to PyPI
33
+ if [ -f .pypi_token ]; then
34
+ TOKEN=$(cat .pypi_token)
35
+ else
36
+ read -rsp "PyPI token: " TOKEN; echo
37
+ fi
38
+ uv publish --token "$TOKEN"
39
+
40
+ # Publish to npm
41
+ chmod +x bin/symbols-mcp.js
42
+ npm publish --access public
43
+
44
+ # Generate .mcpb bundle
45
+ ./generate-mcpb.sh
46
+
47
+ # Publish to MCP registry
48
+ echo "Publishing to MCP registry..."
49
+ mcp-publisher publish
50
+
51
+ echo "Done! Published symbols-mcp $NEW"
package/pyproject.toml CHANGED
@@ -1,17 +1,11 @@
1
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"
2
+ name = "symbols-mcp"
3
+ version = "1.0.4"
4
+ description = "MCP server for Symbols/DOMQL v3 documentation search and framework reference"
5
+ readme = "README.md"
5
6
  requires-python = ">=3.10"
6
7
  dependencies = [
7
8
  "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
9
  ]
16
10
 
17
11
  [project.scripts]
package/server.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
+ "name": "io.github.symbo-ls/symbols-mcp",
4
+ "version": "1.0.4",
5
+ "title": "Symbols MCP",
6
+ "description": "MCP server for Symbols/DOMQL v3 — documentation search and framework reference",
7
+ "repository": {
8
+ "url": "https://github.com/symbo-ls/symbols-mcp",
9
+ "source": "github"
10
+ },
11
+ "packages": [
12
+ {
13
+ "registryType": "pypi",
14
+ "registryBaseUrl": "https://pypi.org",
15
+ "identifier": "symbols-mcp",
16
+ "version": "1.0.4",
17
+ "runtimeHint": "uvx",
18
+ "transport": {
19
+ "type": "stdio"
20
+ }
21
+ },
22
+ {
23
+ "registryType": "npm",
24
+ "identifier": "@symbo.ls/mcp",
25
+ "version": "1.0.4",
26
+ "runtimeHint": "npx",
27
+ "transport": {
28
+ "type": "stdio"
29
+ }
30
+ }
31
+ ]
32
+ }
@@ -1 +1 @@
1
- # Symbols MCP Server
1
+ # Symbols MCP