initialize handshake, discover available tools via tools/list, and call them via tools/call. Plugins register abilities (tools) using the WordPress Abilities API. Here’s how it works end to end for a developer who wants to understand — or extend — the system.The Model Context Protocol is an open standard published by Anthropic in late 2024. It defines a JSON-RPC 2.0 based protocol for AI models to connect to external tools and data sources. In the WordPress context, the MCP Adapter translates between the MCP protocol and WordPress’s native plugin system. For how this compares to the automation tools developers already know — WP-CLI, the REST API, Zapier — see WordPress AI Agents vs. Traditional Automation: A Developer’s Honest Comparison.
The Request Flow: From Prompt to WordPress Action
- Prompt:
"Create a post titled 'Hello World'" - AI reasoning: The model identifies that
wds/create-postis the right ability and constructs the parameters - MCP call:
tools/call {name: "wds/create-post", arguments: {title: "Hello World", status: "draft"}} - Transport: JSON-RPC 2.0 POST to
/wp-json/mcp/mcp-adapter-default-serverwithMcp-Session-Idheader - WordPress: MCP Adapter routes to the registered ability callback;
wds/create-postexecutor runswp_insert_post() - Response: JSON result (post_id, URL, edit_url) returned to the AI
- Output: The AI reports success and the post URL
The Session Protocol
MCP connections are stateful per session. The sequence for a direct API call (e.g. for debugging or non-Claude clients):
- POST
initializewithMcp-Protocol-Versionheader → get backMcp-Session-Idin response headers - POST
tools/listwithMcp-Session-Idheader → get all available tools and their schemas - POST
tools/callwithMcp-Session-Idheader → execute a tool
How Plugins Register Abilities
The WordPress Abilities API (provided by the MCP Adapter) exposes wp_register_ability(). Any plugin can call it on the wp_abilities_api_init hook:
add_action('wp_abilities_api_init', function() {
wp_register_ability('my-plugin/do-thing', [
'label' => 'Do a Thing',
'description' => 'Does a thing on the WordPress site.',
'input_schema' => ['type' => 'object', 'properties' => [...], 'required' => [...]],
'execute_callback' => function($params) {
// do the thing
return ['result' => 'done'];
}
]);
});
Several plugins now build on this API — see an honest comparison of the four WordPress MCP plugins available in 2026. WDS MCP Content Manager Pro registers 45 abilities using this API, covering the workflows in JSON-LD schema automation, multilingual sites with Polylang, and general agency workflow automation. The abilities are grouped into seven executor files by domain: content, pages, products, elementor, taxonomy, media, multilingual.
Authentication
The MCP endpoint uses WordPress Application Passwords over HTTP Basic Auth. The AI client sends a base64-encoded username:application_password in the Authorization header. Each ability’s callback runs under the authenticated user’s capabilities — an Editor-level Application Password can create and update content; Admin-level is required for abilities like wds/reindex-yoast-seo. This design is what lets MCP skip OAuth entirely — see No OAuth Required: Simplifying MCP Server Authentication with AWS IAM for the same pattern applied outside WordPress.
WDS MCP Content Manager Pro — €49/domain, 45 abilities, lifetime updates.
Related reading
- WordPress MCP Plugins Compared: WDS MCP Content Manager vs. WPVibe vs. Royal MCP vs. AtlasAI Connector (2026)
- WordPress AI Agents vs. Traditional Automation: A Developer’s Honest Comparison
- No OAuth Required: Simplifying MCP Server Authentication with AWS IAM
- JSON-LD Schema Automation for WordPress: What AI Agents Do That Plugins Can’t
- How to Build a Multilingual WordPress Site with AI and Polylang
- How to Set Up a Complete AI-Powered WordPress Workflow in One Afternoon
- WordPress Agency Workflows: 5 Tasks You Should Be Automating with AI
- Top 5 WordPress Tips for Developers
