Development

Using WordPress MCP as a Development Tool

Over the past few days, I’ve been testing the WordPress MCP server. I’ve got it running now, and honestly, it’s one of those tools that, even if not many people are using it yet, can really make life easier for developers working with WordPress every day. In this post, I’ll walk you through what it is, how to install it, what it’s for, how to extend it, and I’ll leave the door open for a future topic: the Feature API.

What’s an MCP?

MCP stands for “Model Context Protocol.” It’s a structured way to connect external tools or AI agents to a local or remote system. In simple terms, it enables outside clients to interact with WordPress in a standard and predictable manner, utilizing well-defined tools and resources.

What’s the WordPress MCP?

Automattic released a plugin called wordpress-mcp that turns your WordPress site into an MCP-compatible interface. This plugin doesn’t do anything visible on its own, instead, it exposes a set of tools that can be called by an external runner.

How to Install (Local Dev Setup Using WP-CLI and Git)

Assuming you already have a local WordPress environment, run this:

Once activated, go to Settings > MCP in wp-admin and enable the plugin.

Then, in the same environment, clone the remote client.

Bash Code fro Installing mcp-wordpress-remote

This client acts as the MAP (Model Action Protocol) server. It’s what listens for instructions from tools like Claude or Cursor and talks to your WordPress site through the MCP interface provided by the plugin.

Using the Remote Client

The mcp-wordpress-remote client is what receives instructions from agents like Cursor and sends them to your WordPress MCP plugin. Think of it as the bridge between the agent and your local site.

⚠️ Important: The wordpress-mcp plugin does not operate on its own. It only exposes functionality when the remote client is running and connected.

Configuration details: https://github.com/Automattic/mcp-wordpress-remote

✅ Heads-up: This project is still under active development — behavior, defaults, and setup requirements may change. Always check the latest documentation.

 

What can we do with it?

Once everything is running, you can do things like:

  • Create draft posts
  • Fetch recent content
  • Query users
  • List comments

Basically, anything exposed as a tool by the MCP plugin can be triggered by an agent. It’s incredibly helpful when building integrations, testing flows, or speeding up repetitive tasks.

Here’s a more practical example: imagine you’re working on a feature that depends on listing or displaying posts. Instead of manually creating test content, you could ask your agent (via Cursor or Claude): “Create 10 draft posts titled ‘Test Feature Post #1–10’ with placeholder content.” It will immediately create those entries on your site via the MCP API.

Or say you’re building a new layout that depends on specific plugins. You could type: “Install the following plugins from the WordPress repo: Gutenberg, Query Monitor, and FakerPress.” This saves you time during setup, allowing you to focus on writing or debugging the actual feature logic.

You can even use it for debugging. For example, you could say: “Check the latest PHP debug log and summarize the issue.” Cursor will read the debug_log file from your local environment and give you a quick explanation or suggestion on how to fix it. It’s like having a dev assistant that not only runs commands, but helps you understand what’s going wrong. You’re not building mock data manually anymore — the agent handles it all via WordPress MCP.

Adding Your Tools

You can extend the plugin by adding custom tools to the /includes/Tools/ directory. Each tool includes:

  • A name
  • An input schema
  • A PHP function that performs the operation

Just follow the structure of existing tools in the plugin. This gives you full control to expose any internal logic you need.

Here’s a minimal example of a custom tool class:

Once registered, this tool will be available through the MCP interface.

Wrap-up

WordPress MCP is still in early development, but it’s already proving useful for local dev workflows and automation. If you’ve tried it or plan to, let us know how it goes.

Comments

Have a comment?

Your email address will not be published. Required fields are marked *

accessibilityadminaggregationanchorarrow-rightattach-iconbackupsblogbookmarksbuddypresscachingcalendarcaret-downcartunifiedcouponcrediblecredit-cardcustommigrationdesigndevecomfriendsgallerygoodgroupsgrowthhostingideasinternationalizationiphoneloyaltymailmaphealthmessagingArtboard 1migrationsmultiple-sourcesmultisitenewsnotificationsperformancephonepluginprofilesresearcharrowscalablescrapingsecuresecureseosharearrowarrowsourcestreamsupporttwitchunifiedupdatesvaultwebsitewordpress