← Todos los artículos
MCP27 ago 20264 min de lectura

Consentimiento de cookies desde Claude y ChatGPT

Conecta Claude o ChatGPT al servidor MCP de Katla con una URL y gestiona el consentimiento de cookies en lenguaje natural: dominios, cookies y consentimientos.

Equipo de Katla

El trabajo de cumplimiento tiene una forma que, casualmente, se les da bien a los asistentes de IA. Alguien pregunta qué cookies de terceros escribe un sitio. Otra persona quiere saber si la tasa de consentimiento bajó después del cambio de banner de la semana pasada. Hay que añadir, verificar, escanear e instalar un nuevo dominio de marketing. Nada de esto es difícil, pero implica abrir un panel, recordar en qué equipo está cada dominio e ir haciendo clic hasta dar con la respuesta.

Hoy lanzamos el servidor MCP de Katla, para que baste con preguntar.

Una URL, sin claves de API

El servidor MCP de Katla es remoto. No hay nada que instalar, ninguna clave que generar y nada que rotar:

https://api.katla.app/mcp

Pégala en Claude, ChatGPT, Claude Code, Cursor o cualquier otro cliente que hable el Model Context Protocol, inicia sesión con tu cuenta normal de Katla en la ventana del navegador que se abre, y ya estás conectado.

La autenticación es OAuth 2.1 con PKCE y registro dinámico de clientes, y delega el inicio de sesión en sí al mismo proveedor de identidad que usa el panel. En la práctica: haces clic en un botón, inicias sesión y listo.

Lo que puede hacer de verdad

El servidor MCP expone lo mismo que nuestra CLI: quince herramientas que cubren sitios, cookies, consentimientos y políticas:

"What cookies does example.com set, and which ones are marketing?"
"What's our consent acceptance rate this month?"
"Add shop.example.com and tell me how to verify it."
"Reclassify _hjSession on example.com as analytics."
"How do I install the banner on example.com?"

Las interesantes son las peticiones compuestas. Dar de alta un dominio suele implicar cuatro pasos separados (añadir, verificar, escanear, instalar) con esperas entre medias, porque la verificación y el escaneo son tareas asíncronas. Pide a un asistente que "configure shop.example.com" y recorrerá la secuencia por sí mismo: añade el dominio, te da el registro DNS, consulta hasta que la verificación se completa, lanza un escaneo y te cuenta lo que ha encontrado el rastreador.

Actúa como tú, no como un robot

Esta era la parte que más nos importaba hacer bien.

Cada llamada a una herramienta MCP se ejecuta con tu identidad, a través de los mismos endpoints de la API que usan el panel y la CLI. Eso significa que las comprobaciones de rol, las reglas de acceso por sitio y las cuotas del plan se aplican sin cambios. No hay ninguna cuenta de servicio, ninguna vía con privilegios elevados ni ningún modelo de permisos aparte que mantener sincronizado: si no puedes hacerlo en el panel, el asistente no puede hacerlo por ti.

Además, hay algunos límites deliberados:

  • La facturación es de solo lectura. Puedes preguntar en qué plan estás y cuánto has gastado de tu cuota de escaneos. No puedes cambiar de plan ni tocar los métodos de pago a través de MCP. Las decisiones de dinero corresponden a una persona en un navegador.
  • Nada de operaciones destructivas. Eliminar un dominio no está expuesto. Borrar cosas por una sugerencia que suena muy segura no es un modo de fallo que queramos permitir.
  • Ningún dato personal de los visitantes. Los registros de consentimiento llegan con la decisión, las categorías y la marca de tiempo. Las direcciones IP y los user agents se quedan fuera del contexto del modelo: sería un producto de privacidad muy raro el que filtrara datos de los visitantes a una IA para responder preguntas sobre privacidad.
  • Los scopes son reales. Un cliente que se conecta solo con katla:read obtiene una conexión de verdad de solo lectura; todas las herramientas que modifican algo lo rechazan.

Puedes revocar el acceso en cualquier momento eliminando el conector, y cerrar sesión en Katla invalida la sesión subyacente en todas partes.

Primeros pasos

ClienteCómo conectarlo
ClaudeSettings → Connectors → Add custom connector, pega la URL y haz clic en Connect
ChatGPTSettings → Connectors → Create, pega la URL, elige OAuth y haz clic en Connect
Cursor / VS CodeAñade { "mcpServers": { "katla": { "url": "https://api.katla.app/mcp" } } }

Para Claude Code, basta con un comando:

claude mcp add --transport http katla https://api.katla.app/mcp

La configuración paso a paso y la resolución de problemas están en la guía de primeros pasos, y todas las herramientas aparecen en la referencia de MCP.

Hacia dónde va esto

El cumplimiento en materia de cookies es un terreno en el que los datos son precisos y las preguntas, difusas. "¿Cumplimos la normativa?" no es una consulta a una base de datos, pero "¿qué cookies están sin categorizar?", "¿qué sitios llevan 90 días sin escanearse?" y "¿se ha movido la tasa de aceptación?" sí lo son. Poner una interfaz de lenguaje sobre datos precisos encaja bien, siempre que los datos precisos sigan siendo la referencia.

Esa es la línea que mantenemos: el asistente es una interfaz, no una fuente de verdad. Katla sigue haciendo el escaneo, la clasificación y el registro del consentimiento. MCP solo significa que puedes preguntar por ello desde la herramienta que ya tienes abierta.