---
title: WP-MCP
description: El plugin de Plak que expone las abilities del sitio por REST para que un agente las ejecute.
sidebar:
  label: WP-MCP
  order: 6
---

WP-MCP es el plugin de WordPress que convierte un sitio Plak en un sitio **agent-ready**: expone *abilities* (capacidades) por la REST API para que un asistente las descubra y ejecute con `wp-mcp-cli`, en lugar de adivinar URLs o tocar la base de datos a mano. El protocolo completo se detalla en [MCP](/cli/mcp); esta página documenta el plugin en sí.

<Badge variant="accent">Instalado por `plak add --agent` y `plak agent`</Badge>

## Qué expone

Una vez activo, WP-MCP publica las abilities del sitio por REST. Cada ability tiene nombre, categoría, esquema de entrada y salida, y anotaciones (solo lectura, destructiva, idempotente). Las familias disponibles son:

- **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.
- **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`.

:::note
Añadir una ability nueva en el servidor (`wp_register_ability()` con `show_in_rest => true`) la publica automáticamente por MCP, por REST y por la CLI, sin actualizar ningún cliente.
:::

## Cómo lo instala Plak

`plak add --agent` (o por defecto cuando `wp-mcp-cli` está instalado) y `plak agent <sitio>` para reparar un sitio existente ejecutan estos pasos, de forma idempotente:

1. **Descarga y activa** WP-MCP y [HTML Editor](/plugins/html-editor) desde `downloads.plak.io` (con el User-Agent `PlakCLI/<versión>`) y comprueba que cada uno está realmente activo, no solo instalado.
2. **Repara la REST API** fijando una estructura de enlaces permanentes estándar (`/%postname%/`) solo si no hay ninguna.
3. **Activa las abilities** (`wp_mcp_ai_abilities_enabled = 1`) y las vincula al dominio del sitio.
4. **Crea la credencial y el perfil:** genera una Application Password del usuario `admin` con el nombre `Plak CLI (agent)` (rotando la anterior si existe), la envía por **variables de entorno** (nunca en `argv`) 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](/cli/dashboard).

## Operar con Plak CLI

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

`--yes` confirma las operaciones destructivas. `--site <nombre>`, variable `WPMCP_SITE`, o el único perfil si solo hay uno.

:::warning
`run-wp-cli` y `execute-php` son destructivos por diseño: pueden cambiar o borrar datos. Piden `--yes` y registran `stdout`, `stderr` y `exit_code`.
:::
