LeanKG MCP
Граф знаний по коду проекта для агента: вызывающие, зависимости и радиус правки через MCP вместо чтения файлов
- 222 ★ репозитория
- Последний коммит
- Apache-2.0
Расширенный доступ
Почему такой уровень
- MCP-вызов `read` отдает содержимое файлов проекта, а память пишется в папку `.leankg/` внутри репозитория
- Без токена любой вызывающий на HTTP, REST и RPC получает роль администратора, поэтому привязка к внешнему адресу отклоняется
- При включенных эмбеддингах от внешнего провайдера, например openai, текст кода уходит на его сервис
Установка
- Работает в
Ручная установка
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-серверыDeep Graph MCP — граф кода репозитория для агента
Deep Graph MCP
MCP-сервер дает агенту граф кода репозитория: поиск функций по смыслу, связи символов и список мест, которые заденет правка
Локальный статический анализ Go с MCP-сервером: графы вызовов, влияние правок, поиск символов и обзор до и после изменений
DevLens строит граф репозитория один раз, и агент по MCP получает ранжированные файлы, вызовы и радиус изменений
Локальный граф знаний о коде с историей версий: MCP-сервер отвечает агенту, кто вызывает функцию и что сломается от правки
Локальный граф кода для агентов: MCP-сервер отдает точки входа, связи символов и радиус влияния изменений за один вызов
MCP-сервер строит граф знаний о коде: поиск по смыслу, граф вызовов, трассировка HTTP-маршрутов и анализ влияния правок.
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| LeanKG (эта карточка) | нет | не нужна | 222 | |
| codebase-memory-mcp | нет | не нужна | 48 598 | Тоже строит граф кода для агента; LeanKG запускается одним Go-бинарником на SQLite и добавляет командный слой с окружениями, инцидентами и трассировкой требований. |
| GitNexus | нет | не нужна | 48 470 | GitNexus решает близкую задачу, давая агенту граф зависимостей репозитория; в LeanKG три MCP-инструмента с лесенкой поиска и память между сеансами в markdown. |
| code-graph-rag | нет | не нужна | 5 352 | Code-Graph-RAG строит граф кода для вопросов на естественном языке; LeanKG хранит индекс в SQLite и считает радиус правки командой `impact`. |
Коротко о README
README начинается с сравнения «без LeanKG и с ним», затем идут быстрый старт, способы установки (go install, готовые архивы, сборка, контейнер), таблица вопросов и способов их задать, список возможностей, команды CLI и известные ограничения.