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

npm version License: MIT MCP SDK

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:

RespuestaAntesDespuésReducción
wp_list_posts (10 entradas)~50KB~2KB96%
wp_get_post~5KB~200 bytes96%
wp_list_plugins~15KB~800 bytes95%

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+):

  1. Ve a Usuarios → Perfil en el administrador de WordPress
  2. Desplázate hasta Contraseñas de aplicación
  3. Crea una nueva contraseña para "Claude MCP"
  4. 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:

CampoDóndePor qué
guid, _linksen todas partesDatos internos de WordPress
content.renderedlistasSolo se incluye cuando se solicita explícitamente
meta, class_listentradas/páginasMetadatos de tema/plugin
ping_status, comment_statusentradasRaramente necesarios
template, format, stickyentradasEspecíficos del tema
Etiquetas HTMLextractosSalida de texto limpia
JSON con formato bonitotodoSalida 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 argumento site; 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 sitio
  • wp_get_settings - Obtiene la configuración del sitio
  • wp_update_settings - Actualiza la configuración del sitio
  • wp_get_namespaces - Lista los espacios de nombres de la API REST

Entradas (6)

  • wp_list_posts - Lista entradas con filtros
  • wp_get_post - Obtiene una entrada individual
  • wp_create_post - Crea una entrada
  • wp_update_post - Actualiza una entrada
  • wp_delete_post - Elimina una entrada
  • wp_search_posts - Busca entradas

Páginas (5)

  • wp_list_pages - Lista páginas
  • wp_get_page - Obtiene una página individual
  • wp_create_page - Crea una página
  • wp_update_page - Actualiza una página
  • wp_delete_page - Elimina una página

Usuarios (6)

  • wp_list_users - Lista usuarios
  • wp_me - Obtiene el usuario actual
  • wp_get_user - Obtiene un usuario por ID
  • wp_create_user - Crea un usuario
  • wp_update_user - Actualiza un usuario
  • wp_delete_user - Elimina un usuario

Plugins (5)

  • wp_list_plugins - Lista plugins
  • wp_get_plugin - Obtiene detalles de un plugin
  • wp_activate_plugin - Activa un plugin (mcp/v1; plugin es la ruta del archivo, p. ej., akismet/akismet.php)
  • wp_deactivate_plugin - Desactiva un plugin (mcp/v1; plugin es la ruta del archivo)
  • wp_delete_plugin - Elimina un plugin (mcp/v1; plugin es la ruta del archivo)

Temas (4)

  • wp_list_themes - Lista temas
  • wp_get_active_theme - Obtiene el tema activo
  • wp_get_theme - Obtiene detalles de un tema
  • wp_activate_theme - Cambia de tema

Medios (4)

  • wp_list_media - Lista la biblioteca de medios
  • wp_get_media - Obtiene un elemento de medios
  • wp_update_media - Actualiza metadatos de medios
  • wp_delete_media - Elimina medios

Categorías y etiquetas (8)

  • wp_list_categories - Lista categorías
  • wp_create_category - Crea una categoría
  • wp_update_category - Actualiza una categoría
  • wp_delete_category - Elimina una categoría
  • wp_list_tags - Lista etiquetas
  • wp_create_tag - Crea una etiqueta
  • wp_update_tag - Actualiza una etiqueta
  • wp_delete_tag - Elimina una etiqueta

Comentarios (6)

  • wp_list_comments - Lista comentarios
  • wp_get_comment - Obtiene un comentario
  • wp_create_comment - Crea un comentario
  • wp_update_comment - Actualiza/modera un comentario
  • wp_delete_comment - Elimina un comentario
  • wp_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.org
  • mcp_install_plugin - Instala un plugin desde WordPress.org
  • mcp_update_plugin - Actualiza un plugin individual
  • mcp_update_all_plugins - Actualiza todos los plugins

Gestión de temas (5)

  • mcp_search_themes - Busca temas en WordPress.org
  • mcp_install_theme - Instala un tema desde WordPress.org
  • mcp_update_theme - Actualiza un tema individual
  • mcp_update_all_themes - Actualiza todos los temas
  • mcp_delete_theme - Elimina un tema inactivo

Gestión del núcleo (6)

  • mcp_get_version - Obtiene información de la versión de WordPress
  • mcp_get_system_info - Obtiene información completa del sistema
  • mcp_check_updates - Comprueba todas las actualizaciones
  • mcp_update_core - Actualiza el núcleo de WordPress
  • mcp_flush_rewrite - Vacía las reglas de reescritura
  • mcp_flush_cache - Limpia todas las cachés

Gestión de bases de datos (5)

  • mcp_get_tables - Lista tablas con tamaños
  • mcp_search_replace - Buscar/reemplazar en la base de datos
  • mcp_optimize_tables - Optimiza todas las tablas
  • mcp_clean_revisions - Elimina revisiones antiguas
  • mcp_clean_comments - Elimina comentarios de spam/papelera

Gestión de opciones (5)

  • mcp_list_options - Lista opciones con filtro de prefijo
  • mcp_get_option - Obtiene una opción individual
  • mcp_set_option - Crea/actualiza una opción
  • mcp_delete_option - Elimina una opción
  • mcp_bulk_get_options - Obtiene múltiples opciones

Gestión de menús (8)

  • mcp_list_menus - Lista menús de navegación
  • mcp_get_menu_locations - Obtiene ubicaciones de temas
  • mcp_get_menu - Obtiene un menú con sus elementos
  • mcp_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 laterales
  • mcp_get_sidebar_widgets - Obtiene los widgets de una barra lateral
  • mcp_list_widget_types - Lista tipos de widgets
  • mcp_get_widget - Obtiene detalles de un widget
  • mcp_add_widget - Añade un widget a una barra lateral
  • mcp_update_widget - Actualiza la configuración de un widget
  • mcp_delete_widget - Elimina un widget
  • mcp_move_widget - Mueve un widget a una barra lateral

Salud y diagnóstico (6)

  • mcp_get_health - Puntuación de salud del sitio
  • mcp_get_debug_info - Información de depuración
  • mcp_get_php_info - Configuración de PHP
  • mcp_get_plugins_health - Salud/actualizaciones de plugins
  • mcp_get_cron_status - Estado de trabajos cron
  • mcp_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 campos
  • acf_get_field_group - Obtiene un grupo de campos con su esquema
  • acf_export_field_groups - Exporta como JSON
  • acf_import_field_groups - Importa desde JSON

Campos de entradas (4)

  • acf_get_post_fields - Obtiene todos los campos de una entrada
  • acf_update_post_fields - Actualiza múltiples campos
  • acf_get_post_field - Obtiene el valor de un campo individual
  • acf_update_post_field - Actualiza un campo individual

Campos de términos y usuarios (4)

  • acf_get_term_fields - Obtiene campos ACF de un término
  • acf_update_term_fields - Actualiza campos de un término
  • acf_get_user_fields - Obtiene campos ACF de un usuario
  • acf_update_user_fields - Actualiza campos de un usuario

Páginas de opciones (3)

  • acf_list_options_pages - Lista páginas de opciones
  • acf_get_options_fields - Obtiene campos de una página de opciones
  • acf_update_options_fields - Actualiza campos de opciones

Campos repetidores (5)

  • acf_get_repeater - Obtiene filas de un repetidor
  • acf_add_repeater_row - Añade una fila
  • acf_update_repeater_row - Actualiza una fila
  • acf_delete_repeater_row - Elimina una fila
  • acf_reorder_repeater - Reordena filas

Contenido flexible (5)

  • acf_get_flexible - Obtiene diseños
  • acf_add_flexible_layout - Añade un diseño
  • acf_update_flexible_layout - Actualiza un diseño
  • acf_delete_flexible_layout - Elimina un diseño
  • acf_reorder_flexible - Reordena diseños

Campos de relación (4)

  • acf_get_relationship - Obtiene entradas relacionadas
  • acf_set_relationship - Establece entradas relacionadas
  • acf_add_to_relationship - Añade entradas
  • acf_remove_from_relationship - Elimina entradas

Utilidades (2)

  • acf_get_clone_references - Obtiene referencias de campos clonados
  • acf_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 filtros
  • woo_get_product - Obtiene detalles de un producto
  • woo_create_product - Crea un producto
  • woo_update_product - Actualiza un producto
  • woo_delete_product - Elimina un producto

Variaciones (4)

  • woo_list_variations - Lista variaciones de un producto
  • woo_create_variation - Crea una variación
  • woo_update_variation - Actualiza una variación
  • woo_delete_variation - Elimina una variación

Atributos (4)

  • woo_list_attributes - Lista atributos
  • woo_list_attribute_terms - Lista términos de un atributo
  • woo_create_attribute - Crea un atributo
  • woo_create_attribute_term - Crea un término

Categorías y etiquetas (5)

  • woo_list_categories - Lista categorías de productos
  • woo_create_category - Crea una categoría
  • woo_update_category - Actualiza una categoría
  • woo_delete_category - Elimina una categoría
  • woo_list_tags - Lista etiquetas de productos

Pedidos (5)

  • woo_list_orders - Lista pedidos
  • woo_get_order - Obtiene detalles de un pedido
  • woo_update_order_status - Actualiza el estado
  • woo_add_order_note - Añade una nota
  • woo_get_order_notes - Obtiene notas

Clientes (5)

  • woo_list_customers - Lista clientes
  • woo_get_customer - Obtiene un cliente
  • woo_create_customer - Crea un cliente
  • woo_update_customer - Actualiza un cliente
  • woo_get_customer_orders - Obtiene el historial de pedidos

Cupones (5)

  • woo_list_coupons - Lista cupones
  • woo_get_coupon - Obtiene un cupón
  • woo_create_coupon - Crea un cupón
  • woo_update_coupon - Actualiza un cupón
  • woo_delete_coupon - Elimina un cupón

Informes (3)

  • woo_sales_report - Informe de ventas
  • woo_top_sellers - Productos más vendidos
  • woo_stock_report - Informe de estado de stock

Meta y existencias de producto (3)

  • woo_get_product_meta - Obtener meta de producto
  • woo_update_product_meta - Actualizar meta de producto
  • woo_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-manager
  • seo_update_settings - Actualizar la configuración de cvrt-seo-manager
  • seo_get_post_seo - Obtener el meta SEO de una entrada
  • seo_update_post_seo - Actualizar el meta SEO de una entrada
  • seo_delete_post_seo - Eliminar (restablecer) el meta SEO de una entrada
  • seo_get_post_analysis - Obtener el análisis SEO (puntuación, problemas) de una entrada
  • seo_list_posts_seo - Listar el meta SEO en todas las entradas
  • seo_bulk_update_posts_seo - Actualización masiva del meta SEO en múltiples entradas
  • seo_get_term_seo - Obtener el meta SEO de un término de taxonomía
  • seo_update_term_seo - Actualizar el meta SEO de un término de taxonomía
  • seo_delete_term_seo - Eliminar (restablecer) el meta SEO de un término de taxonomía
  • seo_keyword_check - Ejecutar la comprobación de análisis de palabras clave
  • seo_list_redirects - Listar todas las redirecciones
  • seo_create_redirect - Crear una redirección
  • seo_get_redirect - Obtener una redirección por id
  • seo_update_redirect - Actualizar una redirección por id
  • seo_delete_redirect - Eliminar una redirección por id
  • seo_list_monitor_log - Listar las entradas del registro de monitoreo de 404/redirecciones
  • seo_clear_monitor_log - Limpiar el registro de monitoreo de 404/redirecciones
  • seo_create_redirect_from_log - Crear una redirección directamente desde una entrada del registro de monitoreo
  • seo_sitemap_status - Obtener el estado del sitemap
  • seo_sitemap_ping - Notificar a los motores de búsqueda con el sitemap
  • seo_indexnow_ping - Enviar URLs a IndexNow
  • seo_export_settings - Exportar la configuración de cvrt-seo-manager
  • seo_import_settings - Importar la configuración de cvrt-seo-manager
  • seo_export_csv - Exportar el meta SEO de entradas como CSV
  • seo_import_csv - Importar el meta SEO de entradas desde CSV
  • seo_export_redirects - Exportar redirecciones
  • seo_import_redirects - Importar redirecciones
  • seo_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 cumplimiento
  • legal_list_documents - Listar todos los tipos de documentos legales con su estado obligatorio/completado y la página vinculada
  • legal_get_document - Obtener un documento legal incluyendo sus secciones ordenadas
  • legal_put_document - Reemplazar un documento legal
  • legal_render_document - Renderizar un documento a HTML normalizado sin guardar
  • legal_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 legal
  • legal_update_section - Actualizar una sección
  • legal_delete_section - Eliminar una sección de un documento legal
  • legal_get_consent - Obtener la configuración del banner de consentimiento de cookies
  • legal_put_consent - Configurar el banner de consentimiento y cada credencial de seguimiento que usa el sitio
  • legal_get_theme - Obtener el tema del banner: nombre del preset, anulaciones de propiedades personalizadas CSS y el CSS renderizado
  • legal_put_theme - Establecer el preset del tema del banner y/o propiedades personalizadas CSS individuales
  • legal_get_settings - Obtener la configuración de cvrt-legal
  • legal_consent_log_get - Obtener cada decisión de consentimiento registrada para un consent_id
  • legal_consent_log_stats - Agregar recuentos de decisiones de consentimiento por acción y banner_version en un rango de días
  • legal_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-fulfillment
  • fulfillment_update_settings - Actualizar la configuración de cvrt-order-fulfillment
  • fulfillment_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ón
  • fulfillment_queue - Estado de la cola de impresión: recuentos de estado (pendiente/imprimiendo/impreso/fallido) y los trabajos recientes con sus errores
  • fulfillment_reprint_job - Restablecer un trabajo de impresión a pendiente para que el agente lo imprima de nuevo
  • fulfillment_fulfill_order - Ejecutar manualmente (forzar) el cumplimiento de un pedido: renderiza la hoja de empaque, crea la tarea en ClickUp, notifica a Slack
  • fulfillment_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 disponible
  • fulfillment_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