Publishing Blog Posts from Claude Code with WordPress MCP

wordpress mcp

If you use Claude Code as part of your daily workflow, you’ve probably thought about reducing the friction between doing something interesting and writing about it. I did. Every time I shipped a feature, debugged a gnarly issue, or discovered a new tool, the blog post about it would sit in my mental backlog for weeks — and usually die there.

The fix turned out to be simpler than expected: connect Claude Code directly to WordPress MCP, so drafting and publishing happens in the same terminal session where the work itself happens.

What Is WordPress MCP?

MCP (Model Context Protocol) is a standardized interface that lets AI tools interact with external services — databases, APIs, SaaS platforms. Think of it as USB-C for AI integrations: one protocol, many services.

Claude Code supports MCP servers natively. You configure a server, and its capabilities become available as tools Claude can call during a conversation. There are MCP servers for Slack, Jira, MongoDB, and — relevant here — WordPress.

Why the Official Automattic WordPress MCP Adapter

There are several third-party WordPress MCP packages floating around npm. I initially looked at a few before landing on @automattic/mcp-wordpress-remotethe official adapter maintained by Automattic, the company behind WordPress.

The reasoning is straightforward:

  • It’s maintained by the people who build WordPress
  • It uses the official REST API under the hood
  • It gets updated when WordPress changes
  • The authentication model is well-documented

For a single-user setup like a personal blog, this is the right tool.

Prerequisites

Before starting, you need:

  • A self-hosted WordPress site running version 6.9 or later
  • Admin access to your WordPress dashboard
  • Claude Code installed and working
  • Node.js (for npx to run the MCP server)

Step 1: Install the WordPress MCP Adapter Plugin

The official MCP Adapter plugin exposes a REST endpoint that the MCP server connects to.

  1. In your WordPress dashboard, go to Plugins → Add New Plugin
  2. Search for “MCP Adapter” by Automattic
  3. Install and activate it

Once activated, the plugin registers a new REST API endpoint at:

https://your-site.com/wp-json/mcp/mcp-adapter-default-server

No configuration needed on the plugin side — it works out of the box.

Step 2: Create an Application Password

WordPress Application Passwords let external tools authenticate without your main login credentials. They’re scoped, revocable, and don’t require OAuth infrastructure.

  1. Go to Users → Profile in your WordPress dashboard
  2. Scroll down to the Application Passwords section
  3. Enter a name (e.g., claude-code) and click Add New Application Password
  4. Copy the generated password immediately — WordPress won’t show it again

The password will look something like XXXX XXXX XXXX XXX — spaces included. Keep the spaces when you use it; WordPress expects them.

Step 3: Add the MCP Server to Claude Code

Claude Code manages MCP servers through the CLI, not config files. Run:

claude mcp add wordpress --scope user -- npx -y @automattic/mcp-wordpress-remote@latest

Breaking this down:

  • wordpress is the name you’re giving this server (arbitrary, but descriptive)
  • --scope user makes it available across all your projects
  • npx -y @automattic/mcp-wordpress-remote@latest runs the official adapter without a permanent install

This creates an entry in ~/.claude.json with the server definition.

Step 4: Configure Environment Variables

The CLI command creates the server entry but doesn’t set authentication. You need to add environment variables to the server config in ~/.claude.json.

Find the wordpress entry under mcpServers and add the env block:

{
  "wordpress": {
    "type": "stdio",
    "command": "npx",
    "args": [
      "-y",
      "@automattic/mcp-wordpress-remote@latest"
    ],
    "env": {
      "WP_API_URL": "https://your-site.com/wp-json/mcp/mcp-adapter-default-server",
      "WP_API_USERNAME": "your-wordpress-username",
      "WP_API_PASSWORD": "your-application-password",
      "OAUTH_ENABLED": "false"
    }
  }
}

A few notes:

  • WP_API_URL points to the MCP Adapter endpoint, not the standard WordPress REST API
  • WP_API_USERNAME is your WordPress login username
  • WP_API_PASSWORD is the Application Password from Step 2, spaces and all
  • OAUTH_ENABLED set to false tells the adapter to use Application Password auth instead of OAuth

The credentials are stored in plaintext in ~/.claude.json. This is consistent with how other MCP servers store credentials in Claude Code. If this concerns you, ensure your home directory permissions are locked down.

Step 5: Restart and Test

MCP servers load at startup, so restart Claude Code after making changes.

Once restarted, the WordPress tools should appear in your available MCP tools. You can verify by asking Claude to discover the available WordPress abilities or list your recent posts.

At the time of writing, the MCP Adapter plugin does not expose post creation or retrieval abilities — the only available tools are Yoast SEO score queries. That means you can’t yet create or list posts through the MCP interface. To actually publish, you’ll need to call the WordPress REST API directly (which uses the same Application Password credentials). The toolset is still maturing, so expect post management abilities to land in a future update.

The Workflow in Practice

With the connection live, the blog workflow becomes conversational:

  1. Finish a piece of work in Claude Code
  2. In the same session, ask Claude to draft a blog post about what you just did
  3. Review and refine the draft
  4. Publish directly to WordPress as a draft for final review in the WordPress editor

The key advantage isn’t automation for its own sake — it’s reducing the gap between doing and documenting. When the blog post happens in the same context as the work, the details are fresh and accurate.

Caveats

Plugin maturity: The MCP Adapter plugin is relatively new. As of June 2025, it only exposes Yoast SEO abilities — no post creation, retrieval, or updating. To publish posts programmatically, you need to hit the WordPress REST API directly using the same Application Password. The MCP adapter gives you the authentication plumbing and the connection, but the post management abilities haven’t landed yet. Expect this to change as the plugin matures.

WordPress 6.9 requirement: If your site runs an older version, you’ll need to update before the plugin will work. Check compatibility with your theme and other plugins before upgrading.

Plaintext credentials: As mentioned, Application Passwords sit in ~/.claude.json unencrypted. This is a known trade-off with the current MCP server configuration model.

No OAuth: For a personal blog with a single author, Application Passwords are fine. For multi-user or organizational setups, you’d want OAuth — which the adapter supports but requires more infrastructure to configure.

Wrapping Up

If you’re already using Claude Code for development work and maintain a technical blog, wiring up WordPress through MCP removes the biggest friction point in publishing: context switching. The setup takes about ten minutes, and the payoff is that writing about your work becomes part of the work itself rather than a separate task you never get to.

Start with drafts. Review them in WordPress before publishing. Once you trust the flow, you can tighten the loop further.

Share Via:

Leave A Comment

Please be polite. We appreciate that. Your email address will not be published and required fields are marked