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. 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:
| 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 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+):
- Ve a Users → Profile en el administrador de WordPress
- Desplázate hasta Application Passwords
- 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}
Qué 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 legible | todas | Salida 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 sitiowp_get_settings- Obtener ajustes del sitiowp_update_settings- Actualizar ajustes del sitiowp_get_namespaces- Listar espacios de nombres de la API REST
Entradas (6)
wp_list_posts- Listar entradas con filtroswp_get_post- Obtener una entradawp_create_post- Crear entradawp_update_post- Actualizar entradawp_delete_post- Eliminar entradawp_search_posts- Buscar entradas
Páginas (5)
wp_list_pages- Listar páginaswp_get_page- Obtener una páginawp_create_page- Crear páginawp_update_page- Actualizar páginawp_delete_page- Eliminar página
Usuarios (6)
wp_list_users- Listar usuarioswp_me- Obtener usuario actualwp_get_user- Obtener usuario por IDwp_create_user- Crear usuariowp_update_user- Actualizar usuariowp_delete_user- Eliminar usuario
Plugins (5)
wp_list_plugins- Listar pluginswp_get_plugin- Obtener detalles del pluginwp_activate_plugin- Activar pluginwp_deactivate_plugin- Desactivar pluginwp_delete_plugin- Eliminar plugin
Temas (4)
wp_list_themes- Listar temaswp_get_active_theme- Obtener tema activowp_get_theme- Obtener detalles del temawp_activate_theme- Cambiar de tema
Medios (4)
wp_list_media- Listar biblioteca de medioswp_get_media- Obtener elemento multimediawp_update_media- Actualizar metadatos multimediawp_delete_media- Eliminar medio
Categorías y etiquetas (8)
wp_list_categories- Listar categoríaswp_create_category- Crear categoríawp_update_category- Actualizar categoríawp_delete_category- Eliminar categoríawp_list_tags- Listar etiquetaswp_create_tag- Crear etiquetawp_update_tag- Actualizar etiquetawp_delete_tag- Eliminar etiqueta
Comentarios (6)
wp_list_comments- Listar comentarioswp_get_comment- Obtener comentariowp_create_comment- Crear comentariowp_update_comment- Actualizar/modera comentariowp_delete_comment- Eliminar 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- Buscar plugins en WordPress.orgmcp_install_plugin- Instalar plugin desde WordPress.orgmcp_update_plugin- Actualizar un pluginmcp_update_all_plugins- Actualizar todos los plugins
Gestión de temas (5)
mcp_search_themes- Buscar temas en WordPress.orgmcp_install_theme- Instalar tema desde WordPress.orgmcp_update_theme- Actualizar un temamcp_update_all_themes- Actualizar todos los temasmcp_delete_theme- Eliminar tema inactivo
Gestión del núcleo (6)
mcp_get_version- Obtener información de versión de WordPressmcp_get_system_info- Obtener información completa del sistemamcp_check_updates- Comprobar todas las actualizacionesmcp_update_core- Actualizar el núcleo de WordPressmcp_flush_rewrite- Vaciar reglas de reescrituramcp_flush_cache- Limpiar todas las cachés
Gestión de base de datos (5)
mcp_get_tables- Listar tablas con tamañosmcp_search_replace- Buscar/reemplazar en la base de datosmcp_optimize_tables- Optimizar todas las tablasmcp_clean_revisions- Eliminar revisiones antiguasmcp_clean_comments- Eliminar comentarios spam/papelera
Gestión de opciones (5)
mcp_list_options- Listar opciones con filtro de prefijomcp_get_option- Obtener una opciónmcp_set_option- Crear/actualizar opciónmcp_delete_option- Eliminar opciónmcp_bulk_get_options- Obtener múltiples opciones
Gestión de menús (8)
mcp_list_menus- Listar menús de navegaciónmcp_get_menu_locations- Obtener ubicaciones del temamcp_get_menu- Obtener menú con elementosmcp_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 lateralesmcp_get_sidebar_widgets- Obtener widgets de la barra lateralmcp_list_widget_types- Listar tipos de widgetsmcp_get_widget- Obtener detalles del widgetmcp_add_widget- Añadir widget a la barra lateralmcp_update_widget- Actualizar ajustes del widgetmcp_delete_widget- Eliminar widgetmcp_move_widget- Mover widget a la 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- 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 camposacf_get_field_group- Obtener grupo de campos con esquemaacf_export_field_groups- Exportar como JSONacf_import_field_groups- Importar desde JSON
Campos de entrada (4)
acf_get_post_fields- Obtener todos los campos de una entradaacf_update_post_fields- Actualizar múltiples camposacf_get_post_field- Obtener valor de un campoacf_update_post_field- Actualizar un campo
Campos de término y usuario (4)
acf_get_term_fields- Obtener campos ACF de términoacf_update_term_fields- Actualizar campos de términoacf_get_user_fields- Obtener campos ACF de usuarioacf_update_user_fields- Actualizar campos de usuario
Páginas de opciones (3)
acf_list_options_pages- Listar páginas de opcionesacf_get_options_fields- Obtener campos de página de opcionesacf_update_options_fields- Actualizar campos de opciones
Campos repetidores (5)
acf_get_repeater- Obtener filas del repetidoracf_add_repeater_row- Añadir filaacf_update_repeater_row- Actualizar filaacf_delete_repeater_row- Eliminar filaacf_reorder_repeater- Reordenar filas
Contenido flexible (5)
acf_get_flexible- Obtener diseñosacf_add_flexible_layout- Añadir diseñoacf_update_flexible_layout- Actualizar diseñoacf_delete_flexible_layout- Eliminar diseñoacf_reorder_flexible- Reordenar diseños
Campos de relación (4)
acf_get_relationship- Obtener entradas relacionadasacf_set_relationship- Establecer entradas relacionadasacf_add_to_relationship- Añadir entradasacf_remove_from_relationship- Eliminar entradas
Utilidades (2)
acf_get_clone_references- Obtener referencias de campos clonadosacf_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 filtroswoo_get_product- Obtener detalles del productowoo_create_product- Crear productowoo_update_product- Actualizar productowoo_delete_product- Eliminar producto
Variaciones (4)
woo_list_variations- Listar variaciones de productowoo_create_variation- Crear variaciónwoo_update_variation- Actualizar variaciónwoo_delete_variation- Eliminar variación
Atributos (4)
woo_list_attributes- Listar atributoswoo_list_attribute_terms- Listar términos de atributoswoo_create_attribute- Crear atributowoo_create_attribute_term- Crear término
Categorías y etiquetas (5)
woo_list_categories- Listar categorías de productowoo_create_category- Crear categoríawoo_update_category- Actualizar categoríawoo_delete_category- Eliminar categoríawoo_list_tags- Listar etiquetas de producto
Pedidos (5)
woo_list_orders- Listar pedidoswoo_get_order- Obtener detalles del pedidowoo_update_order_status- Actualizar estadowoo_add_order_note- Añadir notawoo_get_order_notes- Obtener notas
Clientes (5)
woo_list_customers- Listar clienteswoo_get_customer- Obtener clientewoo_create_customer- Crear clientewoo_update_customer- Actualizar clientewoo_get_customer_orders- Obtener historial de pedidos
Cupones (5)
woo_list_coupons- Listar cuponeswoo_get_coupon- Obtener cupónwoo_create_coupon- Crear cupónwoo_update_coupon- Actualizar cupónwoo_delete_coupon- Eliminar cupón
Informes (3)
woo_sales_report- Informe de ventaswoo_top_sellers- Productos más vendidoswoo_stock_report- Informe de estado de stock
Metadatos de producto e inventario (3)
woo_get_product_meta- Obtener metadatos del productowoo_update_product_meta- Actualizar metadatos del productowoo_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