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. 158 herramientas con respuestas optimizadas en tokens — las respuestas de la API REST se reducen automáticamente de kilobytes a lo esencial.

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 — instala plugins/temas desde WordPress.org, gestión de base 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 costes, 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

Claude Code CLI

claude mcp add wordpress \
  -e WORDPRESS_SITE_URL=https://example.com \
  -e WORDPRESS_USERNAME=admin \
  -e WORDPRESS_PASSWORD="xxxx xxxx xxxx xxxx" \
  -- npx @cavort-it-systems/wordpress-mcp

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_SITE_URL": "https://example.com",
        "WORDPRESS_USERNAME": "admin",
        "WORDPRESS_PASSWORD": "xxxx xxxx xxxx xxxx"
      }
    }
  }
}

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

Utiliza Application Passwords (WordPress 5.6+):

  1. Ve a Users → Profile en el administrador de WordPress
  2. Desplázate hasta Application Passwords
  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}

Qué 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 legibletodasSalida compacta de una sola línea

Herramientas (158)

API REST estándar de WordPress (42 herramientas)

Funcionan con cualquier sitio WordPress:

Sitio (4)

  • wp_site_info - Obtener nombre, descripción y URL del sitio
  • wp_get_settings - Obtener ajustes del sitio
  • wp_update_settings - Actualizar ajustes del sitio
  • wp_get_namespaces - Listar espacios de nombres de la API REST

Entradas (6)

  • wp_list_posts - Listar entradas con filtros
  • wp_get_post - Obtener una entrada
  • wp_create_post - Crear entrada
  • wp_update_post - Actualizar entrada
  • wp_delete_post - Eliminar entrada
  • wp_search_posts - Buscar entradas

Páginas (5)

  • wp_list_pages - Listar páginas
  • wp_get_page - Obtener una página
  • wp_create_page - Crear página
  • wp_update_page - Actualizar página
  • wp_delete_page - Eliminar página

Usuarios (6)

  • wp_list_users - Listar usuarios
  • wp_me - Obtener usuario actual
  • wp_get_user - Obtener usuario por ID
  • wp_create_user - Crear usuario
  • wp_update_user - Actualizar usuario
  • wp_delete_user - Eliminar usuario

Plugins (5)

  • wp_list_plugins - Listar plugins
  • wp_get_plugin - Obtener detalles del plugin
  • wp_activate_plugin - Activar plugin
  • wp_deactivate_plugin - Desactivar plugin
  • wp_delete_plugin - Eliminar plugin

Temas (4)

  • wp_list_themes - Listar temas
  • wp_get_active_theme - Obtener tema activo
  • wp_get_theme - Obtener detalles del tema
  • wp_activate_theme - Cambiar de tema

Medios (4)

  • wp_list_media - Listar biblioteca de medios
  • wp_get_media - Obtener elemento multimedia
  • wp_update_media - Actualizar metadatos multimedia
  • wp_delete_media - Eliminar medio

Categorías y etiquetas (8)

  • wp_list_categories - Listar categorías
  • wp_create_category - Crear categoría
  • wp_update_category - Actualizar categoría
  • wp_delete_category - Eliminar categoría
  • wp_list_tags - Listar etiquetas
  • wp_create_tag - Crear etiqueta
  • wp_update_tag - Actualizar etiqueta
  • wp_delete_tag - Eliminar etiqueta

Comentarios (6)

  • wp_list_comments - Listar comentarios
  • wp_get_comment - Obtener comentario
  • wp_create_comment - Crear comentario
  • wp_update_comment - Actualizar/modera comentario
  • wp_delete_comment - Eliminar 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 - Buscar plugins en WordPress.org
  • mcp_install_plugin - Instalar plugin desde WordPress.org
  • mcp_update_plugin - Actualizar un plugin
  • mcp_update_all_plugins - Actualizar todos los plugins

Gestión de temas (5)

  • mcp_search_themes - Buscar temas en WordPress.org
  • mcp_install_theme - Instalar tema desde WordPress.org
  • mcp_update_theme - Actualizar un tema
  • mcp_update_all_themes - Actualizar todos los temas
  • mcp_delete_theme - Eliminar tema inactivo

Gestión del núcleo (6)

  • mcp_get_version - Obtener información de versión de WordPress
  • mcp_get_system_info - Obtener información completa del sistema
  • mcp_check_updates - Comprobar todas las actualizaciones
  • mcp_update_core - Actualizar el núcleo de WordPress
  • mcp_flush_rewrite - Vaciar reglas de reescritura
  • mcp_flush_cache - Limpiar todas las cachés

Gestión de base de datos (5)

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

Gestión de opciones (5)

  • mcp_list_options - Listar opciones con filtro de prefijo
  • mcp_get_option - Obtener una opción
  • mcp_set_option - Crear/actualizar opción
  • mcp_delete_option - Eliminar opción
  • mcp_bulk_get_options - Obtener múltiples opciones

Gestión de menús (8)

  • mcp_list_menus - Listar menús de navegación
  • mcp_get_menu_locations - Obtener ubicaciones del tema
  • mcp_get_menu - Obtener menú con elementos
  • mcp_create_menu - Crear menú
  • mcp_delete_menu - Eliminar menú
  • mcp_add_menu_item - Añadir elemento al menú
  • mcp_delete_menu_item - Eliminar elemento del menú
  • mcp_assign_menu_location - Asignar menú a ubicación

Gestión de widgets (8)

  • mcp_list_sidebars - Listar todas las barras laterales
  • mcp_get_sidebar_widgets - Obtener widgets de la barra lateral
  • mcp_list_widget_types - Listar tipos de widgets
  • mcp_get_widget - Obtener detalles del widget
  • mcp_add_widget - Añadir widget a la barra lateral
  • mcp_update_widget - Actualizar ajustes del widget
  • mcp_delete_widget - Eliminar widget
  • mcp_move_widget - Mover widget a la 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 - Ejecutar 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 - Listar todos los grupos de campos
  • acf_get_field_group - Obtener grupo de campos con esquema
  • acf_export_field_groups - Exportar como JSON
  • acf_import_field_groups - Importar desde JSON

Campos de entrada (4)

  • acf_get_post_fields - Obtener todos los campos de una entrada
  • acf_update_post_fields - Actualizar múltiples campos
  • acf_get_post_field - Obtener valor de un campo
  • acf_update_post_field - Actualizar un campo

Campos de término y usuario (4)

  • acf_get_term_fields - Obtener campos ACF de término
  • acf_update_term_fields - Actualizar campos de término
  • acf_get_user_fields - Obtener campos ACF de usuario
  • acf_update_user_fields - Actualizar campos de usuario

Páginas de opciones (3)

  • acf_list_options_pages - Listar páginas de opciones
  • acf_get_options_fields - Obtener campos de página de opciones
  • acf_update_options_fields - Actualizar campos de opciones

Campos repetidores (5)

  • acf_get_repeater - Obtener filas del repetidor
  • acf_add_repeater_row - Añadir fila
  • acf_update_repeater_row - Actualizar fila
  • acf_delete_repeater_row - Eliminar fila
  • acf_reorder_repeater - Reordenar filas

Contenido flexible (5)

  • acf_get_flexible - Obtener diseños
  • acf_add_flexible_layout - Añadir diseño
  • acf_update_flexible_layout - Actualizar diseño
  • acf_delete_flexible_layout - Eliminar diseño
  • acf_reorder_flexible - Reordenar diseños

Campos de relación (4)

  • acf_get_relationship - Obtener entradas relacionadas
  • acf_set_relationship - Establecer entradas relacionadas
  • acf_add_to_relationship - Añadir entradas
  • acf_remove_from_relationship - Eliminar entradas

Utilidades (2)

  • acf_get_clone_references - Obtener referencias de campos clonados
  • acf_get_field_object - Obtener esquema de campo

Módulo WooCommerce (42 herramientas) — Requiere wp-pilot-pro + WooCommerce

Requiere wp-pilot-pro y WooCommerce.

Productos (5)

  • woo_list_products - Listar productos con filtros
  • woo_get_product - Obtener detalles del producto
  • woo_create_product - Crear producto
  • woo_update_product - Actualizar producto
  • woo_delete_product - Eliminar producto

Variaciones (4)

  • woo_list_variations - Listar variaciones de producto
  • woo_create_variation - Crear variación
  • woo_update_variation - Actualizar variación
  • woo_delete_variation - Eliminar variación

Atributos (4)

  • woo_list_attributes - Listar atributos
  • woo_list_attribute_terms - Listar términos de atributos
  • woo_create_attribute - Crear atributo
  • woo_create_attribute_term - Crear término

Categorías y etiquetas (5)

  • woo_list_categories - Listar categorías de producto
  • woo_create_category - Crear categoría
  • woo_update_category - Actualizar categoría
  • woo_delete_category - Eliminar categoría
  • woo_list_tags - Listar etiquetas de producto

Pedidos (5)

  • woo_list_orders - Listar pedidos
  • woo_get_order - Obtener detalles del pedido
  • woo_update_order_status - Actualizar estado
  • woo_add_order_note - Añadir nota
  • woo_get_order_notes - Obtener notas

Clientes (5)

  • woo_list_customers - Listar clientes
  • woo_get_customer - Obtener cliente
  • woo_create_customer - Crear cliente
  • woo_update_customer - Actualizar cliente
  • woo_get_customer_orders - Obtener historial de pedidos

Cupones (5)

  • woo_list_coupons - Listar cupones
  • woo_get_coupon - Obtener cupón
  • woo_create_coupon - Crear cupón
  • woo_update_coupon - Actualizar cupón
  • woo_delete_coupon - Eliminar 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

Metadatos de producto e inventario (3)

  • woo_get_product_meta - Obtener metadatos del producto
  • woo_update_product_meta - Actualizar metadatos del producto
  • woo_bulk_update_stock - Actualización masiva de stock

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

Para gestionar múltiples sitios WordPress, ejecuta instancias MCP separadas:

{
  "mcpServers": {
    "wordpress-site1": {
      "command": "npx",
      "args": ["@cavort-it-systems/wordpress-mcp"],
      "env": {
        "WORDPRESS_SITE_URL": "https://site1.com",
        "WORDPRESS_USERNAME": "admin",
        "WORDPRESS_PASSWORD": "xxxx xxxx xxxx xxxx"
      }
    },
    "wordpress-site2": {
      "command": "npx",
      "args": ["@cavort-it-systems/wordpress-mcp"],
      "env": {
        "WORDPRESS_SITE_URL": "https://site2.com",
        "WORDPRESS_USERNAME": "admin",
        "WORDPRESS_PASSWORD": "yyyy yyyy yyyy yyyy"
      }
    }
  }
}

Licencia

MIT