Servidor MCP (Model Context Protocol) nativo para WordPress. Permite conectar Claude u otra IA compatible con MCP para gestionar contenido, plugins, temas y usuarios, autenticado con WordPress Application Passwords.
WP MCP Server has 31 tools with consistent naming (verb_noun pattern: wp_*) and complete input schemas. All tools are registered with descriptions and capability checks. However, descriptions are often generic or lack actionable context for LLM selection. Parameter descriptions are sparse, many lack guidance on valid ranges, formats, or dependencies. Output schemas are not documented. Error handling is minimal. Security concerns exist around direct database access (wp_db_execute) without sufficient safeguards. The server follows basic structure but lacks the depth and LLM-optimization expected of production-grade tools.
Activa un plugin instalado, identificado por su ruta (carpeta/archivo.php, como aparece en wp_list_plugins).
Activa un tema instalado por su stylesheet (slug de la carpeta del tema).
Crea un nuevo post, página u otro tipo de contenido.
Crea una categoría, etiqueta u otro término de taxonomía.
Crea un nuevo usuario de WordPress.
Muestra la estructura (columnas, tipos, claves) de una tabla de la base de datos.
Output schemas not documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., post_id from wp_create_post, user_id from wp_create_user). This breaks tool composition and forces discovery detours.
Parameter descriptions are minimal or missing. Many parameters lack guidance on valid ranges, formats, or constraints. E.g., 'per_page' in wp_get_posts states 'Máximo 50' but no minimum; 'status' enum values are not explained; 'taxonomy' default is mentioned but not what happens if omitted.
wp_db_execute allows direct SQL writes without sufficient safeguards. Description warns against password hashing and role assignment but does not prevent SQL injection or accidental table-wide updates. The 'confirm_no_where' flag is a weak mitigation. No dry-run or confirmation step before destructive operations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 70 | 2026-07-28+ | v2 |
Ejecuta una sentencia SQL de escritura (INSERT, UPDATE o DELETE) contra la base de datos. UPDATE y DELETE requieren una cláusula WHERE, salvo que se pase confirm_no_where=true de forma explícita. No se permiten sentencias múltiples ni DDL (DROP/ALTER/TRUNCATE/CREATE). ADVERTENCIA: esto escribe directo en la base de datos sin pasar por los hooks ni validaciones de WordPress. NO la uses para cambiar contraseñas de usuario (el valor quedaría sin el hash correcto y rompería el login) ni para asignar roles/capabilities (usa wp_update_user para eso, que sí respeta los permisos de promoción).
Lista todas las tablas de la base de datos de WordPress.
Ejecuta una consulta SQL de solo lectura (SELECT) contra la base de datos y devuelve las filas. Se limita automáticamente a 200 filas si la consulta no trae su propio LIMIT. No se permiten sentencias múltiples ni escrituras a archivos.
Desactiva un plugin activo, identificado por su ruta.
Elimina un archivo multimedia de la biblioteca.
Elimina un plugin instalado (debe estar desactivado primero).
Elimina un post (a la papelera, o permanentemente con force=true).
Elimina un término de taxonomía por ID.
Elimina un usuario, reasignando opcionalmente su contenido a otro usuario.
Obtiene el detalle completo de un post por ID.
Busca y lista posts/páginas con filtros.
Obtiene información general del sitio: versión de WordPress y PHP, tema activo, número de plugins y usuarios.
Obtiene el detalle de un usuario por ID.
Instala (sin activar) un plugin desde el repositorio oficial de WordPress.org por su slug.
Instala (sin activar) un tema desde el repositorio oficial de WordPress.org por su slug.
Lista comentarios con filtros de estado o post.
Lista los archivos multimedia de la biblioteca.
Lista los plugins instalados y su estado (activo/inactivo).
Lista los términos de una taxonomía (categorías, etiquetas, etc).
Lista los temas instalados y cuál está activo.
Lista los usuarios del sitio.
Cambia el estado de un comentario (aprobar, marcar como spam, mover a papelera o eliminar).
Actualiza un post, página u otro contenido existente por ID.
Actualiza datos de un usuario existente, incluido su rol.
Sube un archivo multimedia a la biblioteca desde una URL pública y opcionalmente lo asocia a un post.
No error handling guidance. Tools do not document what errors are retryable, user-fixable, or fatal. E.g., wp_create_post may fail if a category does not exist, but the description does not say to call wp_create_term first or how to recover.
Tool descriptions lack LLM-optimized context. Many are generic (e.g., 'Actualiza un post' = 'Updates a post') without explaining WHEN to use this tool vs. a similar one, or what the LLM should expect in return. Descriptions should be 50-200 chars and answer: What? When? Why?