PMAT MCP

Бинарник на Rust, он же MCP-сервер: сложность, технический долг, мертвый код и контекст репозитория в Claude Code и Cline.

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

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

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

  • Читает исходники и историю git; `kaizen` и хуки меняют репозиторий, а HTTP-режим открывает чтение путей процесса по токену.
Все причины и проверки

paiml/paiml-mcp-agent-toolkit

Установка

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

cargo install pmat

Команда из README ставит бинарник `pmat`; нужен Rust.

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

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

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

  • Читает исходники и историю git; `kaizen` и хуки меняют репозиторий, а HTTP-режим открывает чтение путей процесса по токену.

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

Что делает

PMAT (Pragmatic Multi-language Agent Toolkit) анализирует кодовую базу на 20 с лишним языках и отдает агенту проверяемые числа вместо догадок. Около 20 MCP-инструментов считают сложность и Big-O, находят мертвый код, незавершенные места (`analyze_satd`) и недостижимые функции, строят граф зависимостей, ищут похожий код и собирают сжатый контекст проекта. Консольная часть добавляет оценку технического долга от A+ до F, мутационное тестирование, оценку здоровья репозитория и поиск по истории git. Проверка `pmat verify` прогоняет те же шаги, что и CI: формат, сложность, SATD, clippy и тесты. Агент правит код, запускает `pmat verify --format json`, чинит красное и коммитит на зеленом. Один бинарник говорит тремя способами: обычная команда, MCP по stdio (`pmat --mode mcp`) и MCP по HTTP с токеном (`pmat serve --transport http`).

Для кого. Разработчикам на Rust, Python, TypeScript и Go, у которых агент пишет код быстрее, чем команда успевает следить за сложностью и долгом.

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

  • Новый репозиторий открыт в Claude Code, и перед правками нужна карта архитектуры и сжатый контекст.
  • Агент закончил рефакторинг, а до коммита хочется прогнать те же проверки, что и в CI.
  • Нужно найти функции с наибольшей сложностью и мертвый код перед чисткой.
  • Команда отслеживает технический долг и блокирует PR при падении оценки.
  • Тесты зеленые, но уверенности нет, и качество проверяют мутационным тестированием.

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

  • Небольшой скрипт: сложность и долг на таком объеме не стоят установки.
  • Достаточно одного-двух инструментов: у PMAT около 20 MCP-инструментов и больше сотни консольных команд.
  • Сервер собираются открыть в сеть без токена: HTTP-режим требует токен не короче 16 символов и без него не запустится.

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

Подключись к pmat, найди пять самых сложных функций в проекте и мертвый код, потом предложи план рефакторинга и прогони `pmat verify`.

MCP

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

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

PMAT_MCP_HTTP_TOKEN секрет
Токен для режима HTTP, не короче 16 символов; для stdio не нужен.

Ограничения

Собирается из исходников через `cargo install pmat`, нужен Rust 1.91 или новее. HTTP-режим отвечает на корневой путь `/`, пути `/mcp` и эндпоинта `/health` нет. Токен `PMAT_MCP_HTTP_TOKEN` обязателен, длина от 16 символов. Значения `--transport` кроме `http` пока не реализованы. Сервер по HTTP может читать любой путь, доступный процессу, поэтому слушает `127.0.0.1`, пока не указан `--host`. Команды `pmat kaizen` и хуки меняют репозиторий; сначала запускайте `--dry-run`.

Как отключить. Выполните `claude mcp remove pmat`, остановите `pmat serve`, если запускали HTTP-режим, и удалите хуки командой из `pmat hooks status`. Сам бинарник убирает `cargo uninstall pmat`.

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

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

Выполните `cargo install pmat`, затем `claude mcp add --scope user pmat -- pmat --mode mcp`. Команда `claude mcp list` должна показать `pmat` со статусом Connected.

Чем stdio отличается от HTTP?

Stdio запускает pmat как дочерний процесс клиента, без порта и токена. HTTP нужен, когда один долгоживущий сервер обслуживает несколько клиентов или другую машину: запуск `pmat serve --transport http --port 8765` с токеном в `PMAT_MCP_HTTP_TOKEN`.

Как работает проверка перед коммитом?

`pmat verify --format json` прогоняет форматирование, сложность, SATD, clippy и тесты и останавливается на первой ошибке. Результат в JSON агент читает сам и чинит красный шаг.

Какие языки поддерживаются?

Более 20: Rust, TypeScript, Python, Go, Java, C и C++, Lua, Lean и другие. Список языков для мутационного тестирования длиннее и включает Kotlin, Swift, PHP, SQL и Scala.

Что делает pmat kaizen?

Сканирует проект, применяет безопасные автоисправления и коммитит их. Сначала запустите `pmat kaizen --dry-run`: он только показывает находки, а `--push` отправит изменения на удаленный репозиторий.

Обсуждение

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

MCP-серверы

Rust-бинарник для агентов и терминала: через tree-sitter находит определение символа, его вызовы и зависимости файла

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

MCP-сервер на потоках Rust: агент получает подсказки, переходы к определениям, ссылки, форматирование и диагностику компилятора от rust-analyzer

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

Три скилла и конфиг clippy: агент пишет, проверяет и переносит код на идиоматичный Rust, а правила проходят в CI

ПлагинРасширенный доступ1,7 тыс.Звезды репозитория
Официальный

MCP-сервер и CLI для исследования кода: поиск и разбор по вашему проекту и по всему GitHub с экономией токенов

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

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

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

MCP сервер структурного поиска по коду для агентов: находит нужный файл по смыслу запроса и работает локально

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

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

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

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
PMAT (эта карточка)нетне нужна170
Repomixнетне нужна29 172упаковывает репозиторий в один файл для модели; PMAT считает сложность и долг и отдает их MCP-инструментами
Code2Promptнет7 746собирает кодовую базу в промпт с деревом файлов; здесь добавлены оценка долга, мутационные тесты и сервер MCP

Коротко о README

README делится на установку, три способа запуска MCP и обзор команд: контекст, долг, мутационные тесты, оценка репозитория, хуки и проверки соответствия. Отдельный блок перечисляет четыре неочевидные особенности HTTP-режима.

Бейдж для README

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

Foxx AIPMAT
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.