AI и автоматизация

Graphify MCP-сервер: 10 инструментов для нативных запросов к графу кода

MCP-сервер Graphify отдаёт 10 инструментов поверх knowledge graph, построенного из вашего репозитория, чтобы любой MCP-клиент (Claude Code, Cursor, Copilot и остальные) читал граф нативно вместо поиска по файлам.

Запуск сервера

Сервер входит в состав CLI и читает graph.json, который создал /graphify . (по умолчанию graphify-out/graph.json). По умолчанию он работает через stdio (правильный режим для одного ассистента) или Streamable HTTP, когда несколько ассистентов или коллег должны разделять один граф. HTTP-транспорт может требовать ключ через --api-key (или переменную GRAPHIFY_API_KEY).

# stdio (по умолчанию), один ассистент, один граф:
$ python -m graphify.serve graphify-out/graph.json

# общий HTTP, один сервер, много клиентов:
$ python -m graphify.serve graphify-out/graph.json --transport http --port 8080

# также доступен как консольный скрипт:
$ graphify-mcp graphify-out/graph.json

Подключение клиента

Большинство ассистентов подхватывают сервер автоматически: graphify install прописывает его в обнаруженные ассистенты. Для ручной регистрации в Claude Code добавьте в .mcp.json в корне проекта; остальные MCP-клиенты принимают ту же команду в своём формате конфига.

{
  "mcpServers": {
    "graphify": {
      "command": "python",
      "args": ["-m", "graphify.serve", "graphify-out/graph.json"]
    }
  }
}

Каждый инструмент ниже также принимает необязательный параметр project_path (абсолютный путь к другому проекту с graphify-out/graph.json), поэтому один запущенный сервер может отвечать по целому workspace репозиториев. Если опустить — сервер отвечает по графу, с которым запущен.

Запрос и обход

Базовая четвёрка: задать вопрос, инспектировать узел, обойти соседей или проследить путь между двумя концепциями. Результаты возвращаются текстовым контекстом с цитатами file:line, каждое ребро помечено EXTRACTED, INFERRED или AMBIGUOUS.

query_graph

Поиск по графу на естественном языке с обходом BFS или DFS. Возвращает релевантные узлы и рёбра текстовым контекстом — тот же вывод, что печатает graphify query.

ПараметрОписание
question (обязательный)Вопрос на естественном языке или поиск по ключевым словам
mode (по умолчанию bfs)bfs для широкого контекста, dfs для конкретного пути
depth (по умолчанию 3)Глубина обхода (1–6)
token_budget (по умолчанию 2000)Лимит токенов вывода
context_filter (необязательный)Явный фильтр контекста рёбер, например ["call", "field"]

get_node

Полные детали одного узла по метке или ID: что это, где живёт, его сообщество и рёбра.

ПараметрОписание
label (обязательный)Метка или ID узла для поиска

get_neighbors

Все прямые соседи узла с деталями рёбер: на один шаг во всех направлениях.

ПараметрОписание
label (обязательный)Метка или ID узла
relation_filter (необязательный)Только рёбра этого типа отношений

shortest_path

Кратчайший путь между двумя концепциями в графе: как две части кодовой базы соединены, шаг за шагом.

ПараметрОписание
source (обязательный)Метка или ключевое слово источника
target (обязательный)Метка или ключевое слово цели
max_hops (по умолчанию 8)Максимум шагов для рассмотрения

Структура и обзор

Для ориентации: сообщества графа, самые связные узлы и сводная статистика — инструменты «покажи форму этой кодовой базы», которые ассистент вызывает первым в незнакомом репозитории.

get_community

Все узлы одного сообщества (кластеров, на которые граф организован), по ID сообщества.

ПараметрОписание
community_id (обязательный)ID сообщества, индексируется с 0 по размеру

god_nodes

Самые связные узлы графа: ключевые абстракции, на которых держится всё остальное.

ПараметрОписание
top_n (по умолчанию 10)Сколько узлов вернуть

graph_stats

Сводная статистика: число узлов, рёбер, сообществ и разбивка доверия EXTRACTED / INFERRED / AMBIGUOUS.

ПараметрОписание
нет параметров

Pull request’ы

Тот же анализ влияния на граф, что и у graphify prs, отданный агентам: какие открытые PR что затрагивают и в каком порядке их ревьюить.

list_prs

Открытые GitHub PR со статусом CI, состоянием ревью и влиянием на граф: какие сообщества затрагивает каждый PR и его «радиус поражения». Полезно перед стартом работы — проверить, не покрывает ли уже этот PR нужную область.

ПараметрОписание
base (необязательный)Базовая ветка для фильтра (автоопределение, если опущено)
repo (необязательный)owner/repo; по умолчанию текущий репозиторий

get_pr_impact

Детальное влияние одного PR на граф: какие файлы меняет, какие сообщества затрагивает и сколько узелов — для оценки риска мёржа или перекрытия с текущей работой.

ПараметрОписание
pr_number (обязательный)Номер PR для анализа
repo (необязательный)owner/repo; по умолчанию текущий репозиторий

triage_prs

Все «actionable» открытые PR (правильная базовая ветка, не устаревшие) с полными данными влияния на граф, чтобы агент мог рассуждать о приоритете ревью, порядке мёржа и риске конфликтов.

ПараметрОписание
base (необязательный)Базовая ветка для фильтра
repo (необязательный)owner/repo; по умолчанию текущий репозиторий

Ресурсы

Помимо инструментов, сервер публикует MCP-ресурсы — документы только для чтения, которые клиент может подтянуть в контекст: полный GRAPH_REPORT.md, статистику графа, god nodes, неожиданные cross-community связи, аудит доверия и предложенные вопросы для кодовой базы.

Не путать с docs MCP-сервером

Здесь описан graph MCP-сервер — тот, что CLI запускает локально над вашим репозиторием. У Graphify есть отдельный docs MCP-сервер с одним инструментом, search_graphify_docs, для поиска по этой документации из редактора. Другой сервер, другая задача.


Заметка практика: Параметр project_path у инструментов — мощная штука для workspace с несколькими репозиториями: один запущенный MCP-сервер отвечает по всем проектам, если у каждого есть своя папка graphify-out/. Это удобно, когда ассистент работает сразу над бэкендом и фронтендом, лежащими в разных репозиториях.


Локализованный справочник на основе официальной документации MCP-инструментов Graphify.

🚀 Нужна помощь с сайтом на 1С-Битрикс или Аспро?

Я работаю удалённо по всей России и СНГ. Узнайте цены и условия для вашего города:

Все регионы →