Auditra

официальный

MCP-сервер для аудита плагинов WordPress

Что можно делать с Auditra MCP?

  • Оценка уязвимостей плагинов — Спросите «какие из моих плагинов уязвимы?» и получите ответы на основе актуальных данных WPVulnerability через MCP-сервер.
  • Выявление раздувания таблицы опций — Спросите, что раздувает вашу таблицу wp_options, и получите привязку к владеющим плагинам с уровнями уверенности.
  • Обнаружение осиротевших данных плагинов — Спросите, что оставили после себя удалённые плагины, а сервер сопоставит оставшиеся опции, таблицы и хуки с их исходными владельцами.
  • Инвентаризация экосистемы плагинов — Запросите полную инвентаризацию плагинов с контекстом сайта, автозагружаемыми опциями, cron-задачами и деталями таблиц базы данных в одном ответе.
  • Проверка поддержки жизненного цикла плагинов — Спросите, поддерживаются ли требования ваших плагинов к PHP, MySQL или MariaDB, используя встроенные данные о жизненном цикле.

Документация

Auditra

Плагин WordPress, который превращает сайт, на котором он установлен, в сервер MCP только для чтения, так что любой MCP-совместимый ИИ-клиент (пользовательские коннекторы Claude и другие) может проверять и анализировать плагины этого сайта на простом языке.

Спросите «какие из моих плагинов уязвимы?», «что раздувает мою таблицу параметров?» или «что оставили после себя удалённые плагины?» — и получите ответы, основанные на реальном состоянии сайта.

Как это работает

Три уровня внутри одного плагина, один REST-маршрут, без зависимостей во время выполнения:

  • ТранспортPOST /wp-json/auditra/v1/mcp/{token} говорит по MCP через JSON-RPC 2.0 (простые JSON-ответы, без состояния). Обслуживаются оба поколения протокола, решение принимается для каждого запроса: ревизия 2026-07-28 (метаданные запроса, server/discover, проверка заголовка Mcp-*) и ревизии рукопожатия initialize / 2025-11-25 / 2025-06-18 / 2025-03-26. Аутентификация по токену в пути за сменным интерфейсом, проверка Origin, ограничение частоты запросов, журналирование неудачных аутентификаций.
  • Сборщики — читают WordPress напрямую: инвентаризация, контекст сайта, автозагружаемые параметры, cron, таблицы базы данных, использование контент-функций, и трёхуровневый механизм атрибуции, который сопоставляет параметры/таблицы/хуки с владеющими плагинами с явными уровнями уверенности (high = курируемый, medium = производный, или явно неприписанный).
  • Обогащение — два внешних сервиса, wordpress.org и WPVulnerability, оба без ключей, оба кэшируются, оба незаметно деградируют с отчётом о покрытии по каждому источнику и прогрессивной задержкой (15 мин → 24 ч) при сбоях. Даты жизненного цикла поддержки для PHP, MySQL и MariaDB вообще не загружаются: они поставляются в includes/data/lifecycle.json, составленном из опубликованной политики каждого поставщика.

Девять инструментов; каждый ответ содержит _meta (итоги, усечение, недоступные источники, временные метки) и остаётся в пределах бюджета 20 КБ. Сервер сообщает факты, а не вердикты — оценки и советы намеренно отсутствуют, потому что это задача ИИ-клиента. Полная запись о проектировании находится в docs/DECISIONS.md.

Подключение к ИИ-клиенту

  1. Инструменты → Auditra в wp-admin: включите конечную точку, сгенерируйте токен, скопируйте URL подключения.
  2. В Claude: Настройки → Коннекторы → Добавить пользовательский коннектор, вставьте URL (должен быть https://).
  3. Задавайте вопросы. Начните с «что вы можете рассказать мне о плагинах этого сайта?»

Сайт должен быть публично доступен по HTTPS с включёнными человекочитаемыми постоянными ссылками. Клиенты на ревизии 2026-07-28 получают подсказку о свежести на 24 часа для tools/list, поэтому инструмент, добавленный обновлением плагина, появляется в течение дня сам по себе; более старые ревизии не имеют сигнала истечения, поэтому переподключите коннектор после обновления, чтобы получить новые инструменты.

Вклад в проект

Самый лёгкий по-настоящему полезный вклад — это pull request в includes/data/prefix-overrides.json — курируемая карта от слагов плагинов к префиксам параметров/таблиц, которые они реально используют (Contact Form 7 → wpcf7_). Каждая запись повышает точность атрибуции для каждого пользователя. См. CONTRIBUTING.md.

Разработка

composer install   # dev-only: PHPCS + WordPress Coding Standards (pinned)
composer lint
php tests/mcp-client.php https://example.com/wp-json/auditra/v1/mcp/{token}

tests/mcp-client.php — это CLI-инструмент, который проверяет конечную точку без участия ИИ-клиента; tests/seed-conditions.sh создаёт намеренно запутанный тестовый сайт (а teardown-conditions.sh в точности отменяет его). CI запускает матрицу PHP-линтера (7.4–8.4), PHPCS и grep-проверку, которая завершает сборку ошибкой, если в коде плагина когда-либо появляется операция записи.

Безопасность

См. SECURITY.md о поддерживаемых версиях и о том, как сообщить об уязвимости конфиденциально.

Лицензия

GPL-2.0-or-later.