symbols — Claude Code MCP server: code symbol navigation
Hooks a Language Server into your coding agent so it can read symbols, references and diagnostics. Useful once plain text search stops being enough.
claude mcp add symbols -- npx -y @p1va/symbolsWhat symbols does
symbols is an MCP server that connects a coding agent to a Language Server for the language you use. The agent gets a file outline, the declaration and implementation locations for a symbol, every reference to it, and incoming plus outgoing calls. Third-party dependencies are covered too, not just your own code.
The tool set is small on purpose: outline, inspect, search, references, call_hierarchy, rename, diagnostics, completion and reload. Resources expose the configured servers and their state at language-servers://profiles, with per-server logs under language-servers://profiles/{name}/logs. Two skills ship alongside — install-language-server and language-server-navigation — one sets up a profile for the current workspace, the other steers the agent toward symbol tools before it falls back to text search.
It runs through npx, so Node.js and npm access are required. Nothing works until a Language Server profile exists for your language, so set that up first. And rename rewrites every reference at once, which is a good reason to run it on a clean branch.
What it helps with
- find every call site before renaming a function
- get a file outline instead of reading the whole file
- trace where a compiler error in a file comes from
- see the declaration and implementation of a third-party method
- follow a call chain before refactoring
Example prompts for the agent
- Show me the outline of
src/server.tswith symbols - Find all references to
parseConfigin this project - Rename
oldHandlertohandleRequestacross the codebase
How to install symbols
Platform CLI
claude mcp add symbols -- npx -y @p1va/symbolsPlatform CLI
codex mcp add symbols -- npx -y @p1va/symbolsConfig file
{
"mcpServers": {
"symbols": {
"command": "npx",
"args": [
"-y",
"@p1va/symbols"
]
}
}
}Config file
{
"servers": {
"symbols": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@p1va/symbols"
]
}
}
}Platform CLI
gemini mcp add symbols npx -y @p1va/symbolsStep by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about symbols
How do I install symbols in Claude Code?
Run claude mcp add symbols -- npx -y @p1va/symbols. Then ask the agent to configure the language servers your codebase needs.
What does symbols do?
It gives the agent symbol-level access through a Language Server: file outlines, references, call relationships, diagnostics and renames. That beats grepping for text.
What does symbols need to work?
Node.js so npx can launch it, plus a configured Language Server profile for your project's language. The install-language-server skill handles setup and validation.