LeanKG MCP

Граф знаний по коду проекта для агента: вызывающие, зависимости и радиус правки через MCP вместо чтения файлов

  • 222 ★ репозитория
  • Последний коммит
  • Apache-2.0
MCP-сервер

Расширенный доступ

Почему такой уровень

  • MCP-вызов `read` отдает содержимое файлов проекта, а память пишется в папку `.leankg/` внутри репозитория
  • Без токена любой вызывающий на HTTP, REST и RPC получает роль администратора, поэтому привязка к внешнему адресу отклоняется
  • При включенных эмбеддингах от внешнего провайдера, например openai, текст кода уходит на его сервис
Все причины и проверки

freepeak/leankg

Установка

Ручная установка

go install github.com/FreePeak/LeanKG/cmd/leankg@latest

Нужен Go 1.25 или новее. Эмбеддинги ставятся вторым бинарником `leankg-embed`.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • MCP-вызов `read` отдает содержимое файлов проекта, а память пишется в папку `.leankg/` внутри репозитория
  • Без токена любой вызывающий на HTTP, REST и RPC получает роль администратора, поэтому привязка к внешнему адресу отклоняется
  • При включенных эмбеддингах от внешнего провайдера, например openai, текст кода уходит на его сервис

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

LeanKG строит граф знаний по коду проекта и отдает его агенту по MCP. Вместо цепочки grep и чтения файлов агент получает точечный подграф: кто вызывает функцию, что зависит от файла, какие тесты и документы рядом, насколько широко ударит правка. Это один бинарник на Go без CGO, хранилище по умолчанию SQLite в файле `.leankg/leankg.db`, а Postgres включается отдельно. Запуск в два шага: `leankg index .` индексирует проект, `leankg install --target claude-code` прописывает MCP-запись (также подходят `cursor`, `codex`, `gemini`, `opencode` и `omp`). У сервера три инструмента, `import`, `query` и `status`, и около тридцати действий: поиск лесенкой от точного имени к нечеткому и семантическому, `impact` для радиуса правки, `callers`, `path`, `explain`, поиск по шаблону кода, трассировка требований из PRD. Поверх кода есть командный слой: окружения, сервисы, инциденты и markdown-память между сеансами. README заявляет снижение расхода токенов до 65% и вызовов инструментов до 85%, это замеры автора.

Для кого. Разработчикам на больших и многомодульных репозиториях, где агент тратит контекст на поиск вызывающих и на оценку последствий правки.

Подходит, если

  • Перед правкой функции или файла надо понять, кто от них зависит и что сломается: `leankg impact src/main.go`
  • Агент снова и снова перечитывает одни и те же файлы, и контекст кончается раньше задачи
  • Один сервер должен отдавать графы нескольких репозиториев через `LEANKG_PROJECT_DIRS`
  • Между сеансами нужна markdown-память проекта: сервер запускается с флагом `--memory`
  • Требования из PRD хочется связать с кодом и проверять, что каждое реализовано

Не подходит, если

  • Корень с десятками тысяч вложенных файлов: единица охвата — репозиторий, дочерние проекты регистрируют по одному
  • Windows: README требует macOS или Linux
  • Нужен точный граф вызовов между пакетами с разбором типов: LeanKG такого разбора не делает

Пример запроса к агенту

Через LeanKG покажи, что сломается, если я поменяю сигнатуру parseConfig, и какие тесты это покрывают

MCP

Транспорт
stdio, http
Авторизация
не нужна

Переменные окружения

LEANKG_EMBED_PROVIDER
Провайдер эмбеддингов для семантического поиска: local, openai или deterministic.
LEANKG_PROJECT_DIRS
Список каталогов проектов для режима с несколькими проектами.

Ограничения

Ребра вызовов строятся в пределах пакета без разбора импортов и типов, поэтому вызовы между пакетами определяются приблизительно. Файлы от 1 МиБ пропускаются как вендорные или минифицированные, а цели вызовов короче четырех символов отбрасываются как шум. В git-репозитории индекс строится по объектам HEAD: незакоммиченные, неотслеживаемые и игнорируемые файлы в граф не попадают. Семантический поиск требует провайдера эмбеддингов в переменной `LEANKG_EMBED_PROVIDER`, без него работают точный и нечеткий поиск.

Как отключить. Уберите запись `leankg` из конфигурации MCP клиента и удалите бинарники `leankg` и `leankg-embed` из `$(go env GOPATH)/bin`. Локальный индекс лежит в папке `.leankg/` проекта.

Частые вопросы

Как подключить LeanKG к Claude Code?

Проиндексируйте проект командой `leankg index .`, затем выполните `leankg install --target claude-code` и перезапустите клиента. Запись запускает `serve --stdio --memory`, так что агент получает граф кода и markdown-память без второго сервера.

Почему ответы идут из другого проекта?

Сервер определяет проект по рабочему каталогу процесса. Запустите его с `--project DIR`: `query` и `impact` читают и переменную `LEANKG_PROJECT`. Сервер с несколькими проектами отказывается отвечать, пока проект не указан в запросе.

Как проверить, что индекс собран?

`leankg doctor` печатает путь к хранилищу, число элементов и файлов и отметку последней записи. Код выхода 0 означает успех, 2 — сбой. Подробности по свежести и состоянию вложений дает `leankg status`.

Можно ли открыть сервер в локальную сеть?

Привязка не к loopback-адресу отклоняется, пока не настроен токен (`leankg auth token create` или переменные `LEANKG_TOKEN_ADMIN`, `LEANKG_TOKEN_CONTRIBUTOR`, `LEANKG_TOKEN_VIEWER`). Без токена любой вызывающий получает роль администратора.

Как собрать LeanKG без Go-окружения?

Возьмите готовый архив `leankg-<os>-<arch>.tgz` из релизов: там оба бинарника и файл контрольной суммы для linux и darwin на amd64 и arm64. Обновляется установленная копия командой `leankg update`.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

MCP-сервер дает агенту граф кода репозитория: поиск функций по смыслу, связи символов и список мест, которые заденет правка

MCP-серверРасширенный доступ401Звезды репозитория

Локальный статический анализ Go с MCP-сервером: графы вызовов, влияние правок, поиск символов и обзор до и после изменений

MCP-серверМинимальный доступ231Звезды репозитория

DevLens строит граф репозитория один раз, и агент по MCP получает ранжированные файлы, вызовы и радиус изменений

MCP-серверРасширенный доступ70Звезды репозитория
Официальный

Локальный граф знаний о коде с историей версий: MCP-сервер отвечает агенту, кто вызывает функцию и что сломается от правки

MCP-серверРасширенный доступ516Звезды репозитория

Локальный граф кода для агентов: MCP-сервер отдает точки входа, связи символов и радиус влияния изменений за один вызов

MCP-серверРасширенный доступ77,5 тыс.Звезды репозитория

MCP-сервер строит граф знаний о коде: поиск по смыслу, граф вызовов, трассировка HTTP-маршрутов и анализ влияния правок.

MCP-серверРасширенный доступ95Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
LeanKG (эта карточка)нетне нужна222
codebase-memory-mcpнетне нужна48 598Тоже строит граф кода для агента; LeanKG запускается одним Go-бинарником на SQLite и добавляет командный слой с окружениями, инцидентами и трассировкой требований.
GitNexusнетне нужна48 470GitNexus решает близкую задачу, давая агенту граф зависимостей репозитория; в LeanKG три MCP-инструмента с лесенкой поиска и память между сеансами в markdown.
code-graph-ragнетне нужна5 352Code-Graph-RAG строит граф кода для вопросов на естественном языке; LeanKG хранит индекс в SQLite и считает радиус правки командой `impact`.

Коротко о README

README начинается с сравнения «без LeanKG и с ним», затем идут быстрый старт, способы установки (go install, готовые архивы, сборка, контейнер), таблица вопросов и способов их задать, список возможностей, команды CLI и известные ограничения.

Бейдж для README

Сообщить о проблеме