MCP server for Symbols.app β documentation search and framework reference
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
mcp-name: io.github.symbo-ls/symbols-mcp
MCP server for Symbols.app β provides documentation search, code generation, conversion, auditing, project management, publishing/deployment, and CLI/SDK reference tools for AI coding assistants (Cursor, Claude Code, Windsurf, claude.ai, etc.).
Targets the modern smbls stack β flat element API, signal-based reactivity, declarative fetch: (@symbo.ls/fetch), polyglot translations (@symbo.ls/polyglot), helmet metadata (@symbo.ls/helmet), SPA routing via el.router(...), theme via @symbo.ls/scratch, and SSR via @symbo.ls/brender.
No API keys required for documentation tools. Project management tools require a Symbols account (login or API key).
| Tool | Description |
|---|---|
get_project_context | CALL FIRST. Walks up from cwd to find symbols.json, returns owner, key, dir, bundler, sharedLibraries, brender, env_type (local/cdn/json_runtime/remote_server), env_evidence, env_guidance, token_present, and a next_step hint telling the agent what to do (ask user, log in, or proceed). Replaces the older detect_environment for new code. |
get_project_rules | Mandatory ruleset. No arguments β compact CORE bundle (reuse directive + RULES essentials + every STRICT rule + frankability checklist + section index + next-step table, <80K chars β fits every client's tool-output cap). section="SYNTAX" (or COMPONENTS, FRANKABILITY, RULES + part=N, β¦ 16 sections) fetches one section per call. full=true β legacy ~590K one-shot (capless clients only). Call before any code generation task. |
get_cli_reference | Complete Symbols CLI (@symbo.ls/cli) command reference. |
get_sdk_reference | Complete Symbols SDK (@symbo.ls/sdk) API reference. |
search_symbols_docs | Keyword search across all bundled Symbols documentation files. |
detect_environment | [Legacy] Caller-supplied flags variant of env classification. Prefer get_project_context. |
| Tool | Description |
|---|---|
generate_component | Generate a DOMQL component from a natural language description. Returns prompt + bundled context (β300K chars). |
generate_page | Generate a full page with routing, helmet metadata, and declarative fetch: integration. |
convert_react | Convert React/JSX code to Symbols DOMQL (modern smbls stack). |
convert_html | Convert raw HTML/CSS to Symbols DOMQL components. |
convert_to_json | Convert DOMQL JS source to platform JSON (mirrors frank's toJSON pipeline). Use after generate_component / generate_page to feed save_to_project. |
| Tool | Description |
|---|---|
audit_component | Inline VALIDATOR for a single component string. Returns violations + warnings (β1K chars). Use during generation. Pass include_playbook=True to also dump the AUDIT.md playbook. |
audit_project | Returns the multi-phase project audit PLAYBOOK (instructions for the agent β Phase 0 setup β Phase 5 report). Pair with bin/symbols-audit.cjs CLI for the static-audit phase. |
For filesystem-wide audits the package ships a CLI: npx -y @symbo.ls/mcp symbols-audit <symbols-dir> (strict by default, exit 1 on findings). Under the hood it runs frank-audit audit --strict β the audit core is now @symbo.ls/frank-audit, the AST-based engine that owns the canonical 59-rule registry, prescription generation, and verify-or-rollback fixers.
lib/audit.js is preserved as a backward-compat shim that delegates to frank-audit (subprocess CLI, or the /audit-content HTTP endpoint when FRANK_AUDIT_URL is set). The legacy programmatic API stays callable for non-CLI consumers (the @symbo.ls/cli, the MCP HTTP worker, web/edge clients):
Findings drift vs the old regex output is expected and correct β frank-audit detects more issues with higher accuracy. Field names stay the same (file, line, rule, severity, category, snippet, suggested_fix). To inspect the rule registry, query frank-audit directly: npx frank-audit explain <id>.
| Tool | Description |
|---|---|
login | Log in to Symbols platform β returns a JWT token. |
list_projects | List the user's projects (names, keys, IDs) to choose from. |
create_project | Create a new Symbols project on the platform. |
get_project | Get a project's current data (components, pages, design system, state). |
save_to_project | Save components/pages/data to a project β creates a new version with change tuples, granular changes, orders, and auto-generated schema entries. |
publish | Publish a version (make it live). |
push | Deploy a project to an environment (production, staging, dev). |
| URI | Description |
|---|---|
symbols://skills/framework | Authoritative framework reference β project structure, plugins, theming, SSR, publish pipeline (mirrors smbls/FOR_MCP.md) |
symbols://skills/rules | 62 strict rules for AI agents working in Symbols/DOMQL projects |
symbols://skills/syntax | Complete DOMQL syntax language reference (flat API, signal reactivity) |
symbols://skills/modern-stack | Modern smbls stack β fetch, polyglot, helmet (full metadata catalog), router, scratch theme runtime, brender SSR |
symbols://skills/components | DOMQL component reference (flat props on element, flat onX events) |
symbols://skills/project-structure | Project folder structure and file conventions |
symbols://skills/shared-libraries | sharedLibraries pattern β config, runtime merge, precedence |
symbols://skills/design-system | Design system contract + token catalog (colors, theme, typography, spacing, etc.) |
symbols://skills/design | UI/UX direction + design-to-code translator + 7 specialist personas (consolidated) |
symbols://skills/patterns | UI patterns, accessibility, AI optimization |
symbols://skills/migration | Migration guide for legacy projects + React/Angular/Vue β Symbols |
symbols://skills/audit | Full audit playbook (Phase 0β5, executable end-to-end) |
symbols://skills/common-mistakes | Wrong vs correct DOMQL patterns with zero-tolerance enforcement |
symbols://skills/frankability | Patterns that survive frank.toJSON β every @symbo.ls/frank-audit rule with wrong vs canonical examples |
symbols://skills/learnings | Framework internals, technical gotchas, deep runtime knowledge |
symbols://skills/cookbook | Cookbook of small reactive recipes (toggle, fetch, modal, tabs, etc.) |
symbols://skills/snippets | Production-ready component snippets (nav, hero, pricing card, footer, etc.) |
symbols://skills/default-project | Default starter β library catalog (127+ components) + pre-configured design system tokens |
symbols://skills/default-components | Complete source code of 130+ default template components (heavy reference, on demand) |
symbols://skills/running-apps | 4 ways to run Symbols apps (local, CDN, JSON, remote) |
symbols://skills/cli | Symbols CLI (@symbo.ls/cli) complete command reference |
symbols://skills/sdk | Symbols SDK (@symbo.ls/sdk) complete API reference |
| URI | Description |
|---|---|
symbols://reference/spacing-tokens | Spacing token table (golden-ratio scale) |
symbols://reference/atom-components | Built-in atom/primitive components |
symbols://reference/event-handlers | Event handler signatures and patterns |
| Prompt | Description |
|---|---|
symbols_component_prompt | Generate a component from a description |
symbols_migration_prompt | Migrate code from React/Angular/Vue |
symbols_project_prompt | Scaffold a complete project |
symbols_review_prompt | Review code for compliance |
symbols_convert_html_prompt | Convert HTML/CSS to DOMQL |
symbols_design_review_prompt | Visual/design audit against the design system |
Two commands and a one-line config β works for every major MCP client.
Pick whichever runtime you have:
The standard MCP config snippet (works for Claude Code, Claude Desktop, Cursor, Windsurf, Cline, Continue, Zed, Goose, Gemini CLI β wrap it in whatever shape that editor expects):
--refresh pulls the latest from PyPI on every launch (~1β2s startup tax β drop it for pinned/offline runs).
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/symbols-mcp)<a href="https://allmcps.com/mcp/symbols-mcp"><img src="https://allmcps.com/api/badge/symbols-mcp?style=directory" alt="Symbols MCP on AllMCPs" /></a>