# MPM-Coding

Сервер индексирует кодовую базу через Tree-sitter, ищет символы по AST и оценивает радиус изменений. Помогает агенту работать в больших репозиториях без переполнения контекста.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 17
- Автор: halflifezyf2680
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/halflifezyf2680/MPM-Coding
- Обновлён: 2026-09-05
- HTML: https://affpapa.org/nevibecode/mcp/mpm-coding

## Что делает

MPM-Coding разворачивает локальный сервер на Go и парсит структуру проекта через Tree-sitter. Вместо перебора файлов утилита строит AST-индекс для более чем 30 языков. При вызове `code_search` агент получает точные координаты объявления символа, а через `project_map` видит карту каталогов и функций. Это убирает лишний шум из контекстного окна.

Сценарий работы строится по шагам: сначала поиск в AST и расчёт графа вызовов в `code_impact`, затем внесение правок с записью причины в `memo`. Инструмент `flow_trace` строит цепочку вызовов до модификации логики. Если фоновый процесс заблокирован, `system_hook` приостанавливает сценарий до выполнения условий. История и факты сохраняются в локальной SQLite внутри `.mpm-data/`.

Сервер написан на чистом Go без CGO. Исполняемый файл `mpm-go` подключается к клиенту по протоколу StdIO. При первом запуске `initialize_project` создаёт индекс и записывает правила прямо в `AGENTS.md`. Без предварительной сборки индекса точные связи между вызовами останутся недоступны.

## Требования
- Нужно: готовый бинарник из релизов репозитория

## Установка

### Claude Code (родная платформа)

**Установка**
- Команды запуска нет в реестре MCP — смотрите README репозитория

## Когда брать
- Находить объявления функций через AST вместо текстового поиска
- Оценивать радиус влияния изменений по графу вызовов
- Сохранять причины правок между сессиями в локальной базе
- Отслеживать цепочки выполнения функций до редактирования логики

## Примеры запросов агенту
- Выполни `initialize_project` в текущем репозитории и покажи статус индексации.
- Найди функцию `UserService.getProfile` через `code_search` и проверь её вызовы с помощью `code_impact`.
- Запиши в `memo` причину исправления ошибки с нулевым указателем.

## Похожие
- [REA](https://affpapa.org/nevibecode/mcp/rea.md) — MCP-сервер · ★ 392262
- [GitHub](https://affpapa.org/nevibecode/mcp/github.md) — MCP-сервер · ★ 33989
- [Netdata](https://affpapa.org/nevibecode/mcp/netdata.md) — MCP-сервер · ★ 81163
- [browser-use](https://affpapa.org/nevibecode/mcp/browser-use.md) — MCP-сервер · ★ 119231
- [Codebase Memory](https://affpapa.org/nevibecode/mcp/codebase-memory.md) — MCP-сервер · ★ 47577
- [mcp-server](https://affpapa.org/nevibecode/mcp/mcp-server.md) — MCP-сервер · ★ 43902

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
