# symbols

Подключается к Language Server и даёт агенту читать символы, ссылки и диагностику в проекте. Пригодится, когда поиск по тексту уже не справляется.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 5
- Автор: p1va
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/p1va/symbols
- Обновлён: 2026-07-22
- HTML: https://affpapa.org/nevibecode/mcp/symbols

## Что делает

symbols — это MCP-сервер, который связывает кодинг-агента с Language Server выбранного языка. Агент получает структуру файла, расположение объявления и реализации символа, все ссылки на него, входящие и исходящие вызовы. Работает и со сторонними зависимостями, а не только с вашим кодом.

Внутри набор инструментов: `outline`, `inspect`, `search`, `references`, `call_hierarchy`, `rename`, `diagnostics`, `completion` и `reload`. Есть ресурсы вида `language-servers://profiles` со списком настроенных серверов и их состоянием, а логи отдельного сервера лежат в `language-servers://profiles/{name}/logs`. Два скилла — `install-language-server` и `language-server-navigation` — помогают настроить профиль под текущий workspace и подсказывают порядок работы.

Сервер запускается через `npx`, так что нужен установленный Node.js с доступом в npm. Без настроенного Language Server для вашего языка инструменты работать не будут: сначала ставьте профиль, потом ждите навигацию по символам. Переименование через `rename` меняет все ссылки сразу — на большом репозитории это стоит делать на чистой ветке.

## Требования
- Нужно: Node.js (команды через npx)

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add symbols -- npx -y @p1va/symbols
```

### Codex

**Командой платформы**
```bash
codex mcp add symbols -- npx -y @p1va/symbols
```

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "symbols": {
            "command": "npx",
            "args": [
                "-y",
                "@p1va/symbols"
            ]
        }
    }
}
```

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "symbols": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@p1va/symbols"
            ]
        }
    }
}
```

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add symbols npx -y @p1va/symbols
```

## Когда брать
- найти все места, где вызывается функция, до её переименования
- получить структуру файла вместо чтения его целиком
- разобраться, откуда берётся ошибка компилятора в конкретном файле
- посмотреть объявление и реализацию метода из сторонней библиотеки
- проследить цепочку вызовов перед рефакторингом

## Примеры запросов агенту
- Покажи структуру файла `src/server.ts` через symbols
- Найди все ссылки на `parseConfig` в проекте
- Переименуй `oldHandler` в `handleRequest` по всему коду

## Похожие
- [lsp-setup](https://affpapa.org/nevibecode/skills/lsp-setup.md) — скилл · 1100 установок
- [lsp-code-analysis](https://affpapa.org/nevibecode/skills/lsp-code-analysis.md) — скилл · 920 установок
- [lsp-local-symbols](https://affpapa.org/nevibecode/skills/lsp-local-symbols.md) — скилл · ★ 165
- [grepai-trace-callers](https://affpapa.org/nevibecode/skills/grepai-trace-callers.md) — скилл · 784 установки
- [rust-call-graph](https://affpapa.org/nevibecode/skills/rust-call-graph.md) — скилл · 3200 установок
- [julia-lsp](https://affpapa.org/nevibecode/plugins/julia-lsp.md) — плагин · ★ 12

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
