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.

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.
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)

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.