skeletongraph — MCP-сервер для Claude Code
Индексирует репозиторий через tree-sitter без обращения к LLM и отдаёт агенту ранжированный список функций, подходящих под задачу.
claude mcp add skeletongraph -- uvx skeletongraphЧто делает skeletongraph
SkeletonGraph разбирает код на функции и связи между ними с помощью tree-sitter, без языковой модели. Дальше одни и те же символы ранжируют три сигнала: BM25, векторные представления кода и граф вызовов. Результаты объединяет reciprocal-rank fusion, и агент получает функции с файлом и номером строки.
Работает через MCP, поэтому подключается к Claude, Codex, Cursor, GitHub Copilot, Windsurf, Cline, Zed и Gemini CLI. Разбор поддерживает Python, JavaScript, TypeScript, Go, Rust, Java, C#, C++, Ruby и PHP. Установка идёт через uvx, так что uv должен быть в системе заранее — без него команда запуска сервера не сработает.
Автор провёл на этом ретривере исследование: 3,433 прогона агентов, каждый патч проверялся тестами проекта, плюс 500 оценок поиска без агента. Вывод неожиданный. Поиск SkeletonGraph действительно точнее встроенного: нужный файл оказывался первым на 80–92% задач против 61–90%. Но продакшен-агенты и сами читали код из верного файла на 96–100% задач, так что выигрыш в поиске до правок почти не доходит. Оценка шла на Python-репозиториях.
Какие задачи решает
- найти функцию, которую нужно править, по тексту issue
- получить ранжированный список символов вместо выдачи grep
- связать функции через граф вызовов при поиске
- подключить структурный поиск по коду к агенту через MCP
- сравнить BM25, эмбеддинги и структуру на одних и тех же символах
Примеры запросов агенту
- Найди через skeletongraph функции, которые надо изменить по тексту этого issue
- Проиндексируй репозиторий и покажи топ-5 функций по запросу «обработка платежей»
- Какие функции вызывает
process_order— покажи по графу вызовов
Как установить skeletongraph
Командой платформы
claude mcp add skeletongraph -- uvx skeletongraphuvx запускает команду с именем пакета; если в README она другая — uvx --from skeletongraph <команда>
Командой платформы
codex mcp add skeletongraph -- uvx skeletongraphuvx запускает команду с именем пакета; если в README она другая — uvx --from skeletongraph <команда>
Файл настроек
{
"mcpServers": {
"skeletongraph": {
"command": "uvx",
"args": [
"skeletongraph"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from skeletongraph <команда>
Файл настроек
{
"servers": {
"skeletongraph": {
"type": "stdio",
"command": "uvx",
"args": [
"skeletongraph"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from skeletongraph <команда>
Командой платформы
gemini mcp add skeletongraph uvx skeletongraphuvx запускает команду с именем пакета; если в README она другая — uvx --from skeletongraph <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о skeletongraph
Как установить skeletongraph в Claude Code?
Одной командой: claude mcp add skeletongraph -- uvx skeletongraph. Она прописывает MCP-сервер в конфигурацию Claude.
Что делает skeletongraph?
Индексирует репозиторий через tree-sitter и ранжирует функции по релевантности запросу. Агент получает список символов с файлом и строкой вместо груды файлов.
Нужна ли языковая модель для индексации?
Нет. Разбор идёт через tree-sitter, LLM в индексации не участвует. Ранжирование держится на BM25, векторных представлениях кода и графе вызовов.