WordPress MCP
Connects a WordPress site to Claude Code so it can read and write posts, pages and media directly.
Setup
Uses the Automattic proxy as a stdio server:
{
"mcpServers": {
"wordpress": {
"command": "npx",
"args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
"env": {
"WP_API_URL": "https://example.com/wp-json/mcp/novamira",
"WP_API_USERNAME": "your-user",
"WP_API_PASSWORD": "application password, not the login password"
}
}
}
}
There's an add-wp-mcp skill that handles this, use that rather than doing it by hand.
What it gives you
| Tool | Use |
|---|---|
| Posts and pages | Read and write content |
| Media | Browse and upload |
create-admin-access-link | One-click admin login link |
create-upload-link | Hand someone an upload URL |
disable-file / enable-file | Toggle a plugin or theme file off to test |
| Block editor queue | Push Gutenberg blocks |
skill-get / skill-write / skill-edit / skill-delete | Manage skills stored on the site |
Trap: local sites fail with a TLS error
Local sites on *.mac, *.test, *.ddev.site or *.localhost fail with:
MCP WordPress Remote Proxy Server Connection Failed
UNABLE_TO_VERIFY_LEAF_SIGNATURE
The Node proxy won't accept mkcert, DDEV or Valet self-signed certificates. Two fixes:
| Fix | Trade-off |
|---|---|
NODE_TLS_REJECT_UNAUTHORIZED=0 in the server env | Quick, but turns off certificate checking for that process |
NODE_EXTRA_CA_CERTS pointed at the local CA root | More effort, keeps verification on. Prefer this |
This has caught me out on several separate occasions. If a local site won't connect, it's almost always this.