wordpress-mcp
Servidor MCP ligero de WordPress con 42 herramientas. Respuestas optimizadas en tokens que reducen la verbosidad de la API REST en más del 95%. Publicaciones, páginas, usuarios, plugins, temas, medios, taxonomías, comentarios.
Documentación
wordpress-mcp
Servidor MCP de WordPress ligero para la gestión de sitios. 249 herramientas con respuestas optimizadas en tokens: las respuestas de la API REST se reducen automáticamente de kilobytes a lo esencial.
v3.2: legal_consent_log_get / legal_consent_log_stats / legal_consent_log_export para el registro de decisiones de consentimiento de cvrt-legal (requiere cvrt-legal 0.5.0+); legal_put_consent acepta log_enabled.
v3.1: Herramientas para nuestros propios plugins: seo_* (31) para cvrt-seo-manager, legal_* (15) para cvrt-legal incluyendo legal_link_page (cvrt-legal 0.4.2+), y fulfillment_* (8) para cvrt-order-fulfillment.
v3.0 (CAMBIOS IMPORTANTES): Multi-sitio: una sola instancia del servidor gestiona cualquier número de sitios mediante una única variable de entorno WORDPRESS_SITES. Cada herramienta ahora requiere un argumento site; usa la nueva herramienta list_sites para descubrir los ids configurados. Las antiguas variables de entorno de un solo sitio se han eliminado. wp_activate_plugin / wp_deactivate_plugin / wp_delete_plugin ahora usan rutas cvrt-mcp-endpoints mcp/v1 y toman la ruta del archivo del plugin (p. ej., akismet/akismet.php) en lugar de un slug.
v2.1: Ahora incluye módulos Pro para ACF y WooCommerce mediante wp-pilot-pro.
v2.0: Herramientas ampliadas para el plugin cvrt-mcp-endpoints: instalar plugins/temas desde WordPress.org, gestión de bases de datos, control completo de widgets/menús y más.
¿Por qué este servidor?
La API REST de WordPress devuelve JSON extremadamente verboso (~5-10KB por entrada). Este servidor lo reduce:
| Respuesta | Antes | Después | Reducción |
|---|---|---|---|
wp_list_posts (10 entradas) | ~50KB | ~2KB | 96% |
wp_get_post | ~5KB | ~200 bytes | 96% |
wp_list_plugins | ~15KB | ~800 bytes | 95% |
Menos tokens = respuestas más rápidas, menores costos, más contexto para tu IA.
Instalación
npm install -g @cavort-it-systems/wordpress-mcp
O ejecuta directamente:
npx @cavort-it-systems/wordpress-mcp
Configuración
v3.0 es multi-sitio (CAMBIO IMPORTANTE). Una sola instancia del servidor ahora gestiona cualquier número de sitios de WordPress, definidos en una variable de entorno WORDPRESS_SITES como un array JSON de objetos {id, url, username, password}. Las antiguas variables de entorno de un solo sitio (WORDPRESS_SITE_URL, WORDPRESS_USERNAME, WORDPRESS_PASSWORD) ya no se leen: configura WORDPRESS_SITES en su lugar.
Cada herramienta (excepto list_sites) ahora requiere un argumento site que nombre el id del sitio de destino. Llama a list_sites primero para descubrir qué ids están configurados: devuelve {id, url} para cada sitio (las contraseñas nunca se devuelven ni se registran).
Claude Desktop / Manual
Añade a tu configuración de MCP (~/.claude.json o ajustes de Claude Desktop):
{
"mcpServers": {
"wordpress": {
"command": "npx",
"args": ["@cavort-it-systems/wordpress-mcp"],
"env": {
"WORDPRESS_SITES": "[{\"id\":\"boardcouture\",\"url\":\"https://boardcouture.shop\",\"username\":\"cavortkonzepte\",\"password\":\"xxxx xxxx xxxx\"}]"
}
}
}
}
Añade más sitios agregando objetos al array WORDPRESS_SITES: una sola instancia del servidor los gestiona todos.
Claude Code CLI
claude mcp add wordpress \
-e WORDPRESS_SITES='[{"id":"boardcouture","url":"https://boardcouture.shop","username":"cavortkonzepte","password":"xxxx xxxx xxxx"}]' \
-- npx @cavort-it-systems/wordpress-mcp
Desde el código fuente
git clone https://github.com/cvrt-jh/wordpress-mcp.git
cd wordpress-mcp
npm install && npm run build
Autenticación
Usa Contraseñas de aplicación (WordPress 5.6+):
- Ve a Usuarios → Perfil en el administrador de WordPress
- Desplázate hasta Contraseñas de aplicación
- Crea una nueva contraseña para "Claude MCP"
- Usa la contraseña generada (conserva los espacios)
Reducción de respuestas
Todas las respuestas se recortan automáticamente. Ejemplo:
wp_get_post - de ~5KB a ~200 bytes:
// Before (WordPress REST API raw)
{"id":123,"date":"2026-01-15T10:30:00","date_gmt":"2026-01-15T09:30:00",
"guid":{"rendered":"https://example.com/?p=123"},"modified":"2026-01-20T14:00:00",
"modified_gmt":"2026-01-20T13:00:00","slug":"my-post","status":"publish",
"type":"post","link":"https://example.com/my-post/","title":{"rendered":"My Post"},
"content":{"rendered":"<p>Full content...</p>","protected":false},
"excerpt":{"rendered":"<p>Excerpt...</p>","protected":false},
"author":1,"featured_media":456,"comment_status":"open","ping_status":"open",
"sticky":false,"template":"","format":"standard","meta":{"footnotes":""},
"categories":[1,5],"tags":[10,20],"class_list":["post-123","type-post",...],
"_links":{"self":[...],"collection":[...],"about":[...],...}}
// After (slimmed)
{"id":123,"title":"My Post","slug":"my-post","status":"publish",
"date":"2026-01-15T10:30:00","modified":"2026-01-20T14:00:00",
"link":"https://example.com/my-post/","excerpt":"Excerpt...",
"author":1,"categories":[1,5],"tags":[10,20],"featured_media":456}
Lo que se elimina:
| Campo | Dónde | Por qué |
|---|---|---|
guid, _links | en todas partes | Datos internos de WordPress |
content.rendered | listas | Solo se incluye cuando se solicita explícitamente |
meta, class_list | entradas/páginas | Metadatos de tema/plugin |
ping_status, comment_status | entradas | Raramente necesarios |
template, format, sticky | entradas | Específicos del tema |
| Etiquetas HTML | extractos | Salida de texto limpia |
| JSON con formato bonito | todo | Salida compacta en una sola línea |
Herramientas (249)
Cada herramienta a continuación requiere un argumento site (el id de tu configuración WORDPRESS_SITES), excepto list_sites en sí misma.
Sitios (1)
list_sites- Lista los ids y URLs de sitios configurados (sin argumentosite; las contraseñas nunca se devuelven)
API REST estándar de WordPress (42 herramientas)
Estas funcionan con cualquier sitio de WordPress:
Sitio (4)
wp_site_info- Obtiene nombre, descripción y URL del sitiowp_get_settings- Obtiene la configuración del sitiowp_update_settings- Actualiza la configuración del sitiowp_get_namespaces- Lista los espacios de nombres de la API REST
Entradas (6)
wp_list_posts- Lista entradas con filtroswp_get_post- Obtiene una entrada individualwp_create_post- Crea una entradawp_update_post- Actualiza una entradawp_delete_post- Elimina una entradawp_search_posts- Busca entradas
Páginas (5)
wp_list_pages- Lista páginaswp_get_page- Obtiene una página individualwp_create_page- Crea una páginawp_update_page- Actualiza una páginawp_delete_page- Elimina una página
Usuarios (6)
wp_list_users- Lista usuarioswp_me- Obtiene el usuario actualwp_get_user- Obtiene un usuario por IDwp_create_user- Crea un usuariowp_update_user- Actualiza un usuariowp_delete_user- Elimina un usuario
Plugins (5)
wp_list_plugins- Lista pluginswp_get_plugin- Obtiene detalles de un pluginwp_activate_plugin- Activa un plugin (mcp/v1;plugines la ruta del archivo, p. ej.,akismet/akismet.php)wp_deactivate_plugin- Desactiva un plugin (mcp/v1;plugines la ruta del archivo)wp_delete_plugin- Elimina un plugin (mcp/v1;plugines la ruta del archivo)
Temas (4)
wp_list_themes- Lista temaswp_get_active_theme- Obtiene el tema activowp_get_theme- Obtiene detalles de un temawp_activate_theme- Cambia de tema
Medios (4)
wp_list_media- Lista la biblioteca de medioswp_get_media- Obtiene un elemento de medioswp_update_media- Actualiza metadatos de medioswp_delete_media- Elimina medios
Categorías y etiquetas (8)
wp_list_categories- Lista categoríaswp_create_category- Crea una categoríawp_update_category- Actualiza una categoríawp_delete_category- Elimina una categoríawp_list_tags- Lista etiquetaswp_create_tag- Crea una etiquetawp_update_tag- Actualiza una etiquetawp_delete_tag- Elimina una etiqueta
Comentarios (6)
wp_list_comments- Lista comentarioswp_get_comment- Obtiene un comentariowp_create_comment- Crea un comentariowp_update_comment- Actualiza/modera un comentariowp_delete_comment- Elimina un comentariowp_moderate_comments- Moderación por lotes
Herramientas ampliadas (43 herramientas) - Requiere el plugin cvrt-mcp-endpoints
Estas requieren que el plugin de WordPress cvrt-mcp-endpoints esté instalado y activado.
Gestión de plugins (4)
mcp_search_plugins- Busca plugins en WordPress.orgmcp_install_plugin- Instala un plugin desde WordPress.orgmcp_update_plugin- Actualiza un plugin individualmcp_update_all_plugins- Actualiza todos los plugins
Gestión de temas (5)
mcp_search_themes- Busca temas en WordPress.orgmcp_install_theme- Instala un tema desde WordPress.orgmcp_update_theme- Actualiza un tema individualmcp_update_all_themes- Actualiza todos los temasmcp_delete_theme- Elimina un tema inactivo
Gestión del núcleo (6)
mcp_get_version- Obtiene información de la versión de WordPressmcp_get_system_info- Obtiene información completa del sistemamcp_check_updates- Comprueba todas las actualizacionesmcp_update_core- Actualiza el núcleo de WordPressmcp_flush_rewrite- Vacía las reglas de reescrituramcp_flush_cache- Limpia todas las cachés
Gestión de bases de datos (5)
mcp_get_tables- Lista tablas con tamañosmcp_search_replace- Buscar/reemplazar en la base de datosmcp_optimize_tables- Optimiza todas las tablasmcp_clean_revisions- Elimina revisiones antiguasmcp_clean_comments- Elimina comentarios de spam/papelera
Gestión de opciones (5)
mcp_list_options- Lista opciones con filtro de prefijomcp_get_option- Obtiene una opción individualmcp_set_option- Crea/actualiza una opciónmcp_delete_option- Elimina una opciónmcp_bulk_get_options- Obtiene múltiples opciones
Gestión de menús (8)
mcp_list_menus- Lista menús de navegaciónmcp_get_menu_locations- Obtiene ubicaciones de temasmcp_get_menu- Obtiene un menú con sus elementosmcp_create_menu- Crea un menúmcp_delete_menu- Elimina un menúmcp_add_menu_item- Añade un elemento de menúmcp_delete_menu_item- Elimina un elemento de menúmcp_assign_menu_location- Asigna un menú a una ubicación
Gestión de widgets (8)
mcp_list_sidebars- Lista todas las barras lateralesmcp_get_sidebar_widgets- Obtiene los widgets de una barra lateralmcp_list_widget_types- Lista tipos de widgetsmcp_get_widget- Obtiene detalles de un widgetmcp_add_widget- Añade un widget a una barra lateralmcp_update_widget- Actualiza la configuración de un widgetmcp_delete_widget- Elimina un widgetmcp_move_widget- Mueve un widget a una barra lateral
Salud y diagnóstico (6)
mcp_get_health- Puntuación de salud del sitiomcp_get_debug_info- Información de depuraciónmcp_get_php_info- Configuración de PHPmcp_get_plugins_health- Salud/actualizaciones de pluginsmcp_get_cron_status- Estado de trabajos cronmcp_run_cron- Ejecuta un hook cron manualmente
Módulo ACF (31 herramientas) - Requiere wp-pilot-pro + ACF
Requiere wp-pilot-pro y Advanced Custom Fields.
Grupos de campos (4)
acf_list_field_groups- Lista todos los grupos de camposacf_get_field_group- Obtiene un grupo de campos con su esquemaacf_export_field_groups- Exporta como JSONacf_import_field_groups- Importa desde JSON
Campos de entradas (4)
acf_get_post_fields- Obtiene todos los campos de una entradaacf_update_post_fields- Actualiza múltiples camposacf_get_post_field- Obtiene el valor de un campo individualacf_update_post_field- Actualiza un campo individual
Campos de términos y usuarios (4)
acf_get_term_fields- Obtiene campos ACF de un términoacf_update_term_fields- Actualiza campos de un términoacf_get_user_fields- Obtiene campos ACF de un usuarioacf_update_user_fields- Actualiza campos de un usuario
Páginas de opciones (3)
acf_list_options_pages- Lista páginas de opcionesacf_get_options_fields- Obtiene campos de una página de opcionesacf_update_options_fields- Actualiza campos de opciones
Campos repetidores (5)
acf_get_repeater- Obtiene filas de un repetidoracf_add_repeater_row- Añade una filaacf_update_repeater_row- Actualiza una filaacf_delete_repeater_row- Elimina una filaacf_reorder_repeater- Reordena filas
Contenido flexible (5)
acf_get_flexible- Obtiene diseñosacf_add_flexible_layout- Añade un diseñoacf_update_flexible_layout- Actualiza un diseñoacf_delete_flexible_layout- Elimina un diseñoacf_reorder_flexible- Reordena diseños
Campos de relación (4)
acf_get_relationship- Obtiene entradas relacionadasacf_set_relationship- Establece entradas relacionadasacf_add_to_relationship- Añade entradasacf_remove_from_relationship- Elimina entradas
Utilidades (2)
acf_get_clone_references- Obtiene referencias de campos clonadosacf_get_field_object- Obtiene el esquema de un campo
Módulo WooCommerce (42 herramientas) - Requiere wp-pilot-pro + WooCommerce
Requiere wp-pilot-pro y WooCommerce.
Productos (5)
woo_list_products- Lista productos con filtroswoo_get_product- Obtiene detalles de un productowoo_create_product- Crea un productowoo_update_product- Actualiza un productowoo_delete_product- Elimina un producto
Variaciones (4)
woo_list_variations- Lista variaciones de un productowoo_create_variation- Crea una variaciónwoo_update_variation- Actualiza una variaciónwoo_delete_variation- Elimina una variación
Atributos (4)
woo_list_attributes- Lista atributoswoo_list_attribute_terms- Lista términos de un atributowoo_create_attribute- Crea un atributowoo_create_attribute_term- Crea un término
Categorías y etiquetas (5)
woo_list_categories- Lista categorías de productoswoo_create_category- Crea una categoríawoo_update_category- Actualiza una categoríawoo_delete_category- Elimina una categoríawoo_list_tags- Lista etiquetas de productos
Pedidos (5)
woo_list_orders- Lista pedidoswoo_get_order- Obtiene detalles de un pedidowoo_update_order_status- Actualiza el estadowoo_add_order_note- Añade una notawoo_get_order_notes- Obtiene notas
Clientes (5)
woo_list_customers- Lista clienteswoo_get_customer- Obtiene un clientewoo_create_customer- Crea un clientewoo_update_customer- Actualiza un clientewoo_get_customer_orders- Obtiene el historial de pedidos
Cupones (5)
woo_list_coupons- Lista cuponeswoo_get_coupon- Obtiene un cupónwoo_create_coupon- Crea un cupónwoo_update_coupon- Actualiza un cupónwoo_delete_coupon- Elimina un cupón
Informes (3)
woo_sales_report- Informe de ventaswoo_top_sellers- Productos más vendidoswoo_stock_report- Informe de estado de stock
Meta y existencias de producto (3)
woo_get_product_meta- Obtener meta de productowoo_update_product_meta- Actualizar meta de productowoo_bulk_update_stock- Actualización masiva de existencias
Módulo SEO (31 herramientas) - Requiere cvrt-seo-manager
seo_status- Obtener el estado de cvrt-seo-manager (versión, configuración, dependencias)seo_get_settings- Obtener la configuración de cvrt-seo-managerseo_update_settings- Actualizar la configuración de cvrt-seo-managerseo_get_post_seo- Obtener el meta SEO de una entradaseo_update_post_seo- Actualizar el meta SEO de una entradaseo_delete_post_seo- Eliminar (restablecer) el meta SEO de una entradaseo_get_post_analysis- Obtener el análisis SEO (puntuación, problemas) de una entradaseo_list_posts_seo- Listar el meta SEO en todas las entradasseo_bulk_update_posts_seo- Actualización masiva del meta SEO en múltiples entradasseo_get_term_seo- Obtener el meta SEO de un término de taxonomíaseo_update_term_seo- Actualizar el meta SEO de un término de taxonomíaseo_delete_term_seo- Eliminar (restablecer) el meta SEO de un término de taxonomíaseo_keyword_check- Ejecutar la comprobación de análisis de palabras claveseo_list_redirects- Listar todas las redireccionesseo_create_redirect- Crear una redirecciónseo_get_redirect- Obtener una redirección por idseo_update_redirect- Actualizar una redirección por idseo_delete_redirect- Eliminar una redirección por idseo_list_monitor_log- Listar las entradas del registro de monitoreo de 404/redireccionesseo_clear_monitor_log- Limpiar el registro de monitoreo de 404/redireccionesseo_create_redirect_from_log- Crear una redirección directamente desde una entrada del registro de monitoreoseo_sitemap_status- Obtener el estado del sitemapseo_sitemap_ping- Notificar a los motores de búsqueda con el sitemapseo_indexnow_ping- Enviar URLs a IndexNowseo_export_settings- Exportar la configuración de cvrt-seo-managerseo_import_settings- Importar la configuración de cvrt-seo-managerseo_export_csv- Exportar el meta SEO de entradas como CSVseo_import_csv- Importar el meta SEO de entradas desde CSVseo_export_redirects- Exportar redireccionesseo_import_redirects- Importar redireccionesseo_import_migrate- Ejecutar una importación de migración (p. ej
Módulo Legal (18 herramientas) - Requiere cvrt-legal (legal_get_page / legal_link_page necesitan 0.4.2+, legal_consent_log_* necesitan 0.5.0+)
legal_status- Estado del documento legal para un sitio: qué documentos son obligatorios, completados y publicados, más un indicador único de cumplimientolegal_list_documents- Listar todos los tipos de documentos legales con su estado obligatorio/completado y la página vinculadalegal_get_document- Obtener un documento legal incluyendo sus secciones ordenadaslegal_put_document- Reemplazar un documento legallegal_render_document- Renderizar un documento a HTML normalizado sin guardarlegal_get_page- Obtener a qué página está vinculado un documento legal: vinculado, page_id, el estado de publicación de la página y ok (vinculado Y publicado)legal_link_page- Vincular un documento legal a su página de WordPress (solo tipo de página post; se rechazan entradas y productos)legal_add_section- Añadir una sección a un documento legallegal_update_section- Actualizar una secciónlegal_delete_section- Eliminar una sección de un documento legallegal_get_consent- Obtener la configuración del banner de consentimiento de cookieslegal_put_consent- Configurar el banner de consentimiento y cada credencial de seguimiento que usa el sitiolegal_get_theme- Obtener el tema del banner: nombre del preset, anulaciones de propiedades personalizadas CSS y el CSS renderizadolegal_put_theme- Establecer el preset del tema del banner y/o propiedades personalizadas CSS individualeslegal_get_settings- Obtener la configuración de cvrt-legallegal_consent_log_get- Obtener cada decisión de consentimiento registrada para un consent_idlegal_consent_log_stats- Agregar recuentos de decisiones de consentimiento por acción y banner_version en un rango de díaslegal_consent_log_export- Exportar el registro bruto de decisiones de consentimiento como CSV para un rango de días
Módulo de Cumplimiento de Pedidos (8 herramientas) - Requiere cvrt-order-fulfillment 0.2.0+
fulfillment_get_settings- Obtener la configuración del plugin cvrt-order-fulfillmentfulfillment_update_settings- Actualizar la configuración de cvrt-order-fulfillmentfulfillment_status- Salud del pipeline: qué credenciales están configuradas, lista/assignee de ClickUp, cuándo el agente de impresión hizo la última consulta y recuentos de la cola de impresiónfulfillment_queue- Estado de la cola de impresión: recuentos de estado (pendiente/imprimiendo/impreso/fallido) y los trabajos recientes con sus erroresfulfillment_reprint_job- Restablecer un trabajo de impresión a pendiente para que el agente lo imprima de nuevofulfillment_fulfill_order- Ejecutar manualmente (forzar) el cumplimiento de un pedido: renderiza la hoja de empaque, crea la tarea en ClickUp, notifica a Slackfulfillment_update_check- Forzar una comprobación inmediata de actualizaciones del plugin (omitiendo el límite de PUC) e informar si hay una versión más reciente disponiblefulfillment_update_apply- Instalar una actualización pendiente de cvrt-order-fulfillment mediante el actualizador propio de WordPress (misma ruta de código que la actualización de un clic en wp-admin)
Arquitectura
src/
index.ts # Entry: McpServer + StdioServerTransport
client.ts # WordPress REST API client (Basic Auth)
types.ts # Shared Zod schemas + jsonResult helper
slim.ts # Response slimming transformers
tools/
# Standard WP REST API (wp/v2)
site.ts # 4 tools
posts.ts # 6 tools
pages.ts # 5 tools
users.ts # 6 tools
plugins.ts # 5 tools
themes.ts # 4 tools
media.ts # 4 tools
taxonomies.ts # 8 tools (categories + tags)
comments.ts # 6 tools
# Extended (mcp/v1) - requires cvrt-mcp-endpoints plugin
mcp-plugins.ts # 4 tools - install from WordPress.org
mcp-themes.ts # 5 tools - install from WordPress.org
mcp-core.ts # 6 tools - updates, cache flush
mcp-database.ts # 5 tools - search-replace, optimize
mcp-options.ts # 5 tools - full options CRUD
mcp-menus.ts # 8 tools - navigation menus
mcp-widgets.ts # 8 tools - sidebar widgets
mcp-health.ts # 6 tools - diagnostics, cron
# Pro modules (mcp/v1) - requires wp-pilot-pro
mcp-acf.ts # 31 tools - ACF integration
mcp-woo.ts # 42 tools - WooCommerce
Soporte Multi-Sitio
Una instancia del servidor gestiona todos tus sitios mediante la variable de entorno WORDPRESS_SITES (ver Configuración). Llama a list_sites para ver los ids configurados, luego pasa site: "<id>" a cualquier otra herramienta:
{
"mcpServers": {
"wordpress": {
"command": "npx",
"args": ["@cavort-it-systems/wordpress-mcp"],
"env": {
"WORDPRESS_SITES": "[{\"id\":\"site1\",\"url\":\"https://site1.com\",\"username\":\"admin\",\"password\":\"xxxx xxxx xxxx xxxx\"},{\"id\":\"site2\",\"url\":\"https://site2.com\",\"username\":\"admin\",\"password\":\"yyyy yyyy yyyy yyyy\"}]"
}
}
}
}
Licencia
MIT