Referencia de herramientas MCP de WordPress.com
Este texto fue traducido usando IA. Si deseas ver el texto original en inglés, haz clic aquí.
Este documento proporciona un mapeo completo de las herramientas MCP disponibles para los desarrolladores de WordPress.com. Es un documento en constante evolución y se actualizará a medida que se añadan nuevas herramientas o se modifiquen las existentes.
Para obtener los esquemas exactos de entrada y salida, llama a la propia herramienta — cada fachada STRAP expone action: list (catálogo de operaciones) y action: describe (JSON Schema completo por operación). Los esquemas evolucionan, así que siempre trata la respuesta en vivo de describe como la fuente de verdad.
Cómo están organizadas las herramientas MCP de WordPress.com
El servidor MCP de WordPress.com expone dos tipos de herramientas:
- Herramientas de fachada STRAP — Una única herramienta MCP que agrupa una familia de operaciones relacionadas detrás de un solo punto de entrada. Las fachadas utilizan una interfaz uniforme basada en acciones (
action: list | describe | execute) para que los agentes de IA descubran lo que está disponible, obtengan los esquemas de parámetros y ejecuten operaciones a través de una sola herramienta. Esto mantiene el catálogo de herramientas pequeño y predecible. - Herramientas independientes — Herramientas de propósito único que reciben parámetros directamente. Se utilizan para operaciones que no encajan en una familia más amplia (por ejemplo, listar los sitios del usuario, generar una URL de pago).
⚠️ Protocolo de seguridad: Todas las operaciones de escritura, actualización y eliminación requieren confirmación del usuario. El agente debe (1) describir exactamente lo que planea hacer, (2) pedir al usuario una confirmación explícita, y (3) incluir la confirmación del usuario como user_confirmed: true en los params de ejecución. Las operaciones de escritura nunca se ejecutan automáticamente. Las eliminaciones permanentes (términos de taxonomía) requieren adicionalmente confirm_permanent_delete: true.
Interfaz basada en acciones (fachadas STRAP)
Cada herramienta de fachada STRAP acepta las mismas tres entradas de nivel superior:
action(enum:list/describe/execute): Lo que el agente quiere hacer.list— Descubrir las operaciones disponibles en esta herramienta. Devuelve nombres de operaciones, descripciones breves y razones de operaciones deshabilitadas.describe— Obtener el JSON Schema completo (parámetros, tipos, campos obligatorios) de una operación.execute— Ejecutar una operación.operation: El nombre de la operación en formatoresource.action(por ejemplo,posts.create,theme.presets).params: Parámetros específicos de la operación. Las operaciones de escritura deben incluiruser_confirmed: true.
La mayoría de las fachadas también requieren wpcom_site (un ID de sitio o URL). La fachada wpcom-mcp-account es la excepción: opera sobre el usuario autenticado.
Todas las operaciones admiten un parámetro opcional include_fields para limitar qué campos se devuelven. Úsalo para mantener las respuestas eficientes en contexto.
Herramientas de fachada STRAP
Creación de contenido ( wpcom-mcp-content-authoring )
Crea, lee, actualiza y elimina contenido en un sitio de WordPress.com: entradas, páginas, comentarios, medios, categorías, etiquetas, patrones de bloques y búsqueda de contenido.
💡 Secuencia recomendada: Llama primero a wpcom-mcp-site-editor-context (theme.active, theme.presets) para que el contenido use slugs de preajustes alineados con el tema (p. ej., "primary", "large") en lugar de colores y tamaños codificados de forma fija.
Operaciones disponibles
| Operación | Descripción |
|---|---|
posts.list | Lista entradas con filtros opcionales (estado, autor, búsqueda, taxonomía, rango de fechas, ordenación, paginación). |
posts.get | Obtiene una entrada individual por ID o slug. Si un slug no coincide con una entrada, recurre a buscar en páginas. |
posts.create | Crea una nueva entrada — se crea como borrador por defecto. Escritura. |
posts.update | Actualiza una entrada existente. Solo cambian los campos proporcionados. Si el estado es publish, los cambios se aplican de inmediato. Escritura. |
posts.delete | Mueve una entrada a la papelera. Se puede restaurar desde el administrador de WordPress en un plazo de 30 días. Escritura. |
pages.list | Lista páginas con filtros opcionales (padre, estado, búsqueda, ordenación, paginación). |
pages.get | Obtiene una página individual por ID o slug. |
pages.create | Crea una nueva página — se crea como borrador por defecto. Admite estructuras jerárquicas y plantillas de página. Escritura. |
pages.update | Actualiza una página existente. Solo cambian los campos proporcionados. Si el estado es publish, los cambios se aplican de inmediato. Escritura. |
pages.delete | Mueve una página a la papelera. Se puede restaurar desde el administrador de WordPress en un plazo de 30 días. Escritura. |
comments.list | Lista comentarios con filtros opcionales (estado, entrada, autor, búsqueda, rango de fechas, paginación). |
comments.get | Obtiene un comentario individual por ID. |
comments.create | Crea un comentario en una entrada. Los comentarios de usuarios autenticados completan automáticamente los campos del autor. Escritura. |
comments.update | Actualiza un comentario existente. Si el estado es approved, los cambios son visibles de inmediato. Escritura. |
comments.delete | Mueve un comentario a la papelera. Escritura. |
media.list | Lista elementos multimedia con filtros opcionales (tipo MIME, entrada, autor, búsqueda, rango de fechas, paginación). |
media.get | Obtiene un elemento multimedia individual por ID. |
media.create | Sube un nuevo elemento multimedia (imagen, vídeo, audio, documento). Escritura. |
media.update | Actualiza los metadatos de un elemento multimedia (no el archivo). Los cambios en alt_text y caption se actualizan de inmediato en todos los lugares donde se usa el medio. Escritura. |
media.delete | Mueve un elemento multimedia a la papelera. Puede romper contenido que lo referencia. Escritura. |
categories.list | Lista categorías con filtros opcionales. |
categories.get | Obtiene una categoría individual por ID. |
categories.create | Crea una nueva categoría. Admite relaciones jerárquicas padre-hijo. Escritura. |
categories.update | Actualiza una categoría existente. Cambiar el slug afecta las URL de archivo de inmediato y puede romper enlaces. Escritura. |
categories.delete | Elimina permanentemente una categoría — los términos de taxonomía no tienen papelera. Las entradas asignadas se mueven a Sin categoría; las categorías hijas pasan a ser de nivel superior. Requiere confirm_permanent_delete: true. |
tags.list | Lista etiquetas con filtros opcionales. La búsqueda de etiquetas no distingue entre mayúsculas y minúsculas. |
tags.get | Obtiene una etiqueta individual por ID. |
tags.create | Crea una nueva etiqueta. Escritura. |
tags.update | Actualiza una etiqueta existente. Cambiar el slug afecta las URL de archivo de inmediato. Escritura. |
tags.delete | Elimina permanentemente una etiqueta — se elimina de todas las entradas asociadas. Requiere confirm_permanent_delete: true. |
patterns.list | Lista los patrones de bloques disponibles en el sitio (tema, núcleo, directorio de patrones). |
patterns.get | Obtiene un patrón de bloques individual por nombre, incluyendo su marcado de bloques. |
synced-patterns.list | Lista los patrones sincronizados (reutilizables) del sitio. |
synced-patterns.get | Obtiene un patrón sincronizado individual por ID, incluyendo su marcado de bloques. |
content-search | Búsqueda de texto libre en todo el contenido del sitio (entradas, páginas, otros tipos de contenido). |
⚠️ Las operaciones destructivas (posts.delete, pages.delete, comments.delete, media.delete, categories.delete, tags.delete) requieren que el agente obtenga y presente el elemento que se va a eliminar (título, autor, cantidad de entradas afectadas) antes de solicitar confirmación.
💡 Consejo: Al crear páginas, usa patterns.list → patterns.get para obtener patrones de bloques y componer páginas completas a partir de múltiples patrones. Después de cada creación o actualización, revisa el campo _content_warnings de la respuesta — WordPress puede eliminar bloques o HTML durante el guardado.
Contexto del editor del sitio ( wpcom-mcp-site-editor-context )
Consulta el contexto de diseño del sitio: preajustes del tema, estilos aplicados y tipos de bloques registrados. Complemento de solo lectura para la autoría de contenido. Úsalo antes de crear o actualizar contenido para que el marcado utilice tokens alineados con el tema en lugar de valores codificados de forma fija.
Esta fachada usa action: list | describe | get (no execute, ya que nunca escribe).
💡 Secuencia recomendada: theme.active → theme.presets → (opcionalmente) blocks.allowed → luego crea contenido mediante wpcom-mcp-content-authoring.
Operaciones disponibles
| Operación | Descripción |
|---|---|
theme.active | Obtiene el slug de la hoja de estilos y el nombre del tema activo. Usa el valor de stylesheet al consultar theme.presets o theme.styles. |
theme.presets | Obtiene los tokens de diseño del sitio: paleta de colores, tamaños de fuente, familias tipográficas, degradados, escala de espaciado. Resuelve automáticamente la hoja de estilos del tema activo si se omite. |
theme.styles | Obtiene los estilos aplicados del sitio desde theme.json: anulaciones a nivel de bloque y tipografía/colores a nivel de elemento. Complementa a theme.presets: los preajustes son qué tokens existen; los estilos son cómo se aplican. |
blocks.allowed | Lista los tipos de bloques registrados en el sitio con nombre, título, descripción, categoría y variaciones de estilo. Aplica una variación de estilo como is-style-{name}. |
💡 Consejo: Haz referencia a los slugs de preajustes en el marcado de bloques — por ejemplo, has-primary-color o has-large-font-size — en lugar de estilos en línea con valores hexadecimales o en píxeles, para que el contenido se adapte cuando cambien los tokens de diseño del sitio.
⚠️ Importante: Que un bloque esté registrado no garantiza que su marcado sobreviva sin cambios al proceso de guardado de la REST API. Después de cada creación o actualización mediante wpcom-mcp-content-authoring, revisa el campo _content_warnings. Si el marcado fue eliminado, usa alternativas de bloques más simples o pregunta al usuario cómo proceder.
Account ( wpcom-mcp-account )
Gestiona la cuenta de WordPress.com del usuario autenticado: perfil, notificaciones, logros, dominios, conexiones, seguridad y moneda. Opera sobre el usuario que realiza la llamada; no se requiere el parámetro wpcom_site.
Operaciones disponibles
| Operación | Descripción |
|---|---|
profile.get | Perfil básico (nombre de usuario, correo electrónico, nombre para mostrar, avatar, idioma, zona horaria), opcionalmente con preferencias, estadísticas, información de la cuenta y datos sociales/de actividad. |
profile.update | Actualizar campos del perfil (nombre para mostrar, biografía, idioma, etc.). Escritura. |
notifications.get | Preferencias de notificaciones en correo electrónico, push, cronología y otros canales. Incluye lista de dispositivos y prueba de entrega. |
notifications.update | Actualizar ajustes de notificaciones. Escritura. |
inbox.get | Bandeja de entrada de notificaciones del usuario (mensajes, alertas, menciones, «me gusta», seguidores). Filtrar por tipo, no leídos, rango de tiempo. |
achievements.get | Insignias obtenidas, logros, progreso de gamificación y vitrina de trofeos. |
domains.list | Listar los dominios del usuario autenticado en todos los sitios. |
domains.get | Detalles del dominio: capacidades de gestión, configuración DNS, DNSSEC, estado SSL, estado de mantenimiento. |
domains.dns_records | Registros DNS (A, AAAA, ALIAS, CAA, CNAME, MX, NS, SRV, TXT) para un dominio individual. |
domains.set_primary | Establecer un dominio personalizado como dominio principal de un sitio. Escritura. |
connections.get | Conexiones con redes sociales y servicios de terceros (listar, obtener detalles, comprobar estado). |
security.get | Estado de seguridad: 2FA, contraseñas de aplicación, sesiones activas, historial de inicio de sesión, antigüedad de la cuenta. |
currency.preview | Previsualizar el impacto de cambiar la moneda de la cuenta (no se confirma el cambio). |
currency.change | Cambiar la moneda de la cuenta. Escritura. |
Site ( wpcom-mcp-site )
Gestiona un sitio de WordPress.com: ajustes, estadísticas, plugins, registro de actividad, temas y configuración de módulos de Jetpack. Requiere wpcom_site (ID del sitio o URL).
Operaciones disponibles
| Operación | Descripción |
|---|---|
settings.get | Ajustes generales, de escritura, lectura, discusión, medios, enlaces permanentes y privacidad. |
settings.update | Actualizar los ajustes del sitio. Escritura. |
statistics.get | Totales del sitio — entradas publicadas, páginas, suscriptores — además de vistas opcionales, visitantes, entradas publicadas y páginas publicadas para un rango de fechas. NO incluye entradas principales, referentes, datos geográficos ni desgloses por URL. |
plugin.list | Plugins instalados con estado, versión, disponibilidad de actualización y permisos. |
activity.get | Entradas del registro de actividad (entradas, comentarios, actualizaciones de plugins, copias de seguridad, acciones de usuarios). Orden cronológico inverso. Por defecto, los últimos 6 meses. Filtrar por activity_group y activity_action. |
theme.list | Temas instalados en el sitio. |
theme.set | Cambiar el tema activo. Escritura. |
monitor.status / monitor.activate / monitor.deactivate | Comprobaciones de tiempo de actividad de Jetpack Monitor. Activar/desactivar son escrituras. |
newsletter.status / newsletter.get_settings | Estado y ajustes de Jetpack Newsletter. |
account-protection.status / account-protection.activate / account-protection.deactivate | Protección de cuenta de Jetpack. Activar/desactivar son escrituras. |
manage-site.status / manage-site.launch / manage-site.set-visibility | Ciclo de vida del sitio — estado «próximamente», lanzamiento, visibilidad. Escrituras. |
💡 Consejo para activity.get: combina activity_group (p. ej., ["plugin"]) y activity_action (p. ej., ["activated", "deactivated"]) para acotar las investigaciones. Llama primero sin filtros para descubrir qué está disponible para un sitio determinado.
Herramientas independientes
Listar sitios del usuario ( wpcom-user-sites )
Lista los sitios accesibles del usuario autenticado en WordPress.com y sitios autoalojados conectados mediante Jetpack. Úsalo para descubrir los ID de los sitios antes de llamar a herramientas con alcance de sitio. Admite paginación, búsqueda, filtros de estado y privacidad, ordenación y métricas opcionales del sitio.
Buscar disponibilidad de dominio ( wpcom-domain-purchase )
Busca dominios disponibles y genera enlaces de pago para el registro en WordPress.com. Devuelve dominios coincidentes con precios y URLs de pago preconstruidas.
Actualizar registros DNS ( wpcom-domain-update-dns-records )
Añade o elimina registros DNS (A, AAAA, ALIAS, CAA, CNAME, MX, NS, SRV, TXT) para un único dominio personalizado que administres.
⚠️ Operación destructiva. Una configuración DNS incorrecta puede interrumpir el correo electrónico y los sitios web. Obtén siempre los registros actuales (a través de wpcom-mcp-account → domains.dns_records) y describe las diferencias antes de solicitar confirmación.
Restaurar registros DNS predeterminados ( wpcom-domain-restore-default-dns-records )
Restaura los registros A predeterminados de WordPress.com (IPs del apex) o el CNAME predeterminado de www para un único dominio personalizado. Controlado por el ajuste «Actualizar registros DNS».
Actualizar servidores de nombres ( wpcom-domain-update-nameservers )
Establece los servidores de nombres para un único dominio personalizado. Requiere que quien realiza la llamada administre el sitio al que está conectado el dominio. Acepta entre 2 y 13 nombres de host de servidores de nombres válidos.
⚠️ Cambiar los servidores de nombres transfiere el control del DNS fuera de WordPress.com. El correo electrónico, los sitios web y otros servicios pueden dejar de funcionar si los nuevos servidores de nombres no están configurados para servir los mismos registros.
Configurar servicio de correo externo ( wpcom-domain-set-mail-service )
Configura los registros DNS de un dominio para un servicio de correo externo: Google Workspace, iCloud Mail, Office 365 o Zoho Mail.
⚠️ Sobrescribe los registros MX y DNS relacionados existentes del dominio. El flujo de correo existente se detiene en cuanto los nuevos registros se propagan.
Generar URL de pago ( wpcom-checkout-url )
Genera una URL de pago preconfigurada de WordPress.com para uno o más productos (nueva compra) o para la renovación de una suscripción. La URL lleva al usuario al proceso de pago de WordPress.com: el pago se realiza en el navegador, no a través de esta herramienta.
Listar planes de WordPress.com ( wpcom-plans-list )
Lista los planes de WordPress.com con precios y listas de características por nivel. Solo lectura; útil para mostrar las opciones de planes antes de generar una URL de pago.
Resumen del protocolo de seguridad
Todas las operaciones de escritura/eliminación aplican un flujo de confirmación obligatorio. El agente debe describir la acción, obtener la aprobación explícita del usuario y pasar dicha aprobación como user_confirmed: true en los params de ejecución.
| Comportamiento | Lectura | Creación | Actualización | Eliminación (papelera) | Eliminación (permanente) |
|---|---|---|---|---|---|
| Confirmación requerida | ❌ | ✅ | ✅ | ✅ | ✅ |
| Reversible | N/A | N/A | Parcialmente (se pierden los valores anteriores) | ✅ Dentro de 30 días | ❌ Permanente |
| Estado predeterminado (contenido) | N/A | borrador | Sin cambios | papelera | Eliminado por completo |
| Indicador adicional | — | — | — | — | confirm_permanent_delete: true |
Las eliminaciones permanentes (términos de taxonomía como categorías y etiquetas) requieren adicionalmente confirm_permanent_delete: true en params.
Formas aceptadas de user_confirmed: el booleano true (preferido), o una de las cadenas "true", "yes", "on", "1". Las frases de aprobación en formato libre como "yes do it" son rechazadas — el agente debe traducir la aprobación del usuario a una de estas formas aceptadas.
Última actualización: junio 15, 2026