n3mo — MCP-сервер для Claude Code: что делает и как установить
Строит граф символов и зависимостей кодовой базы без нейросетей при индексации. Помогает оценить зону поражения перед рефакторингом функций.
claude mcp add n3mo -- uvx n3moЧто делает n3mo
Сервер парсит абстрактные синтаксические деревья через Tree-sitter и складывает связи вызовов в реляционную базу PostgreSQL. Индексация выполняется детерминированно. Векторные эмбеддинги и запросы к языковым моделям на этапе разбора не используются, поэтому граф остаётся точным. Архитектура поддерживает 27 синтаксических грамматик.
Инструмент позволяет ассистенту рекурсивно обходить цепочки вызовов через SQL-запросы CTE. Вместо текстового поиска по совпадению строк модель видит реальные зависимости между классами и функциями. Для локального запуска требуются Docker и среда Python версии 3.10 или новее.
Исходный код распространяется по лицензии PolyForm Noncommercial 1.0.0, поэтому использовать сервер в коммерческих проектах без отдельной платной лицензии запрещено.
Какие задачи решает
- Найти все прямые и транзитивные вызовы функции перед её правкой
- Определить потенциальные поломки при изменении интерфейса класса
- Исследовать иерархию вызовов в незнакомом репозитории
- Передать языковой модели структурный граф связей вместо текстовых выжимок
Примеры запросов агенту
- Покажи зону поражения и цепочку зависимостей, если я перепишу функцию auth_handler.
- Найди все места в проекте, где транзитивно вызывается метод parse_token.
- Построй дерево связей для модуля биллинга на основе графа вызовов.
Как установить n3mo
Командой платформы
claude mcp add n3mo -- uvx n3mouvx запускает команду с именем пакета; если в README она другая — uvx --from n3mo <команда>
Командой платформы
codex mcp add n3mo -- uvx n3mouvx запускает команду с именем пакета; если в README она другая — uvx --from n3mo <команда>
Файл настроек
{
"mcpServers": {
"n3mo": {
"command": "uvx",
"args": [
"n3mo"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from n3mo <команда>
Файл настроек
{
"servers": {
"n3mo": {
"type": "stdio",
"command": "uvx",
"args": [
"n3mo"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from n3mo <команда>
Командой платформы
gemini mcp add n3mo uvx n3mouvx запускает команду с именем пакета; если в README она другая — uvx --from n3mo <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о n3mo
Как установить n3mo в Claude Code?
Выполните команду claude mcp add n3mo -- uvx n3mo в терминале.
Что делает n3mo?
Он преобразует исходный код в реляционный граф вызовов через синтаксический анализ Tree-sitter. Это даёт модели точную структуру связей без необходимости запускать семантический поиск.
Нужен ли Docker для запуска n3mo?
Да, для развёртывания базы данных и вычислительного слоя серверу требуется работающий Docker, а также Python 3.10+.