Skip to main content
Glama

wp-mcp

wp-mcp

Servidor MCP que convierte Claude Code en un operador completo de WordPress — contenido, medios, plugins, temas y edición directa de archivos de tema — en cualquier sitio, incluido el alojamiento compartido sin SSH/WP-CLI.

Cómo funciona

Dos partes:

  • bridge/wp-mcp-connector.zip — un pequeño plugin de WordPress que se sube una vez por sitio. Proporciona la conexión basada en token, los endpoints de archivos (limitados a wp-content), un instalador de plugins/temas y un rescue.php independiente que puede restaurar una copia de seguridad incluso cuando una edición PHP defectuosa ha tumbado el sitio.

  • server.mjs — el servidor MCP registrado en Claude Code. Se comunica con el plugin y con la API REST principal de WordPress.

Ciclo de vida de la conexión (todo el modelo de seguridad)

  1. Sube wp-mcp-connector.zip al sitio (Plugins → Añadir nuevo → Subir) y actívalo.

  2. wp-admin → Ajustes → WP MCP → Generar token (elige la caducidad: 1h / 8h / 24h / 7d). El token se muestra una sola vez. Un token nuevo sustituye a cualquier token anterior.

  3. Dile a Claude: connect to https://example.com with token wpmcp_xxx, call it "clientx".

  4. Trabaja: edita archivos de tema, instala plugins, escribe entradas, lo que sea.

  5. Di disconnect from clientx — el token se revoca en el sitio y se olvida localmente.

  6. Siguiente sesión: genera un token nuevo y vuelve a conectarte.

No hay credenciales permanentes en ningún lugar. sites.json (ignorado por git, chmod 600) solo contiene los sitios conectados actualmente.

Related MCP server: AutoWP MCP Server

Configuración (una sola vez, en este Mac)

cd ~/mcp/wp-mcp && npm install
claude mcp add --scope user wordpress -- node ~/mcp/wp-mcp/server.mjs

Herramientas

herramienta

qué hace

wp_connect / wp_disconnect / wp_sites

ciclo de vida de la conexión

wp_content_list/get/create/update/delete

entradas, páginas, cualquier tipo de contenido personalizado

wp_media_upload

archivo local → biblioteca de medios

wp_plugins

listar / instalar (slug de wp.org o URL de zip) / activar / desactivar / actualizar / eliminar

wp_themes

listar / instalar / activar / eliminar

wp_file_list/read/write/delete

archivos directos bajo wp-content (temas, plugins, subidas)

wp_file_restore

deshacer una escritura de archivo desde su copia de seguridad automática .wpmcp-bak — recurre a rescue.php si el sitio está irremediablemente roto

wp_cache_purge

purgar las cachés de página conocidas (Jetpack Boost, WP Super Cache / W3TC, LiteSpeed) después de los cambios

wp_api

vía de escape REST en bruto (/wp/v2/settings, /wc/v3/orders, menús, usuarios…)

Notas de seguridad

  • Cada wp_file_write sobre un archivo existente guarda primero <file>.wpmcp-bak. Si una edición de functions.php deja el sitio en blanco, wp_file_restore sigue funcionando: rescue.php se ejecuta sin cargar WordPress en absoluto.

  • El acceso a archivos se limita a wp-content. Para permitir toda la raíz de WP (p. ej. ediciones de wp-config.php), añade define('WPMCP_ALLOW_FULL', true); a wp-config.php.

  • Usa solo sitios HTTPS: el token viaja en una cabecera.

  • Algunos hosts compartidos eliminan la cabecera Authorization; el servidor también envía X-WPMCP-Token, que sobrevive en todos los entornos probados.

  • En multisitio, la instalación de plugins/temas necesita el token de un superadministrador.

  • El HTML que se pasa a wp_content_create/wp_content_update se envuelve en un bloque de HTML en bruto por defecto, para que el filtro autop de WordPress no pueda reformatear el marcado estructurado (pasa autop_safe: false para desactivarlo).

  • Todas las solicitudes envían un User-Agent similar al de un navegador: algunos WAF de hosts compartidos rechazan los agentes que no son de navegador con un 403 opaco.

Related MCP Connectors

Related MCP Servers