Symbols.app MCP — docs, code generation, publishing, CLI/SDK reference
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"symbols": {
"args": [
"--refresh",
"symbols-mcp"
],
"command": "uvx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
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.).
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y '@symbo.ls/mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked @symbo.ls/mcp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in developer-tools
A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
Copy/paste detector for programming source code, supports 223 formats. AI-ready with token-efficient reporter, skill and MCP server.
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
Manage Supabase projects — databases, auth, storage, and edge functions
MCP Security Weekly
Get CVE alerts and security updates for io.github.symbo-ls/symbols-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
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 | Bundled mandatory ruleset (FRAMEWORK + DESIGN_SYSTEM + RULES + DEFAULT_PROJECT, ≈180K chars). 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 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):
const {
auditContent, // audit one component string (delegates to frank-audit)
auditFiles, // audit a list of {path, content}
auditDirectory, // walk a symbols/ dir via `frank-audit audit <dir>`
mergeFindings, // preserve status across runs
summarize, // breakdown by severity / category / origin
} = require('@symbo.ls/mcp/lib/audit')
Fi