MCP en WordPress: la web de un ayuntamiento al día con la IA
Cómo el MCP Adapter oficial y la Abilities API dejan que un ayuntamiento publique noticias, avisos y fichas pidiéndoselo a una IA. Caso real, con sus fallos.
Datos a 9 de noviembre de 2026 · especificación MCP 2026-07-28
¿Empiezas con MCP? La lección 1 del curso se lee gratis, sin registro.
Sí, puedes llevar al día una web con MCP en WordPress. Con el MCP Adapter oficial y unas pocas capacidades propias, quien gestiona la web de un ayuntamiento publica noticias, avisos y fichas pidiéndoselo a un asistente de IA.
Hay un límite. A 9 de noviembre de 2026 el MCP Adapter no incluye OAuth (el sistema de «iniciar sesión con…»), así que ChatGPT y claude.ai no se conectan a un WordPress instalado en tu propio servidor sin ayuda. La otra vía es el servidor MCP de WordPress.com a través de Jetpack, que no hemos probado.
Lo contamos con un caso real, la web del Ayuntamiento de San Román de los Montes (Toledo), un WordPress con tema propio. Quien la gestiona quería escribir cosas como «publica esta noticia con este cartel», «pon un aviso del corte de agua» o «añade esta asociación con sus fotos», y que la web cambiara sin abrir el escritorio de WordPress. Lo montamos el 21 de octubre de 2026, en un día de trabajo.
Vas a ver qué piezas usa WordPress para hablar MCP, cuál te sirve según dónde esté tu web, qué capacidades definimos y qué falló. No necesitas saber programar para seguirlo. Te ayuda saber qué es MCP, y los términos que aparezcan los tienes en el glosario de MCP. Si lo que buscas es que los agentes lean y usen tu web pública, empieza por la guía de web lista para agentes de IA.
Qué es el MCP de WordPress
El MCP de WordPress son dos piezas del propio proyecto WordPress. La Abilities API describe lo que tu web sabe hacer, y el MCP Adapter se lo ofrece a los asistentes de IA por MCP.
MCP (Model Context Protocol) es el estándar con el que una aplicación de IA, el cliente, se conecta a un servidor que le ofrece herramientas. Aquí el servidor es tu WordPress y el cliente es un asistente como Claude Code. Una herramienta es una acción que el modelo puede pedir que se ejecute, como «publicar una noticia».
Una ability, o capacidad, es una función de la web descrita para que una máquina la entienda. Dice qué hace, qué datos necesita y quién puede usarla. La Abilities API es el registro donde el núcleo, los plugins y los temas las declaran, y forma parte del núcleo desde WordPress 6.9. Es un estándar de WordPress, no de MCP.
El MCP Adapter es el plugin oficial que convierte tu web en un servidor MCP. Va por la versión 0.7.1, del 16 de octubre de 2026, y exige WordPress 6.9. Desde la 0.7.0 habla la versión 2026-07-28 de MCP, la que enseñamos en el curso, y también la 2025-11-25. Cómo viaja cada petición entre cliente y servidor lo explicamos en la lección Cómo viaja una petición.
El servidor del adaptador ofrece tres herramientas: descubrir las capacidades, leer el detalle de una y ejecutarla. Solo llega a las marcadas como públicas. El asistente actúa como un usuario de WordPress, con su rol.
flowchart LR
G["Quien gestiona la web"] -->|"«pon un aviso del corte de agua»"| C["Cliente de IA (Claude Code)"]
C -->|"MCP + contraseña de aplicación"| A["MCP Adapter"]
subgraph W["WordPress del ayuntamiento"]
A --> T["3 herramientas: descubrir, leer detalle, ejecutar"]
T --> H["Capacidades públicas: noticia, aviso, ficha, imagen"]
H --> P["Web pública"]
end
N["Con los permisos de su usuario de WordPress"] -.-> A ¿WordPress.com o WordPress.org?
Depende de dónde viva tu web. WordPress.com tiene su propio servidor MCP con OAuth 2.1, que sirve a los sitios alojados en WordPress.com y también a los WordPress.org autoalojados conectados con el plugin Jetpack, sin plan de pago de Jetpack según su página de soporte. Nosotros no hemos probado la vía Jetpack. Si es un WordPress instalado en tu servidor o en tu hosting (WordPress.org, autoalojado) sin Jetpack, usas el MCP Adapter, que es el caso del ayuntamiento.
Dos términos de la tabla. Una contraseña de aplicación es una contraseña aparte que creas en tu perfil de WordPress para un programa concreto, y que puedes borrar sin cambiar la tuya. OAuth es el mecanismo de «iniciar sesión con…», con el que el asistente recibe un permiso sin ver tu contraseña.
| WordPress.com (o autoalojado con Jetpack) | WordPress.org autoalojado + MCP Adapter | |
|---|---|---|
| Quién lo ofrece | WordPress.com, con un servidor MCP oficial para sus sitios | El proyecto WordPress, con el plugin MCP Adapter |
| Cómo te identificas | OAuth 2.1 | Usuario y contraseña de aplicación |
| Claude y ChatGPT | Conector en el directorio de Claude y plugin en ChatGPT | No conectan solos a 9 de noviembre de 2026 |
| Otros clientes | No lo hemos probado | Claude Code con una cabecera, y apps de escritorio con un proxy local |
| Requisitos | Sitio en WordPress.com o autoalojado conectado con Jetpack | WordPress 6.9 o posterior y HTTPS, salvo en local |
La vía Jetpack para un WordPress autoalojado existe según la página de soporte de WordPress.com, pero no la hemos probado.
Las capacidades que definimos
Definimos 14 capacidades propias, una por cada tarea que el ayuntamiento repite en su web. Todo lo que no está en esa lista queda fuera del alcance del asistente.
Las primeras cubrían estas tareas:
- publicar noticias
- poner avisos emergentes
- las fiestas
- empresas, teléfonos, proyectos cofinanciados y accesos
- los datos del Ayuntamiento y sus redes sociales
- retirar fichas a la papelera, sin borrarlas.
Ese mismo día el ayuntamiento pidió dos secciones nuevas. Instalaciones recoge el Ayuntamiento, la biblioteca, el gimnasio, el colegio y la piscina, cada una con su horario, sus tarifas y hasta cinco fotos en carrusel. Asociaciones lleva logo, fotos, actividades, cuándo se reúnen y cómo hacerse socio. Las dos fichas muestran sus noticias relacionadas.
Lo que más nos gustó es que el cliente descubre solo las capacidades nuevas. Al añadir Instalaciones, el asistente la encontró a través del propio MCP de la web, sin cambiar su configuración.
Un día de trabajo
Todo ocurrió el 21 de octubre de 2026, con el MCP Adapter 0.7.1 recién publicado. Esta es la secuencia, en cuatro pasos:
- A las 13:00 instalamos el adaptador y registramos las 14 capacidades en el tema. Antes las probamos en una copia local con WordPress Playground, un WordPress que corre en el navegador.
- A las 13:06 Claude Code ya estaba conectado, con el usuario y la contraseña de aplicación en una cabecera, un dato que el cliente añade a cada petición. Cómo se añade un servidor así lo explicamos en conectar un servidor MCP a Claude.
- Por la tarde construimos un puente, un programa intermedio que añade el OAuth que le falta al adaptador, para que también ChatGPT pudiera conectarse.
- Después llegaron la subida de imágenes, Instalaciones, Asociaciones y los vídeos en el carrusel.
La subida de imágenes nació de una conversación. Se le pasó a ChatGPT el logo de una empresa local como PNG adjunto, y la capacidad de empresas solo aceptaba una dirección pública o una imagen ya subida. Añadimos una capacidad que sube JPG, PNG, WebP y GIF de hasta 10 MB y comprueba el contenido real del archivo. Cada imagen va a su carpeta de medios, como Noticias o Empresas, con título y texto alternativo.
Lo que falló
Fallaron cosas pequeñas, y casi ninguna era de MCP. Son las que te puedes encontrar tú.
Wordfence escondía las contraseñas de aplicación
En el perfil del usuario no aparecía la sección para crear una contraseña de aplicación. Wordfence, el plugin de seguridad de la web, tenía marcada la opción «Desactivar las contraseñas de aplicación de WordPress». La desmarcó quien administra la web, porque los ajustes de seguridad le corresponden a esa persona.
Eso vimos en nuestra instalación. Si no ves la sección, revisa tu plugin de seguridad antes de culpar al adaptador. Las contraseñas de aplicación también exigen HTTPS salvo en local, así que la copia de Playground, por http, necesitó un ajuste de desarrollo.
Un comando que guardó una credencial vacía
El comando con el que conectamos Claude Code pedía la contraseña en la terminal. Estaba escrito para bash, pero el Mac usaba zsh, y guardó una credencial vacía. Lo repetimos con la sintaxis de zsh.
Importante: no pegues nunca un comando con una contraseña escrita dentro.
El logo diminuto
El logo de una empresa local, apaisado, se veía a 54 × 23 píxeles. La ficha lo metía en un recuadro de 64 × 64 y usaba la miniatura de 150 píxeles.
Le dimos al logo una franja propia, de altura fija y ancho flexible, con el tamaño medio de la imagen. Además, los logos que se suben ahora se recortan solos para quitar los márgenes vacíos. Ese mismo logo pasó a 192 × 64.
Este fallo fue nuestro. Para no recortar imágenes en blanco, descartábamos el recorte si quedaba menos del 10 % del lienzo. Pero un logo pequeño ocupa en torno al 5 %, justo el caso que queríamos arreglar. Bajamos el límite al 1 %.
La hora que se movía
Al publicar una noticia con fecha pasada, «2026-09-11 09:00» se guardaba como las 11:00. La web leía esa fecha en UTC, la hora universal de referencia, y luego la mostraba en hora de Madrid.
Lo arreglamos leyendo la fecha en la zona horaria configurada en el sitio. Si un asistente te pasa fechas escritas como las diría una persona, sin zona, decide tú en qué zona se interpretan.
El motor común de fichas
Para Asociaciones no copiamos el código de Instalaciones. Lo convertimos en un motor común de fichas, con una configuración por tipo que dice qué campos tiene, en qué carpeta van sus imágenes y si lleva logo. Una sección nueva es ahora una entrada más en esa configuración.
En una prueba automatizada, una ficha se quedó vacía y no conseguimos reproducirlo. Aun así, cambiamos el guardado para que solo toque los campos que llegan en la petición, y así un envío incompleto no puede vaciar una ficha.
¿Qué cambió en el día a día?
Publicar o corregir una ficha pasó de recorrer varias pantallas del escritorio a escribir una frase. No hemos medido cuánto tiempo ahorra ni cuánto se usa, así que no damos cifras.
El gestor pide «pon un aviso del corte de agua» y el asistente elige la capacidad y la ejecuta con los datos de la frase. Si una noticia tiene que salir también en la ficha de una asociación, basta con decirlo.
El asistente actúa cuando se lo piden. Quien gestiona la web ve lo que se publica y lo corrige cuando hace falta.
¿Puede la IA estropear mi web?
Puede hacer lo mismo que el usuario de WordPress con el que se conecta, y nada más. Por eso conviene que ese usuario tenga solo los permisos que necesita.
El adaptador no da poderes nuevos. Usa las capacidades públicas con sus comprobaciones de permisos, y por defecto solo atiende a usuarios que han iniciado sesión. Nuestra recomendación tiene tres partes:
- Crea un usuario de WordPress solo para el asistente, con el rol más bajo que te permita hacer el trabajo.
- Usa una contraseña de aplicación por cliente. Si uno deja de usarse, borras la suya y pierde el acceso.
- Diseña las capacidades para que un error se pueda deshacer, como la papelera y el guardado parcial del ayuntamiento.
Los riesgos generales de dar herramientas a un modelo, como la inyección de instrucciones, los repasamos en seguridad en servidores MCP.
¿Necesito saber programar?
Para usar un asistente con una web que ya tiene capacidades, no. Para crear capacidades propias como las del ayuntamiento, sí, o necesitas a alguien que lo haga.
Instalar el MCP Adapter lo puede hacer cualquiera que administre WordPress. Pero solo ofrece las capacidades que alguien haya registrado y marcado como públicas, y eso se hace con código, en el tema o en un plugin. Si vas a diseñarlas, piensa en ellas como herramientas de MCP, como explicamos en la lección de herramientas.
¿Puedo usar WordPress con ChatGPT o claude.ai?
Con un WordPress autoalojado y el MCP Adapter, a 9 de noviembre de 2026, no directamente. ChatGPT y claude.ai solo añaden conectores con OAuth, y ni WordPress ni el MCP Adapter traen un servidor OAuth. Si conectas tu sitio con Jetpack, puedes usar el servidor MCP de WordPress.com, que sí tiene OAuth. Esa vía no la hemos probado.
Lo reconoce la propia guía del adaptador para propietarios de sitios. Esas apps no tienen un campo para la contraseña de aplicación, así que la guía propone un cliente de escritorio o un plugin que añada OAuth. Para escritorio, el adaptador recomienda un proxy local, @automattic/mcp-wordpress-remote, que solo funciona en el ordenador donde lo configuras y guarda la contraseña en un archivo JSON.
Hay una propuesta en marcha. El 3 de noviembre de 2026 se abrió el issue #436, que propone un servidor OAuth 2.1 mínimo dentro del adaptador, apoyado en las contraseñas de aplicación. El PR #437 lo implementa y el #448 es un borrador de demostración. A 9 de noviembre ninguno está fusionado, así que por ahora es solo una propuesta.
En el ayuntamiento no quisimos esperar y construimos un puente OAuth propio, que contaremos en otro artículo. Su código ya es público, con licencia MIT, como código de referencia. La autorización en MCP la explicamos en la lección APIs externas y autorización. Y un servidor MCP que ya conecta con esos clientes es el de este curso: usa el curso desde Claude y ChatGPT.
No lo confundas con WebMCP, que sirve para que un agente que navega por tu web pública use herramientas de la página. Para administrar el contenido necesitas el servidor MCP del adaptador.
Aprende esto en el curso
- Básico Gratis Herramientas · Acciones que el modelo puede invocar, con esquemas y errores
- Básico Gratis Cómo viaja una petición · El protocolo sin estado: qué lleva cada petición y qué vuelve
- Avanzado 10 € APIs externas y autorización · REST, GraphQL y OAuth 2.1 de extremo a extremo
«Herramientas» es gratis con una cuenta, igual que el resto del Básico. Sin tarjeta. Si prefieres mirar antes, la lección 1 se lee sin registro.
Crear cuenta y leerla Ir a la lecciónFuentes
- Make WordPress Core: Abilities API in WordPress 6.9 (2025-11-10)
- WordPress/mcp-adapter (repositorio)
- MCP Adapter: versiones publicadas
- MCP Adapter en el directorio de WordPress.org (API de plugins) (2026-10-16)
- MCP Adapter: guía para propietarios de sitios
- MCP Adapter: migración a la 0.7.0 (versiones del protocolo)
- MCP Adapter: permisos del transporte
- MCP Adapter: uso desde clientes de escritorio
- MCP Adapter, issue #436: Add support for OAuth2 for MCP Clients (2026-11-03)
- MCP Adapter, PR #437: Add OAuth 2.1 Server (2026-11-04)
- MCP Adapter, PR #448 (borrador): inicio de sesión OAuth (2026-11-09)
- Automattic/wordpress-mcp (archivado)
- @automattic/mcp-wordpress-remote
- WordPress.com: MCP (2026-11-09)
- mcp-bridge-wordpress (código de referencia del puente OAuth, MIT)
- WordPress.com Developer: MCP