50,000+
October 16, 2026
October 2, 2026
Part of the AI Building Blocks for WordPress initiative.
The MCP Adapter bridges WordPress’s Abilities API with the Model Context Protocol (MCP) specification, providing a standardized way for AI agents to interact with WordPress functionality. It includes HTTP and STDIO transport support, comprehensive error handling, and an extensible architecture for custom integrations.
Features:
You can also upload the plugin ZIP via Plugins > Add New > Upload Plugin, or install it with WP-CLI:
wp plugin install mcp-adapter --activate
Model Context Protocol is an open standard for connecting AI agents to external systems. Instead of every AI client needing its own custom integration, a system exposes what it can do as MCP tools, resources and prompts, and any MCP-compatible client can use them. See modelcontextprotocol.io for the specification.
MCP Adapter is the server and transport layer. It does not provide any AI features itself.
What it exposes comes from the WordPress Abilities API. An ability is a single capability registered by WordPress core or by another plugin, such as reading posts or updating a setting. MCP Adapter takes the abilities registered on your site, makes them available to MCP clients, and handles protocol negotiation, permissions and error handling.
That means you also need abilities on the site for this to be useful, from core or from a plugin that registers its own.
The adapter registers MCP endpoints over the built-in HTTP transport. Point an MCP-compatible client at the endpoint and authenticate as a WordPress user. The adapter supports exact MCP revisions 2025-11-25 and 2026-07-28. See the getting started guide for endpoint details.
No, exposure is opt-in. An ability is only reachable over MCP if it has been marked public, and permission checks still run against the current user before anything executes. See the documentation for how to opt abilities in and out.
On the GitHub repository. Security issues should follow the process in SECURITY.md rather than being reported publicly.
Plugin developers should depend on MCP Adapter by adding Requires Plugins: mcp-adapter to their plugin header. See the README for WP-CLI and wp-env options.
Fixed
Changed
ability_not_found error as unknown names.Added
Breaking Changes
2025-11-25 and 2026-07-28. Clients that propose 2025-06-18 or 2024-11-05 still connect and are served through the 2025-11-25 schema.McpToolValidator, McpResourceValidator, and McpPromptValidator classes, and the mcp_adapter_validation_enabled filter have been removed. Wire validation always runs through the selected schema.HttpRequestHandler or McpWireOrchestrator. JSON-RPC batch requests are rejected.WP\MCP\Cli classes are final.Added
2026-07-28 support, including the sessionless server/discover lifecycle and the new HTTP headers.2026-07-28 by returning McpInputRequired.McpRequestContext, an immutable per-request context with the selected schema, transport, and session data.Changed
Fixed
mcp-adapter/get-ability-info serializes an empty input_schema as {} instead of [].See the 0.7.0 migration guide and CHANGELOG.md for the full list of changes.
Fixed
WP_CLI and WP_CLI_Command, and mapped them to files under tests/phpunit/, which the release artifact excludes. Any plugin calling class_exists( 'WP_CLI' ) on a normal web request could therefore trigger an uncaught fatal error. class_exists( 'WP_CLI' ) now returns false when WP-CLI is unavailable (#283).No API, hook, or protocol behavior changed. Upgrading from 0.6.0 requires no migration. Installations built from source or required through Composer were unaffected.
Breaking Changes
meta.public: true are now exposed through the default MCP server unless meta.mcp.public explicitly opts out. Existing permission callbacks and capability checks still apply.McpValidator have been removed. Integrations calling them directly should apply their own application-specific MIME validation.Added
resources/templates/list, returning an empty template list when no templates are available.Changed
WP\MCP classes win when the standalone adapter and another plugin bundle different versions.category field, and improves examples throughout.Fixed
_meta is preserved on resource contents, embedded resources, content blocks, and prompt messages._meta is omitted without discarding the payload it accompanies.mimeType is emitted exactly as declared, including values with parameters such as text/html;profile=mcp-app.wp mcp-adapter serve keeps JSON-RPC stdout clean when selecting the default server.--user argument is used instead of registering a conflicting local option.For older releases, see CHANGELOG.md.