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 или новее
Установка и настройка
Заголовок раздела «Установка и настройка»- Плагины → Добавить новый → найти «Enable Abilities for MCP» → установить и активировать.
- Перейти в Настройки → WP Abilities — там тумблеры для каждой ability, сгруппированные по категориям.
- Установить и настроить MCP Adapter, подключить AI-клиент по STDIO или HTTP (конфиги — в практическом руководстве по MCP Adapter).
⚠️ По умолчанию после активации включены почти все abilities. Перед боевым подключением пройдитесь по списку и выключите лишнее — особенно write-инструменты, которые не нужны вашему сценарию. Деструктивные abilities для Elementor и LearnDash выключены по умолчанию (opt-in).
На Multisite плагин можно активировать для всей сети — у каждого сайта своя конфигурация abilities.
Категории abilities
Заголовок раздела «Категории 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-поля по ключу (с блоклистом защищённых), очистка кэша |
Ключевые сценарии
Заголовок раздела «Ключевые сценарии»SEO-аудит и правки через AI-агента
Заголовок раздела «SEO-аудит и правки через AI-агента»Связка read + write abilities закрывает полный цикл SEO-работы агента:
- Агент читает пост с SEO-метаданными (
ewpa/get-post) - Получает content analysis от SEOPress (
ewpa/get-seopress-content-analysis) — каждая проверка с уровнем влияния и текстовой рекомендацией - Обновляет мету (
ewpa/update-seopress,ewpa/update-yoast,ewpa/update-rank-math) - С параметром
refresh=trueзапускает повторный анализ и проверяет результат
Для Yoast дополнительно доступен sitemap index — агент может построить карту всех URL сайта с датами изменений.
Stale-audit loop и очистка кэша
Заголовок раздела «Stale-audit loop и очистка кэша»Тонкая проблема 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.
Управление llms.txt
Заголовок раздела «Управление llms.txt»Категория 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-агентов.
WooCommerce
Заголовок раздела «WooCommerce»Отдельные 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
Заголовок раздела «Расширение своими abilities»Плагин регистрирует 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)
Связанные страницы
Заголовок раздела «Связанные страницы»- WordPress MCP Adapter: практический запуск — установка адаптера, конфиги клиентов, кастомные серверы
- AI-архитектура WordPress — место Abilities API и MCP в экосистеме
- LLMs.txt для AI-агентов — теория и спецификация llms.txt
- Плагины WordPress: основы выбора и установки
- SEO-плагины WordPress: сравнение и выбор — Rank Math, SEOPress, Yoast, которыми управляет плагин