WordPress MCP

Un servidor del Protocolo de Contexto del Modelo (MCP) que otorga a los agentes de IA control total sobre sitios WordPress. 46 herramientas para entradas, páginas, medios, SEO, comentarios, redirecciones, bloques, patrones, TablePress y más.

Documentación

WordPress MCP

Un servidor de Model Context Protocol (MCP) que brinda a los agentes de IA control total sobre sitios WordPress. Administra entradas, páginas, medios, categorías, etiquetas, comentarios, SEO, redirecciones, bloques Gutenberg, patrones reutilizables, tablas TablePress, plugins, usuarios y ajustes del sitio, todo a través de 46 herramientas MCP.

Diseñado para Claude Code. También compatible con el Claude Agent SDK y cualquier cliente compatible con MCP.

Cómo Funciona

┌─────────────┐     JSON-RPC      ┌──────────────────┐     HTTP/Auth     ┌─────────────────┐
│  Claude /    │ ──────────────▶  │  Python MCP      │ ──────────────▶  │  WordPress Site  │
│  AI Agent    │                  │  Proxy Server    │                  │  (MCP Adapter)   │
│              │ ◀──────────────  │  (server.py)     │ ◀──────────────  │  (mu-plugin)     │
└─────────────┘     MCP Tools     └──────────────────┘     JSON-RPC     └─────────────────┘
                                         │
                                    sites.json
                                  (multi-site config)

Un único proxy de Python gestiona sitios WordPress ilimitados. Cada llamada a herramienta incluye un parámetro site para apuntar a un sitio específico. La autenticación utiliza Contraseñas de Aplicación de WordPress (integradas en WP 5.6+).

Características

CategoríaHerramientasCapacidades
Entradas y Páginas9 herramientasCRUD, cambio masivo de estado, revisiones, buscar y reemplazar
Categorías y Etiquetas8 herramientasCRUD con soporte SEO de Rank Math
Medios4 herramientasSubir desde URL, explorar biblioteca, actualizar metadatos, eliminar
Comentarios3 herramientasListar, moderar (aprobar/spam/papelera), responder, eliminar
SEO Rank Math—Metadatos SEO completos en entradas y categorías (título, descripción, palabra clave principal, Open Graph, Twitter, esquema, robots)
Redirecciones4 herramientasCRUD de redirecciones Rank Math (301/302/307/410/451)
Bloques Gutenberg1 herramientaDescubrir todos los tipos de bloques registrados con esquemas de atributos
Patrones Sincronizados5 herramientasCrear, leer, actualizar, eliminar bloques reutilizables
TablePress5 herramientasCRUD completo de tablas con opciones de visualización y visibilidad
Plugins2 herramientasListar plugins instalados, activar/desactivar
Usuarios1 herramientaListar usuarios con filtrado por rol
Ajustes3 herramientasLeer/escribir opciones, vaciar cachés, obtener información del sitio
Utilidad1 herramientaListar todos los sitios configurados

Total: 46 herramientas que cubren toda la superficie de gestión de WordPress.

Inicio Rápido

1. Instala el adaptador de WordPress

# Build PHP dependencies locally
cd wordpress/
composer install

# Upload vendor/ and load-mcp-adapter.php to your WordPress server
# See SETUP.md for detailed instructions

2. Configura el proxy

# Copy the example config
cp sites.json.example sites.json

# Edit with your site details
{
  "myblog": {
    "url": "https://yourdomain.com/wp-json/mcp/mcp-adapter-default-server",
    "username": "YourAdmin",
    "password": "xxxx xxxx xxxx xxxx xxxx xxxx"
  }
}

3. Conéctate a Claude

Claude Code — añade a ~/.claude.json (o pide a tu agente de Claude Code que lo configure por ti):

{
  "mcpServers": {
    "wordpress": {
      "type": "stdio",
      "command": "uv",
      "args": [
        "run",
        "--with", "fastmcp",
        "--with", "httpx",
        "python",
        "/path/to/wordpress-mcp/server.py"
      ]
    }
  }
}

Luego instala la habilidad para la documentación de herramientas:

npx skills add 5unnykum4r/wordpress-mcp

O crea un enlace simbólico manualmente:

ln -s /path/to/wordpress-mcp/skill/wordpress-mcp ~/.claude/skills/wordpress-mcp

Consulta la guía de configuración completa para instrucciones detalladas, solución de problemas y ejemplos de uso.

Referencia de Herramientas

Todas las herramientas requieren site como primer parámetro.

Entradas y Páginas (9 herramientas)
HerramientaAcción
list_postsListar/filtrar entradas y páginas
read_postLeer contenido completo, metadatos, SEO
create_postCrear con contenido, categorías, etiquetas, SEO
update_postActualización parcial de cualquier campo
delete_postMover a papelera o eliminar permanentemente
bulk_update_statusCambiar el estado de múltiples entradas
list_revisionsVer historial de revisiones
restore_revisionRevertir a una revisión anterior
search_replaceBuscar/reemplazar en contenido (con simulación incluida)
Categorías y Etiquetas (8 herramientas)
HerramientaAcción
list_categoriesListar con datos SEO de Rank Math
create_categoryCrear con SEO opcional
update_categoryActualizar nombre, slug, padre, SEO
delete_categoryEliminar (las entradas pasan a la categoría predeterminada)
list_tagsListar y buscar etiquetas
create_tagCrear una nueva etiqueta
update_tagActualizar nombre, slug, descripción de etiqueta
delete_tagEliminar una etiqueta (las entradas quedan sin etiquetar)
Medios (4 herramientas)
HerramientaAcción
upload_imageDescargar desde URL y añadir a la biblioteca de medios
list_mediaExplorar con filtrado por tipo MIME
update_mediaActualizar título, texto alternativo, pie de foto
delete_mediaEliminar permanentemente
Comentarios (3 herramientas)
HerramientaAcción
list_commentsFiltrar por entrada, estado, búsqueda
update_commentAprobar, marcar como spam, mover a papelera o responder
delete_commentEliminar permanentemente
Redirecciones (4 herramientas)
HerramientaAcción
list_redirectionsListar redirecciones de Rank Math
create_redirectionCrear redirección 301/302/307/410/451
update_redirectionModificar origen, destino, tipo
delete_redirectionEliminar una regla de redirección
Gutenberg y Patrones (6 herramientas)
HerramientaAcción
list_block_typesDescubrir bloques registrados + esquemas
list_patternsListar patrones reutilizables/sincronizados
read_patternLeer contenido de bloques de patrón
create_patternCrear patrón sincronizado
update_patternActualizar contenido de patrón
delete_patternEliminar un patrón
TablePress (5 herramientas)
HerramientaAcción
list_tablepress_tablesListar todas las tablas
read_tablepress_tableLeer datos, opciones, visibilidad
create_tablepress_tableCrear con matriz de datos 2D
update_tablepress_tableActualizar datos, opciones, visibilidad
delete_tablepress_tableEliminar permanentemente
Administración (7 herramientas)
HerramientaAcción
list_pluginsListar plugins instalados + estado
toggle_pluginActivar o desactivar
list_usersListar usuarios por rol
manage_optionsLeer/escribir ajustes de WordPress
clear_cacheVaciar todas las cachés
get_infoInformación del sitio, versiones, tema
list_sitesMostrar sitios configurados

Estructura del Proyecto

wordpress-mcp/
├── README.md                  ← This file
├── SETUP.md                   ← Full setup guide + troubleshooting
├── LICENSE                    ← MIT license
├── server.py                  ← Python MCP proxy (FastMCP + httpx)
├── sites.json.example         ← Site configuration template
├── wordpress/
│   ├── load-mcp-adapter.php   ← WordPress MU-plugin (server-side)
│   ├── composer.json          ← PHP dependencies
│   └── composer.lock
└── skill/
    └── wordpress-mcp/         ← Claude Code skill
        ├── SKILL.md
        └── references/        ← Tool documentation (7 files)

Requisitos

Local (servidor proxy):

  • Python 3.10+
  • Gestor de paquetes uv
  • FastMCP y httpx (instalados automáticamente por uv run)

Servidor WordPress:

  • WordPress 5.6+ (para Contraseñas de Aplicación)
  • PHP 7.4+
  • Paquetes Composer: wordpress/abilities-api y wordpress/mcp-adapter

Gestión Multi-Sitio

Añade tantos sitios WordPress como necesites a sites.json:

{
  "blog": {
    "url": "https://blog.example.com/wp-json/mcp/mcp-adapter-default-server",
    "username": "admin",
    "password": "xxxx xxxx xxxx xxxx xxxx xxxx"
  },
  "shop": {
    "url": "https://shop.example.com/wp-json/mcp/mcp-adapter-default-server",
    "username": "admin",
    "password": "yyyy yyyy yyyy yyyy yyyy yyyy"
  },
  "docs": {
    "url": "https://docs.example.com/wp-json/mcp/mcp-adapter-default-server",
    "username": "editor",
    "password": "zzzz zzzz zzzz zzzz zzzz zzzz"
  }
}

Cada sitio recibe su propio alias. Apunta a cualquier sitio con site="blog", site="shop", etc. No se necesita reiniciar el proxy al añadir nuevos sitios.

Contribuciones

Las contribuciones son bienvenidas. Por favor, abre un issue o una pull request.

Licencia

MIT