# symbols

Hooks a Language Server into your coding agent so it can read symbols, references and diagnostics. Useful once plain text search stops being enough.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 5
- Author: p1va
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/p1va/symbols
- Updated: 2026-07-22
- HTML: https://affpapa.org/en/nevibecode/mcp/symbols

## What it 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.

## Requirements
- Needs: Node.js (commands run via npx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add symbols -- npx -y @p1va/symbols
```

### Codex

**Platform CLI**
```bash
codex mcp add symbols -- npx -y @p1va/symbols
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "symbols": {
            "command": "npx",
            "args": [
                "-y",
                "@p1va/symbols"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "symbols": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@p1va/symbols"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add symbols npx -y @p1va/symbols
```

## When to use it
- 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
- Show me the outline of `src/server.ts` with symbols
- Find all references to `parseConfig` in this project
- Rename `oldHandler` to `handleRequest` across the codebase

## Similar
- [lsp-setup](https://affpapa.org/en/nevibecode/skills/lsp-setup.md) — skill · 1100 installs
- [lsp-code-analysis](https://affpapa.org/en/nevibecode/skills/lsp-code-analysis.md) — skill · 920 installs
- [lsp-local-symbols](https://affpapa.org/en/nevibecode/skills/lsp-local-symbols.md) — skill · ★ 165
- [grepai-trace-callers](https://affpapa.org/en/nevibecode/skills/grepai-trace-callers.md) — skill · 784 installs
- [rust-call-graph](https://affpapa.org/en/nevibecode/skills/rust-call-graph.md) — skill · 3200 installs
- [julia-lsp](https://affpapa.org/en/nevibecode/plugins/julia-lsp.md) — plugin · ★ 12

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
