Skip to main content

Una agencia gestiona muchos sitios con un asistente de IA

La situación

Una agencia mantiene una docena de sitios Joomla, algunos con YOOtheme Pro. Las tareas repetidas son las de siempre: revisar qué extensiones tienen actualizaciones, localizar artículos sin publicar, cambiar un texto en varias páginas del constructor, comprobar qué módulos están activos. Alguien del equipo ya usa un asistente de IA para otras cosas y quiere que también pueda mirar y tocar los sitios, pero sin darle la contraseña de un superusuario ni perder la pista de lo que hace.

Cómo se resuelve

Cada sitio tiene su propio evoMCP, que lo expone como servidor MCP en https://el-sitio/mcp. No hay un panel común entre sitios: la configuración se hace en cada uno.

En cada sitio se crean las conexiones que hagan falta. Una conexión tiene un usuario de Joomla bajo cuya identidad y permisos se ejecuta todo, una matriz de permisos por componente (ninguno, leer, escribir o full), caducidad, IPs permitidas, cuota mensual y modo de aprobación. El permiso efectivo es siempre el mínimo entre la matriz y lo que ese usuario puede hacer en el panel. Una conexión nueva nace con solo lectura de contenido.

Un reparto razonable para una agencia:

  • Una conexión de solo lectura para el asistente que hace diagnósticos y consultas.
  • Otra con escritura sobre contenido para quien edita textos, con aprobación en toda escritura.
  • Una tercera, con permisos de sistema, solo para quien actualiza extensiones, y con las acciones de sistema siempre pendientes de aprobación.

Los clientes con herramientas de escritorio o de línea de comandos usan el token de la conexión. Los que se conectan desde el navegador (claude.ai, ChatGPT) usan OAuth 2.1: el cliente descubre el servidor, pasa por el login de Joomla y en la pantalla de consentimiento se elige la conexión y los componentes que se comparten.

Todo lo que cambia el sitio admite dry_run, y por defecto cada escritura queda pendiente hasta que un administrador la aprueba con los argumentos exactos a la vista. Lo que el asistente crea queda como borrador. Cada llamada, también las rechazadas, queda en la auditoría, y el uso (llamadas, errores, latencia) se mide por conexión.

Qué interviene

  • evoMCP: endpoint, conexiones, matriz de permisos, aprobaciones, auditoría y medición.
  • Las herramientas de contenido, de los componentes de Joomla (menús, módulos, medios, usuarios, extensiones, plantillas), de YOOtheme (catálogo de elementos, nodos del constructor, páginas, ajustes del tema) y de sistema (actualizaciones, caché, registros, tareas programadas).
  • Documentación para empezar: primeros pasos y configuración.

Límites

  • Las herramientas de YOOtheme que editan el constructor exigen que el grupo del usuario de la conexión tenga el filtro de texto en «Sin filtro».
  • Las herramientas de sistema son solo para superusuarios, y el núcleo de Joomla no se actualiza desde evoMCP.
  • La capa avanzada (SQL y ficheros) viene deshabilitada y requiere tres cerrojos: plugin habilitado, interruptor de las opciones y permiso full sobre el componente advanced. Si no la necesitas, déjala apagada.
  • Una aprobación se ejecuta con la identidad del usuario de la conexión, no con la de quien aprueba.
  • Algunos hostings con cortafuegos de aplicación pueden bloquear peticiones con aspecto de inyección SQL o ráfagas de llamadas.
  • Precios y licencias: precios.

Productos relacionados