Setup, Limits, and When a Plugin Is Easier


How to set up the MCP Adapter 🔧

The adapter’s own site-owner guide covers this path in detail; here is the short version. The claude mcp add command below is the guide’s own and was not run as written; the same Basic header over HTTP worked from a Claude Code MCP config file.

Install it

Go to Plugins > Add New, search for “MCP Adapter”, and install the card by WordPress.org. WP-CLI does the same job: wp plugin install mcp-adapter --activate.

MCP Adapter plugin card by WordPress.org, Active, 50,000+ active installations, five stars from one rating
The official card, active.

Create an Application Password

HTTP clients authenticate as a WordPress user with an Application Password. Go to Users > Profile, scroll to Application Passwords, give it a name you will recognize (“Claude Code on my laptop”), click Add Application Password, and copy the value, because WordPress shows it only once.

One ground rule: live sites need HTTPS, because WordPress only offers Application Passwords on sites served over HTTPS, except on local development sites.

Users ><noscript><img data-opt-id=Name the password in the New Application Password Name field, click Add Application Password, and revoke the row here when the client no longer needs it.

Connect your client

Three routes, depending on where the client runs.

HTTP clients that accept a custom header, such as Claude Code, skip the helper. The header is Authorization: Basic plus the base64 encoding of username:application-password:

printf 'your-username:xxxx xxxx xxxx xxxx xxxx xxxx' | base64 | tr -d '\n'

claude mcp add --transport http my-wordpress-site \
  https:
  --header "Authorization: Basic PASTE_THE_BASE64_HERE"Code language: JavaScript (javascript)

Desktop apps that read a JSON config, such as Claude Desktop, Cursor, VS Code and Windsurf, go through @automattic/mcp-wordpress-remote, “a small helper that runs on your computer and passes the client’s requests to your site”. In Claude Desktop, open the config from Settings > Developer > Edit Config; in Cursor it is ~/.cursor/mcp.json. Add this entry, then save and restart the app. The helper needs Node.js installed:

{
  "mcpServers": {
    "my-wordpress-site": {
      "command": "npx",
      "args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
      "env": {
        "WP_API_URL": "https://example.com/wp-json/mcp/mcp-adapter-default-server",
        "WP_API_USERNAME": "your-username",
        "WP_API_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx"
      }
    }
  }
}Code language: JSON / JSON with Comments (json)

A local site with WP-CLI skips passwords and serves the adapter over STDIO (if WP-CLI is new to you, install it first). Add this entry to the client’s JSON config, with your own installation path and username:

{
  "mcpServers": {
    "my-wordpress-site": {
      "command": "wp",
      "args": ["--path=/path/to/your/wordpress", "mcp-adapter", "serve", "--server=mcp-adapter-default-server", "--user=your-username"]
    }
  }
}Code language: JSON / JSON with Comments (json)
Diagram: remote HTTP with an Application Password or local WP-CLI STDIO both reach three meta-tools and public abilities only
Two transports behind the three routes (HTTP with an Application Password, directly or through the desktop helper, and WP-CLI over STDIO), one layered model: discover, get the schema, execute.

Test the connection

Start a new chat and ask: “List the WordPress abilities you can use on my site.” A list of abilities, or the message that the list is empty, means the connection works.

Keep the connection contained

Before an AI client touches a real site, a few rules keep the connection contained. Connect the AI as a dedicated WordPress user with the lowest role that can do the job, create one Application Password per client so revoking one does not touch the others, and try new abilities on a staging copy first: the guide’s own warning is “Abilities change your live site the same way an action in wp-admin does.” Treat the content the AI reads as untrusted input, too: OWASP’s LLM01 entry covers indirect prompt injection, instructions smuggled in through external content such as websites or files, and a comment or imported post can carry them.

Leave a Reply

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

Prove your humanity: 3   +   4   =