MCP Adapter
OfficialMCP Adapter
Часть инициативы AI Building Blocks for WordPress
Официальный пакет WordPress для интеграции MCP, который предоставляет возможности WordPress в виде инструментов, ресурсов и подсказок Model Context Protocol (MCP) для ИИ-агентов.
Обзор
Этот адаптер связывает WordPress Abilities API с MCP-спецификацией, предоставляя стандартизированный способ взаимодействия ИИ-агентов с функциональностью WordPress. Он включает поддержку транспортов HTTP и STDIO, комплексную обработку ошибок и расширяемую архитектуру для пользовательских интеграций.
Related MCP server: MCP Adapter Implementation Example
Возможности
Основная функциональность
Преобразование возможностей в MCP: автоматически преобразует возможности WordPress в инструменты, ресурсы и подсказки MCP
Управление несколькими серверами: создание и управление несколькими MCP-серверами с уникальными конфигурациями
Расширяемый транспортный уровень:
HTTP-транспорт: унифицированный транспорт, реализующий спецификацию MCP 2025-11-25 для HTTP-взаимодействия
STDIO-транспорт: обмен данными между процессами через стандартный ввод/вывод для локальной разработки и интеграции с CLI
Поддержка пользовательских транспортов: реализуйте
McpTransportInterfaceдля создания специализированных протоколов связиМноготранспортная конфигурация: настройка серверов с несколькими транспортными методами одновременно
Гибкая обработка ошибок:
Встроенный обработчик ошибок: включено ведение журнала ошибок по умолчанию, совместимое с WordPress
Пользовательские обработчики ошибок: реализуйте
McpErrorHandlerInterfaceдля пользовательских систем журналирования, мониторинга или уведомленийСпецифичные для сервера обработчики: разные стратегии обработки ошибок для каждого MCP-сервера
Наблюдаемость:
Встроенная наблюдаемость: отслеживание метрик по умолчанию с нулевыми накладными расходами и настраиваемыми обработчиками
Пользовательские обработчики наблюдаемости: реализуйте
McpObservabilityHandlerInterfaceдля интеграции с системами мониторинга
Проверка: встроенная проверка инструментов, ресурсов и подсказок с расширяемыми правилами валидации
Контроль разрешений: детальная проверка разрешений для всей предоставляемой функциональности с настраиваемыми разрешениями транспорта
Поддержка компонентов MCP
Инструменты: преобразование возможностей WordPress в исполняемые MCP-инструменты для взаимодействия с ИИ-агентами
Ресурсы: предоставление данных WordPress в качестве MCP-ресурсов для доступа к контекстной информации
Подсказки: преобразование возможностей в структурированные MCP-подсказки для руководства и шаблонов ИИ
Обнаружение серверов: автоматическая регистрация и обнаружение MCP-серверов в соответствии со стандартами протокола MCP
Встроенные возможности: основные возможности WordPress для самоанализа системы и управления возможностями
Интеграция с CLI: команды WP-CLI с поддержкой STDIO-транспорта в соответствии со спецификацией MCP
Архитектура
Полное описание структуры компонентов см. в обзоре архитектуры.
Зависимости
PHP: >= 7.4
WordPress: >= 6.9 (включает Abilities API в ядре — отдельный плагин не требуется)
php-mcp-schema (
^0.1.0): типизированные DTO для типов протокола MCP
Установка
MCP Adapter распространяется как плагин WordPress. Установите и активируйте его, как любой другой плагин. В релиз входит всё необходимое, поэтому не требуется подключать автозагрузчик или выполнять сборку.
Требуется WordPress 6.9 или новее; Abilities API входит в ядро, поэтому отдельный плагин устанавливать не нужно.
Вручную
Скачайте последний стабильный mcp-adapter.zip со страницы релизов GitHub, затем загрузите его через Плагины → Добавить плагин → Загрузить плагин и активируйте.
С помощью WP-CLI
wp plugin install https://github.com/WordPress/mcp-adapter/releases/latest/download/mcp-adapter.zip --activateС помощью WP-Env
// .wp-env.json
{
"$schema": "https://schemas.wp.org/trunk/wp-env.json",
"plugins": [
"https://github.com/WordPress/mcp-adapter/releases/latest/download/mcp-adapter.zip"
]
}Как зависимость вашего плагина
Классы WP\MCP предоставляются плагином MCP Adapter, поэтому объявите его как зависимость плагина с помощью поля Requires Plugins в заголовке вашего плагина:
<?php
/**
* Plugin Name: My Plugin
* Description: Adds MCP tools for my feature.
* Requires Plugins: mcp-adapter
*/Использование MCP Adapter в вашем плагине
Проверьте доступность и инициализируйте на plugins_loaded, чтобы все плагины были доступны до запуска адаптера:
add_action( 'plugins_loaded', function() {
if ( ! class_exists( 'WP\MCP\Core\McpAdapter' ) ) {
// MCP Adapter is not active — show an admin notice or return early.
return;
}
\WP\MCP\Core\McpAdapter::instance();
} );Базовое использование
MCP Adapter автоматически создает сервер по умолчанию, который предоставляет зарегистрированные возможности WordPress через многоуровневую архитектуру. Это обеспечивает немедленную функциональность MCP без необходимости ручной настройки сервера.
Как это работает:
Возможности WordPress, зарегистрированные с помощью
wp_register_ability()сmeta.public, установленным вtrue, доступны для обнаружения и выполнения на сервере по умолчанию через его встроенные инструменты адаптераУстановите
meta.mcp.publicявно, чтобы переопределить высокоуровневый параметр только для MCP;falseисключает публичную возможность, аtrueоткрывает доступ к приватной возможности через MCPНа сервере по умолчанию публичные возможности доступны через
mcp-adapter/discover-abilities,mcp-adapter/get-ability-infoиmcp-adapter/execute-ability, а не регистрируются автоматически по отдельности вtools/listВ качестве альтернативы возможности можно явно указать при создании пользовательского MCP-сервера; в этом случае они могут предоставляться напрямую как инструменты, ресурсы или подсказки MCP без необходимости флага
meta.mcp.publicСервер по умолчанию поддерживает транспорты HTTP и STDIO и поддерживает несколько версий протокола MCP
Включены встроенная обработка ошибок и наблюдаемость
Доступ по HTTP:
/wp-json/mcp/mcp-adapter-default-serverДоступ по STDIO:
wp mcp-adapter serve --server=mcp-adapter-default-server
// Simply register a WordPress ability
add_action( 'wp_abilities_api_init', function() {
wp_register_ability( 'my-plugin/get-posts', [
'label' => 'Get Posts',
'description' => 'Retrieve WordPress posts with optional filtering',
'category' => 'site',
'input_schema' => [
'type' => 'object',
'properties' => [
'numberposts' => [
'type' => 'integer',
'description' => 'Number of posts to retrieve',
'default' => 5,
'minimum' => 1,
'maximum' => 100
],
'post_status' => [
'type' => 'string',
'description' => 'Post status to filter by',
'enum' => ['publish', 'draft', 'private'],
'default' => 'publish'
]
]
],
'output_schema' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'ID' => ['type' => 'integer'],
'post_title' => ['type' => 'string'],
'post_content' => ['type' => 'string'],
'post_date' => ['type' => 'string'],
'post_author' => ['type' => 'string']
]
]
],
'execute_callback' => function( $input ) {
$args = [
'numberposts' => $input['numberposts'] ?? 5,
'post_status' => $input['post_status'] ?? 'publish'
];
return get_posts( $args );
},
'permission_callback' => function() {
return current_user_can( 'read' );
},
'meta' => [
'public' => true, // Expose to clients, including the default MCP server
],
]);
});
// With the meta.public flag, the ability is exposed through the default MCP server.
// In the default server configuration, discover it via `discover-abilities`
// and invoke it via `mcp-adapter/execute-ability` rather than expecting
// it to appear as its own entry in `tools/list`.
// To opt out of MCP while remaining public to other clients, explicitly set
// meta.mcp.public to false.
// To expose only through MCP, omit `meta.public` and set `meta.mcp.public` to true.
// Without either public flag, abilities are only accessible through custom MCP
// servers that explicitly list them.
// Note: how far `meta.public` reaches depends on the WordPress version. WordPress
// core starts applying `meta.public` to the REST API (`meta.show_in_rest`) in 7.1. On
// WordPress 6.9 and 7.0, this adapter honors `meta.public` for MCP, but REST API
// access still requires setting `meta.show_in_rest` to true.Подробную информацию о создании возможностей WordPress см. в документации разработчика Abilities API.
Подключение к MCP-серверам
MCP Adapter поддерживает несколько способов подключения. Вот примеры подключения к MCP-клиентам:
STDIO-транспорт (локальная разработка)
Для локальной разработки и тестирования вы можете взаимодействовать с MCP-серверами напрямую с помощью команд WP-CLI:
# List all available MCP servers
wp mcp-adapter list
# Test the discover abilities tool to see all available WordPress abilities
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"mcp-adapter-discover-abilities","arguments":{}}}' | wp mcp-adapter serve --user=admin --server=mcp-adapter-default-server
# Test listing available tools
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | wp mcp-adapter serve --user=admin --server=mcp-adapter-default-serverКонфигурация MCP-клиента
Настройте MCP-клиенты (Claude Desktop, Claude Code, VS Code, Cursor и т. д.) для подключения к вашим MCP-серверам WordPress.
{
"mcpServers": {
"wordpress-default": {
"command": "wp",
"args": [
"--path=/path/to/your/wordpress/site",
"mcp-adapter",
"serve",
"--server=mcp-adapter-default-server",
"--user=admin"
]
},
"wordpress-custom": {
"command": "wp",
"args": [
"--path=/path/to/your/wordpress/site",
"mcp-adapter",
"serve",
"--server=your-custom-server-id",
"--user=admin"
]
}
}
}Прокси @automattic/mcp-wordpress-remote запускается локально и преобразует STDIO-взаимодействие MCP от ИИ-клиентов в HTTP-вызовы REST API, понятные WordPress. Аутентификация выполняется с помощью паролей приложений WordPress.
{
"mcpServers": {
"wordpress-http-default": {
"command": "npx",
"args": [
"-y",
"@automattic/mcp-wordpress-remote@latest"
],
"env": {
"WP_API_URL": "http://your-site.test/wp-json/mcp/mcp-adapter-default-server",
"LOG_FILE": "/path/to/logs/mcp-adapter.log",
"WP_API_USERNAME": "your-username",
"WP_API_PASSWORD": "your-application-password"
}
},
"wordpress-http-custom": {
"command": "npx",
"args": [
"-y",
"@automattic/mcp-wordpress-remote@latest"
],
"env": {
"WP_API_URL": "http://your-site.test/wp-json/your-namespace/your-route",
"LOG_FILE": "/path/to/logs/mcp-adapter.log",
"WP_API_USERNAME": "your-username",
"WP_API_PASSWORD": "your-application-password"
}
}
}
}Расширенное использование
Создание пользовательских MCP-серверов
Для сложных сценариев вы можете создавать пользовательские MCP-серверы с определенными конфигурациями:
add_action( 'mcp_adapter_init', function( $adapter ) {
$adapter->create_server(
'my-server-id', // Unique server identifier
'my-namespace', // REST API namespace
'mcp', // REST API route
'My MCP Server', // Server name
'Description of my server', // Server description
'v1.0.0', // Server version
array( // Transport methods
\WP\MCP\Transport\HttpTransport::class,
),
\WP\MCP\Infrastructure\ErrorHandling\ErrorLogMcpErrorHandler::class, // Error handler
\WP\MCP\Infrastructure\Observability\NullMcpObservabilityHandler::class, // Observability handler
array( 'my-plugin/my-ability' ), // Abilities to expose as tools
array(), // Resources (optional)
array() // Prompts (optional)
);
} );Реализация пользовательского транспорта
MCP Adapter включает готовые к продакшену HTTP-транспорты. Для специальных требований, таких как пользовательская аутентификация, очереди сообщений или корпоративные интеграции, вы можете создавать собственные транспортные протоколы.
Подробные инструкции по реализации см. в руководстве по пользовательским транспортам.
Пользовательские разрешения транспорта
MCP Adapter поддерживает пользовательскую логику аутентификации через обратные вызовы разрешений транспорта. Вместо проверки is_user_logged_in() по умолчанию вы можете реализовать собственную аутентификацию для ваших MCP-серверов.
Примеры аутентификации см. в руководстве по разрешениям транспорта.
Пользовательский обработчик ошибок
MCP Adapter включает обработчик ошибок по умолчанию, совместимый с WordPress, но вы можете реализовать собственную обработку ошибок для интеграции с существующими системами журналирования, инструментами мониторинга или для удовлетворения конкретных требований.
Подробные инструкции по реализации см. в руководстве по обработке ошибок.
Пользовательский обработчик наблюдаемости
MCP Adapter включает встроенную наблюдаемость для отслеживания метрик и событий. Вы можете реализовать собственные обработчики наблюдаемости для интеграции с системами мониторинга, аналитическими платформами или инструментами отслеживания производительности.
Подробные сведения об отслеживании метрик и реализации пользовательских обработчиков см. в руководстве по наблюдаемости.
Миграция
Руководство по миграции: v0.5.0 — критические изменения и инструкции по обновлению
Руководство по миграции: v0.3.0 — изменения транспорта, наблюдаемости и имен хуков
Лицензия
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
AlicenseBqualityFmaintenanceA WordPress plugin that implements the Model Context Protocol to enable AI models and applications to interact with WordPress sites in a structured and secure way.536944ISC- FlicenseNot gradedqualityDmaintenanceEnables WordPress content management through the Model Context Protocol, allowing AI agents to create, read, update, and delete posts, metadata, taxonomies, and terms, as well as interact with Gutenberg blocks.1
- FlicenseNot gradedqualityFmaintenanceEnables WordPress content management (posts, metadata, taxonomies, Gutenberg blocks) via the Model Context Protocol, demonstrating MCP Adapter integration patterns.
- AlicenseNot gradedqualityCmaintenanceA comprehensive WordPress plugin that implements the Model Context Protocol (MCP) to expose WordPress functionality through standardized interfaces, enabling AI models and applications to interact with WordPress sites securely using multiple transport protocols and enterprise-grade authentication.36MIT
Related MCP Connectors
Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.
WordPress MCP server: publish posts, AI images, SEO and full site management, self-hosted
WordPress MCP server: generate SEO posts, AI images, autoblog & WooCommerce on your self-hosted site
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/WordPress/mcp-adapter'
If you have feedback or need assistance with the MCP directory API, please join our Discord server