Skip to content
Plak
Esc
↑↓navigate↵open⌘Jpreview
On this page

MCP y sitios agent-ready

Qué es MCP, cómo funciona dentro de Plak CLI y cómo preparar y usar sitios con WP-MCP y wp-mcp-cli.

MCP (Model Context Protocol) es el protocolo abierto que usan los asistentes de código (Claude, Codex, Cursor, OpenCode, Pi y otros) para pedirle acciones a WordPress en lugar de adivinar URLs o tocar la base de datos a mano. Plak CLI lo integra de serie: un sitio “agent-ready” expone sus capacidades por REST y el agente las ejecuta con wp-mcp-cli.

Comprobado con Plak CLI v0.4.66 y wp-mcp-cli v0.1.9

Qué es cada pieza

Un sitio agent-ready combina cuatro piezas. Conviene distinguirlas porque cada una falla de una forma distinta:

Pieza Qué es Para qué sirve
WP-MCP Plugin de WordPress instalado en el sitio (desde downloads.plak.io) Expone abilities (capacidades) por la REST API: leer y escribir ficheros, ejecutar WP-CLI, gestionar Gutenberg, memoria, formularios, SEO…
HTML Editor Plugin acompañante (editor visual del bloque HTML) Permite a editores y agentes componer HTML con previsualización y edición en contexto
wp-mcp-cli CLI complementaria instalada junto a Plak Habla con esas abilities por REST con usuario y contraseña de aplicación; es lo que el agente ejecuta en la terminal
Perfil del sitio Credencial guardada por wp-mcp auth login bajo el nombre del sitio Evita escribir usuario y contraseña en cada comando: wp-mcp --site mi-sitio ... ya sabe dónde y cómo autenticarse

MCP como protocolo define el cómo se piden las cosas (herramientas con nombre, esquema de entrada y salida). WP-MCP es la implementación para WordPress (wp_get_ability($name)->execute($input) en el servidor). wp-mcp-cli es el cliente de terminal que usa Plak: misma ejecución en el servidor, pero por REST + Basic Auth en lugar de JSON-RPC, lo que funciona en cualquier terminal, CI o sesión SSH sin un cliente MCP persistente.

Cómo funciona dentro de Plak CLI

plak install instala wp-mcp-cli (y su dependencia jq) junto a la pila local. A partir de ahí, cada sitio WordPress nuevo nace agent-ready por defecto cuando wp-mcp-cli está disponible, sin que tengas que recordar ninguna bandera:

plak add mi-sitio              # agent-ready si wp-mcp-cli está instalado
plak add mi-sitio --no-agent   # opta por no prepararlo
plak add mi-sitio --agent      # fuérzalo de forma explícita

Con --agent (o por defecto), Plak ejecuta estos pasos en orden, y cada uno es idempotente (puedes repetirlo sin duplicar nada):

Instala y activa los plugins

Descarga WP-MCP y HTML Editor desde downloads.plak.io (con el User-Agent PlakCLI/<versión>) y los activa con WP-CLI. Después comprueba que cada uno está realmente activo, no solo instalado.

Repara la REST API

Fija una estructura de enlaces permanentes estándar (/%postname%/) solo si no hay ninguna, y regenera las reglas de reescritura. Sin esto, /wp-json/... lo renderiza el tema en lugar de llegar a la REST API y todas las llamadas fallarían.

Activa las abilities

Habilita las abilities de WP-MCP (wp_mcp_ai_abilities_enabled = 1) y las vincula al dominio del sitio (...localhost). Sin este paso, descubrir funciona pero cada ejecución se rechaza con wp_mcp_disabled.

Crea la credencial y el perfil

Genera una Application Password de WordPress del usuario admin con el nombre Plak CLI (agent) (rotando la anterior si existe, para no acumular credenciales), la envía por variables de entorno (nunca en argv, para que no salga en listados de procesos) a wp-mcp auth login --name <sitio> y verifica con wp-mcp --site <sitio> discover que las abilities se descubren de verdad.

El resultado queda marcado con un fichero agent-ready en el sitio, que es lo que muestran plak list y el dashboard. Si la preparación falla después de crear el sitio, el sitio se conserva y el error indica cómo repararlo (ver Reparar más abajo): nunca se borra un WordPress válido porque falle un plugin del agente.

--agent exige WordPress y no se puede combinar con --plain (sitio estático) ni con --multisite. plak import y plak clone preparan igual los WordPress que crean (o te dicen cómo hacerlo), y plak list muestra la columna de estado.

Cómo se utiliza

1. Descubrir qué puede hacer el sitio

wp-mcp --site mi-sitio --json discover

Devuelve la lista de abilities con su categoría, descripción y esquema. Es el equivalente a “¿qué herramientas tengo?”. En un sitio Plak con Fluent Forms y Slim SEO instalados, verás unas 50 abilities entre site, filesystem, code-execution, gutenberg, fluentforms, slimseo, memory y otras (el catálogo exacto depende de lo instalado: ver Temas, editores y plugins).

2. Leer la ficha de una ability

wp-mcp --site mi-sitio describe wp-mcp/list-directory

Muestra el esquema de entrada (input_schema), la salida esperada y sus anotaciones (si es de solo lectura, si es destructiva, si es idempotente). Lee siempre esta ficha antes de ejecutar algo destructivo.

3. Ejecutar una ability

wp-mcp --site mi-sitio run wp-mcp/list-directory --input '{"path":"/"}'
wp-mcp --site mi-sitio run wp-mcp/run-wp-cli --input '{"args":["plugin","list","--format=json"]}' --yes

--yes confirma las operaciones destructivas (igual que en Plak CLI). --json fuerza salida JSON para scripts. La selección del sitio sigue este orden: --site <nombre>, variable WPMCP_SITE, o el único perfil si solo hay uno.

Otros comandos útiles:

wp-mcp sites list                    # perfiles guardados
wp-mcp auth status                   # perfil activo y resumen de credencial
wp-mcp doctor                        # diagnostica bash, jq, curl, config, credenciales y alcance
wp-mcp skill install opencode        # instala la skill oficial de wp-mcp para tu agente

plak skill install ya instala la skill de Plak y la de wp-mcp para cada agente (codex, claude-code, opencode, hermes, pi, global, all).

Requisitos que suelen fallar

Síntoma Causa y solución
El sitio no responde Debe estar servido y accesible (plak reload, comprueba https://<sitio>.localhost). La preparación espera hasta 10 intentos antes de rendirse.
curl exit 60 en Linux El curl de Homebrew no lee el almacén del sistema. Ejecuta plak trust para instalar la CA local de Caddy; Plak exporta el bundle automáticamente a wp-mcp cuando lo necesita.
wp_mcp_disabled Las abilities están apagadas o vinculadas a otro dominio. Repara con plak agent <sitio>, que vuelve a habilitarlas y a fijar el dominio.
site_required Hay varios perfiles y no se indicó cuál. Usa --site <nombre> o WPMCP_SITE.

Reparar un sitio

plak agent mi-sitio
plak agent mi-sitio --json

Hace exactamente lo mismo que la preparación inicial (instala y activa plugins, fija permalinks, habilita abilities, rota la Application Password, refresca el perfil y verifica), pero pensado para reintentar sobre un sitio existente. En modo --json el progreso va a STDERR y STDOUT queda como un único objeto ({"success":true,"site":...,"profile":...,"url":...}) para scripts.

Qué puede hacer un agente con esto

Una vez listo, el agente ya no necesita adivinar llamadas REST: descubre, describe y ejecuta.

  • Ficheros: wp-mcp/read-file, write-file, edit-file, delete-file, list-directory, create-upload-link, disable-file, enable-file.
  • Comandos: wp-mcp/run-wp-cli (cualquier comando WP-CLI, síncrono o en segundo plano con get-wp-cli-job) y wp-mcp/execute-php (PHP arbitrario: úsalo con cuidado).
  • Contenido: gutenberg-get-content, gutenberg-write-content y la cola de borradores (create-pending-batch, add-pending-change, enable-batch-finalization…) para componer con bloques reales en lugar de HTML crudo.
  • Formularios y SEO: abilities dedicadas de Fluent Forms y Slim SEO cuando esos plugins están instalados (ver Temas, editores y plugins).
  • Memoria: memory-search|list|get|write|edit|delete|summarize para guardar contexto entre sesiones (nunca secretos, tokens ni datos personales).
  • Acceso: create-admin-access-link genera enlaces de acceso de un solo uso, igual que plak login.

Continúa en Temas, editores y plugins para saber qué integraciones tienen abilities dedicadas y cuáles se operan por la vía genérica, o en Plugins para los plugins propios de Plak.

Was this page helpful?