Перейти к содержимому

Enable Abilities for MCP: готовый набор инструментов для AI-агентов

Enable Abilities for MCP регистрирует готовый набор WordPress Abilities и открывает их AI-ассистентам через MCP Adapter. Вместо того чтобы писать свои abilities с нуля, вы получаете 71 инструмент в 16 категориях с админкой для включения/выключения каждого.

Позиционирование в стеке:

  • Abilities API (ядро WP 6.9+) — реестр возможностей сайта
  • MCP Adapter — транспорт: публикует Abilities как MCP tools для Claude, Cursor, VS Code и других клиентов
  • Enable Abilities for MCP — контентный слой: конкретный набор инструментов для управления сайтом

Все abilities плагина идут с метаданными show_in_rest и mcp.public — они сразу видны в default MCP server без дополнительного кода (см. публикацию Abilities через MCP).

  • WordPress 6.9 или новее (Abilities API в ядре)
  • Плагин MCP Adapter, установленный и настроенный
  • PHP 8.0 или новее
  1. Плагины → Добавить новый → найти «Enable Abilities for MCP» → установить и активировать.
  2. Перейти в Настройки → WP Abilities — там тумблеры для каждой ability, сгруппированные по категориям.
  3. Установить и настроить MCP Adapter, подключить AI-клиент по STDIO или HTTP (конфиги — в практическом руководстве по MCP Adapter).

⚠️ По умолчанию после активации включены почти все abilities. Перед боевым подключением пройдитесь по списку и выключите лишнее — особенно write-инструменты, которые не нужны вашему сценарию. Деструктивные abilities для Elementor и LearnDash выключены по умолчанию (opt-in).

На Multisite плагин можно активировать для всей сети — у каждого сайта своя конфигурация abilities.

КатегорияЧто даёт AI-агенту
CoreИнформация о сайте, пользователе, окружении (обёртки над core abilities)
ReadПосты с фильтрами (статус, категория, тег, поиск), страницы, категории, теги, комментарии, медиа, пользователи
WriteСоздание/обновление/удаление постов и страниц, категории и теги, модерация и ответы на комментарии, загрузка изображений по URL в медиабиблиотеку (с назначением featured image)
SEO — Rank MathЧтение и обновление метаданных: title, description, focus keyword, canonical, robots, Open Graph
SEO — SEOPressЧтение/обновление метаданных + content analysis с уровнями влияния и рекомендациями (SEOPress 7.5+)
SEO — YoastЧтение/обновление метаданных + получение и парсинг sitemap index
Custom Post TypesСписок CPT, чтение/создание/обновление/удаление элементов с таксономиями и meta-полями (ACF, JetEngine и др.)
WooCommerceТовары (цена, SKU, остатки, вариации), заказы (HPOS-compatible), клиенты
The Events CalendarСобытия: список с фильтрами по датам/площадке/организатору, создание и обновление
ElementorДерево структуры страницы, правка элемента по id (в т.ч. batch), привязка dynamic tags (opt-in)
LearnDashКурсы, прогресс пользователей, результаты квизов; запись/отписка пользователей (opt-in)
JetEngine Options PagesСписок options pages со схемой полей, чтение и запись значений (включая repeater)
Code SnippetsУправление сниппетами
MultilanguageИнструменты для мультиязычных сайтов
AI Agent ReadinessЧтение и валидация llms.txt, запись с авто-маршрутизацией (SEOPress Pro / виртуальный файл)
UtilityПоиск и замена текста в контенте, статистика сайта, обновление любого meta-поля по ключу (с блоклистом защищённых), очистка кэша

Связка read + write abilities закрывает полный цикл SEO-работы агента:

  1. Агент читает пост с SEO-метаданными (ewpa/get-post)
  2. Получает content analysis от SEOPress (ewpa/get-seopress-content-analysis) — каждая проверка с уровнем влияния и текстовой рекомендацией
  3. Обновляет мету (ewpa/update-seopress, ewpa/update-yoast, ewpa/update-rank-math)
  4. С параметром refresh=true запускает повторный анализ и проверяет результат

Для Yoast дополнительно доступен sitemap index — агент может построить карту всех URL сайта с датами изменений.

Тонкая проблема production: write-abilities, которые правят meta напрямую (update-seopress, update-post-meta, elementor-update-element), не вызывают save_post — кэш-плагины продолжают отдавать старый HTML, и SEO-аудит показывает устаревшие title/description после правок агента.

Ability ewpa/clear-cache (с версии 2.0.24) решает это: чистит кэш одного поста (post_id, требует edit_post) или всего сайта (требует manage_options). Автоопределяет WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache, WP Fastest Cache; при их отсутствии откатывается на объектный кэш WordPress. Про настройку кэширования см. Кэширование WordPress.

Категория AI Agent Readiness (2 abilities):

  • ewpa/get-llms-txt — читает llms.txt, определяет, кто его отдаёт (SEOPress Pro, физический файл, сам плагин, сторонний компонент или никто), и валидирует по спецификации llmstxt.org с конкретными замечаниями (нет H1, нет blockquote-резюме, нет markdown-ссылок, сырой HTML, превышение размера)
  • ewpa/update-llms-txt (opt-in, manage_options) — записывает содержимое с авто-маршрутизацией: в опцию SEOPress Pro, если активен (динамические плейсхолдеры продолжают работать), либо в виртуальный /llms.txt, который плагин отдаёт через do_parse_request. Отказывает, если файл уже обслуживается физически или сторонним плагином

Теорию и назначение файла см. LLMs.txt для AI-агентов.

Отдельные abilities работают через нативный WooCommerce API (HPOS-compatible, декларировано формально):

  • товары: список с ценой, SKU, остатками, категориями; деталь с галереей, атрибутами, вариациями; обновление цены, акционной цены, остатков, статуса
  • заказы: список с клиентом/суммой/статусом/датой, деталь с line items и адресами, смена статуса с опциональной заметкой
  • клиенты: email, имя, сумма покупок, число заказов

Кроме того, секция Custom Post Types автоматически видит товары, заказы, купоны и любые другие CPT с полным доступом к meta-полям (_price, _sku, _stock_status и др.). Общий контекст — в разделе WooCommerce для WordPress.

Плагин построен на стандартных механизмах прав WordPress:

  • каждая ability проверяет capabilities — например, создание поста требует publish_posts, правка поста проверяет права на конкретный пост
  • per-post permission checks: чтение поста требует current_user_can('read_post', $id), а не только общего read (закрыт IDOR, найденный в версиях до 2.0.18: низкопривилегированный пользователь с Application Password мог читать чужие черновики и приватные посты по ID)
  • обновление meta-полей — с блоклистом защищённых внутренних ключей
  • входные данные санитизируются; плагин полностью проходит WPCS (phpcs)
  • ошибки прав доступа возвращают описательный WP_Error (нет параметра / нет поста / реальный отказ), а не голое «Permission denied»

Рекомендации для production:

  • заведите отдельного пользователя для MCP-доступа с минимально необходимой ролью
  • начинайте с read-only набора, write-abilities включайте точечно
  • помните: Bearer-токен MCP Adapter аутентифицируется как конкретный WP-пользователь, и его роль определяет потолок прав

Общий baseline — в Базовой безопасности WordPress, модель прав MCP — в практическом руководстве по MCP Adapter.

Плагин регистрирует abilities стандартным API — рядом можно добавить свои:

add_action( 'wp_abilities_api_init', function () {
wp_register_ability( 'myplugin/get-report', [
'label' => 'Get sales report',
'description' => 'Returns aggregated sales data for the last 30 days.',
'input_schema' => [ 'type' => 'object' ],
'execute_callback' => 'myplugin_build_report',
'permission_callback' => fn() => current_user_can( 'manage_woocommerce' ),
'meta' => [ 'mcp' => [ 'public' => true ] ],
] );
} );

Кастомные abilities появятся рядом с инструментами плагина в default MCP server. Детали регистрации и публикации — в WordPress MCP Adapter.

Нужен, если:

  • подключаете AI-агента к боевому сайту и не хотите писать десятки abilities руками
  • нужен SEO-контур: аудит меты + правки + повторная проверка
  • агент должен работать с WooCommerce, Elementor, LearnDash или The Events Calendar
  • хотите управлять набором инструментов через UI, а не кодом

Не нужен, если:

  • достаточно 2–3 собственных abilities — проще зарегистрировать их в своём плагине (см. пример выше)
  • нужен строго фиксированный контур инструментов — тогда лучше кастомный MCP server с явным списком abilities (схема — в руководстве по MCP Adapter)