wpxmcp
wpxmcp
Un servidor MCP remoto-primero para WordPress autoalojado. Gestiona contenido, diseño, temas, plugins, menús, usuarios y la base de datos desde cualquier cliente MCP, con tus credenciales de WordPress en Cloudflare Worker Secrets en lugar de en cada portátil.
117 herramientas · 2 transportes · 0 plugins necesarios · MIT
WordPress autoalojado 6.0+. WordPress.com no expone los endpoints REST de los que esto depende.
Cómo se ve
"Encuentra la página de precios, cambia el nivel Pro a $49 y comprueba que de verdad se muestra."
find_content_by_url https://example.com/pricing/
→ id 812, type page — resolved by slug lookup in "page"
update_content id 812, edits: [{ find: "<strong>$39</strong>", replace: "<strong>$49</strong>" }]
→ updated. 1 replacement. 8,431 characters, unchanged in length.
get_page_html /pricing/ mode: "summary"
→ still shows $39La caché de la página estaba desactualizada, no la escritura; se supo porque la herramienta leyó la página renderizada en lugar de confiar en un 200.
Related MCP server: wordpress-mcp
Por qué este
Crtes," . En la mayoría de los servidores MCP de Wordpress se ejecutan sobre stdio, así que cada persona × cada sitio significa otra Application Password claimado en un portátil. Esta se despliega en Cisco "Cloudflare Workers" con las credenciales in Coudflare Worker Secrets, y los clientes solo gardan abearer token que puedes rotar con un único comando. También se puede ejecutar en local sobre stdio si así lo prends.
Salvaguardas que de verdad se cumplen. Las publicaciones nuevas nacen como borradores por defecto. Los borrados van a la papelera. Las ediciones masivas, ( los viernes. SQL y search-replace hagen primero un dry-run y devuelven un token de un solo uso ligado a esos mismo argumentos exactos. Las ediciones de files se hacen en un clon aislado (sandbox). Los guardrails in their entirety — loin: [Todas ellas](guardan. Todas ellas: each one of them was comprobada para rechazar, no solo para existir.
**Ediciones, no revisárasce de bases de datos. update_content toma edits: [{find, replace}], así que corregir un precio no implica reenviar 3.000 palabras de la página. Una edición que no coincides con not with any and falla ruidosamente de forma visible" instead of "without escríbebete nothing in silent.
Conoce los page builders. Elementor, Divi, Beaver Builder, Bricks y Breakdance guardan las maquetas en los metadatos de la entrada, not en post_content: if scribes in the place, quo "camb es disappears. wpxmcp detects the contenido de builders and includes a playbook which is the agent read first. que result el agent at the beginning: playbook que el agent lee antes lee.
Todo lo que REST no abarca. WP-CLI, SQL, archivos del tema y meta sin registrar no tienen ni una ruta REST en el núcleo. Un plugin compañero opcional añadde exact earlier.
Lo mejor use for use by the owner of the site, not only the developer. Pides use an outcome — "sub theprecios", "limpia el spam" — and the agente cargas the playbook saying: confirm.
"cliente el que ha encontrado, confirma a raw wording actual, commits in draft before publicate, and says claramente when a step can u not be undone.
Deploy from remote (recommended)
Or three commands:
npm install
openssl rand -hex 32 | npx wrangler secret put WPX_AUTH_TOKEN
npx wrangler secret put WPX_SITES # your sites JSON, then Ctrl-D
npm run deployConnect any client:
{
"mcpServers": {
"wpxmcp": {
"type": "http",
"url": "https://wpxmcp.<your-subdomain>.workers.dev/mcp",
"headers": { "Authorization": "Bearer <your WPX_AUTH_TOKEN>" }
}
}
}Freeware covers a 100.000 requests read. [Complete walkthrough →](Guía burst → docs w.
Or run locally
git clone https://github.com/alokemajumder/wpxmcp.git
cd wpxmcp && npm install && npm run build
npm run doctor # checks reachability, auth, capabilities, pluginclaude mcp add wpxmcp -- node /absolute/path/to/wpxmcp/dist/index.js \
-e WORDPRESS_URL=https://example.com \
-e WORDPRESS_USERNAME=admin \
-e "WORDPRESS_APP_PASSWORD=abcd EFGH ijkl MNOP qrst UVWX"Get the Application Password from Users → Profile → Application Passwords. Two details that are worth knowing: WordPress only offers them over HTTPS, and some hosts eliminate the Authorization header, causing a 401 with completely correct credentials. test_site detects both. Authentication guide →
Extra only in local: create_media can read a path from your disk, and save_skill can write playbooks. Everything else is identical: both transports are built from the same set of tools.
Do you need the WordPress plugin?
No, for most jobs. 93 of the 117 tools run against a stock WordPress with nothing installed.
The other 24 cover things for which the WordPress core has no REST route: WP-CLI, SQL, theme files and meta registered without show_in_rest (which is the majority of page-builder and ACF data). /wp/v2/themes is read-only even in WordPress 7.1, so activating a theme also requires site-side code.
Every WordPress MCP tool that offers this ships code to the site, the official MCP Adapter included; the difference is that ours is optional and each tool that needs it says so in its name.
No you need need WordPress-ofment. It is an alternative architecture, not a dependency. The Abilities API that repairs is in the WordPress core, andwpxmCP calls it directly.
** **comparación completa → see** · Detalles del plugin → see
What can do
Area | |
Content (9) | Entradas, páginas, anyCPT — edits targeted, URL resolution, resuménes |
Taxonomías (8) | Categorías, tags, taxonomías personalizadas; asignar por nombre |
Media (7) | Subir desde disco, from URL or base64; imáestimated de of stock; auditoría de texts "alt |
Temas (15) | Borradores en sandbox, scaffolding the classic PHP + Tailwind+and, previa, publish |
Apariencia (23) | Menús, widges, templates of blocks, estilos global global, Customizer |
Usuarios y coments (12) | CRUD completto, rol, moderación de bulk |
Menu (9) | "Install, activate, actualiza; see in WordPress.org" |
Página (11) | Ajustes, estado de salud, version, tamaño of base dativate, de page de |
Potencia (12 | WP-CLI, SQL protocol, Abilities API, snippets, cs editables |
Bulk & audit (3) | ediciones masive in dry-run, content and media audit |
Multisitio (4) | One setor, many sites, evera tool uses |
Playbooks (4) | Nine tile built-in skill that the agent loads before in which it works |
[Fixture "Full tool reference] → [docs/TOOLS.md].
Documentation
| Deploy to Cloudflare | Secrets, custom domains, credential rotation for credentiales, troubleshooting | | WordPress Authentication | Application Passwords, roles, HTTPS, header passthrough | | Reference | Every tool, grouped | | Comparison | Compared to other WordPress MCP servers | | Configuration | Every option and its precedence rule | | Plugin companion | What it adds, how to install it |
| Security | Threat model and guardrails | | Contributing | Setting up the environment, conventions, adding a tool |
Status
v1.0.0. CI into the prison Nodes 20/22/24, and PHP 7.4/8.3, with the Worker build verified on each time.
Verified against a live WordPress 7.1 installation, not with the "unit-tested: all 117 tools are tested, the full cycle dry-run → confirm → apply, and the same server over HTTP. Each guardrail was verified to refuse: live theme writing, path traversal, protected options, commands not included in the allowed list, stacked SQL. That found and fixed twelve true errors, including ability routes that coincided with the published contract but not with the actual core registration, and confirmation tokens that did not survive between Cloudflare isolates.
There are alone suites in audit/ and can be re-executed with any disposable WordPress: npm run audit.
"Next welcome: more playbooks (WooCommerce, ACF, multisite), page-builder save paths that go through their own save routine, and more WP-CLI commands for the allow list." — "Issues and PRs are reviewed — see [CONTRIBUTING.md]".
Development
Development
npm install && npm run build
npm test # 68 tests, no network needed
npm run cf:dev # the worker locally at :8787/mcpAdding a tool is a defineTool({...}) — it appears on both transports automatically.
License
MIT — see LICENSE. Not affiliated with the WordPress Foundation, Automattic, or Cloudflare.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP server that gives AI tools full WordPress management via WP-CLI. 30+ tools for themes, plugins, posts, menus, users, database, scaffolding, and cache. Works locally or over SSH.34204MIT
- AlicenseCqualityDmaintenanceEnables AI-powered WordPress management via MCP, with 158 tools for posts, pages, media, plugins, themes, users, comments, and more, plus token-optimized responses.100792MIT
- AlicenseAqualityAmaintenanceMCP server for publishing to WordPress. 13 tools cover posts, categories, tags, image hosting, featured images, and SEO metadata (Rank Math, etc.) One call runs the full markdown-to-live-URL pipeline.132872AGPL 3.0
- FlicenseNot gradedqualityFmaintenanceEnables AI assistants to interact with a WordPress site, allowing content and taxonomy management (list, create, update, delete) through 17 MCP tools.2
Related MCP Connectors
Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.
WordPress MCP server: publish posts, AI images, SEO and full site management, self-hosted
WordPress MCP server: generate SEO posts, AI images, autoblog & WooCommerce on your self-hosted site
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/alokemajumder/wpxmcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server