Alison AI MCP
Inteligencia creativa de tus cuentas publicitarias, dentro de tu asistente de IA.
Documentación
Model Context Protocol
Servidor MCP de Evo
Apunta cualquier cliente MCP — Claude Code, Claude, Cursor, Codex — a Evo y leerá directamente tu almacén de rendimiento creativo: gasto y KPIs, etiquetas creativas, inteligencia competitiva, vistas previas. Solo lectura, y limitado a las cuentas que cada usuario ya tiene.
URL del servidor https://evo.alison.ai/mcp streamable-http solo lectura
14 herramientas 13 de analítica + vistas previas creativas
Inicio de sesión SSO OAuth 2.1 — sin token que distribuir
Alcance del lado del servidor la concesión decide, no el cliente
Resumen
Qué obtienes, y qué no puedes hacer con ello.
La superficie MCP es el mismo motor de analítica sobre el que se ejecuta el agente analista de Evo, expuesto directamente a tu cliente. Cada herramienta es una lectura: nada en esta superficie escribe, muta, ni gasta presupuesto de modelo. No hay SQL que redactar — las herramientas aceptan argumentos estructurados (métricas, dimensiones, filtros) y los compilan del lado del servidor contra el registro de KPIs.
El servidor habla streamable-http en /mcp. Tanto /mcp como /mcp/ funcionan, de modo que un cliente que no sigue redirecciones igual se conecta.
Inicio rápido
Añade el servidor sin credencial alguna. Todo lo demás ocurre en tu navegador, una sola vez.
- Añade el servidor Un solo comando, solo la URL — sin token, sin archivo de configuración que editar.
- Responde no autorizado Aún no conectado. El
401indica dónde autenticarse, así que el cliente abre esa página (o te entrega el enlace). - Inicia sesión y aprueba La página de Evo: correo electrónico o SSO, elige qué producto puede leer este cliente, Aprueba.
- El token se guarda por ti Se emite del lado del servidor, lo conserva el cliente, y se reutiliza en cada llamada posterior. Nadie tiene que gestionarlo.
Claude Code Claude Cursor Codex Cualquier cliente
claude mcp add --transport http evo https://evo.alison.ai/mcp
Luego ejecuta /mcp, elige evo, y autentícate — tu navegador se abre en la página de inicio de sesión de Evo, eliges un producto y apruebas, y Claude Code conserva el token que recibe.
Preaprobar cada herramienta es seguro. Las 14 son de solo lectura y ninguna gasta presupuesto de modelo, así que no hay nada aquí que merezca un aviso de confirmación por llamada.
Autenticación
Tus usuarios inician sesión con la identidad que ya tienen. Nada que aprovisionar, ninguna credencial que distribuir.
El flujo del navegador
La primera llamada del cliente responde con 401 y un encabezado WWW-Authenticate que apunta a /.well-known/oauth-protected-resource/mcp. A partir de ahí el cliente se registra y abre Evo, donde el usuario ve dos pantallas:
- Inicia sesión en Evo — correo electrónico y contraseña, o SSO con Google, Microsoft o LinkedIn.
- Conecta "" — elige qué producto puede leer este cliente, luego Aprueba o Deniega.
Al aprobar, el servidor emite un token y lo devuelve mediante la redirección. El cliente lo guarda y se reconecta por su cuenta; nunca se muestra, y el producto elegido en esa pantalla es el límite máximo de lo que el cliente podrá ver jamás. Algunos clientes abren el navegador por ti, otros imprimen la URL — las mismas páginas en cualquier caso.
Por debajo
OAuth 2.1 con PKCE y registro dinámico de clientes, de modo que ningún cliente está preaprovisionado en ninguno de los dos lados:
| Paso | Endpoint |
|---|---|
| Desafío | 401 + WWW-Authenticate nombrando los metadatos del recurso |
| Descubrimiento | /.well-known/oauth-protected-resource/mcp → /.well-known/oauth-authorization-server |
| Registro | POST /oauth/register — RFC 7591, cliente público, sin secreto emitido |
| Autorización | GET /oauth/authorize — las pantallas anteriores; PKCE S256 obligatorio, un redirect_uri no registrado se rechaza sin redirección |
| Token | POST /oauth/token — código de un solo uso, verificado con PKCE, TTL de 60s |
Revocar acceso
GET /api/keys lista cada cliente conectado bajo tu usuario — nombre, producto, cuándo se creó, cuándo se usó por última vez. DELETE /api/keys/{id} desconecta uno. La revocación es inmediata, no eventualmente consistente: la autorización se vuelve a resolver desde el almacén en cada solicitud y jamás se cachea, así que la siguiente llamada de ese cliente falla de forma cerrada.
Alcance y permisos
El cliente no puede ampliar su propio alcance. Solo el servidor decide qué es visible.
Cada solicitud resuelve el token a las cuentas que su usuario posee dentro del producto para el que fue aprobado, y ese conjunto se convierte en la concesión de consulta. Un integration_ids fuera de la concesión responde con un validation_error — nunca como datos, nunca como un resultado vacío silencioso. Un token cuyas cuentas no tienen datos servibles se rechaza de plano en lugar de devolver ceros.
La misma regla rige las herramientas de producto, de modo que get_creative no puede alcanzar un activo que las herramientas de analítica rechazarían.
draft_content — la herramienta de redacción del bucle del agente — está deliberadamente sin montar aquí: gasta una llamada de modelo por invocación, así que exponerla ampliaría lo que un cliente conectado puede hacer, en lugar de reemplazar nada de lo que ya ofrecen las herramientas de lectura.
Cada llamada se registra con el usuario que llama, el token del cliente y el producto para el que fue aprobado, de modo que el tráfico en esta superficie se atribuye a una persona, no a una cuenta de servicio compartida.
Referencia de herramientas
El mapa, no la referencia de API — tu cliente lee cada esquema de argumentos a través del protocolo y los completa por sí mismo. scope_overview es donde empieza una sesión: una sola llamada que informa cómo pueden medirse y agruparse estas cuentas.
| Herramienta | Qué hace |
|---|---|
| Orientación | |
| scope_overview | Una llamada para orientarse: qué puedes medir, por qué puedes agrupar, y las reglas que aplican. Empieza aquí. |
| list_integrations | Conexiones de redes publicitarias dentro del alcance, con metadatos. |
| describe_integrations | Cobertura por integración, frescura, métricas de MMP y personalizadas. |
| list_kpis | KPIs disponibles, métricas brutas y dimensiones, en niveles para mantener el contexto pequeño. |
| list_features | Funciones de anotación y sus valores de etiqueta para integraciones dadas. |
| discover_filters | Valores de filtro reales disponibles para un alcance y un rango de fechas. |
| describe_marketing_entity | Metadatos de campaña / grupo de anuncios / anuncio del catálogo de marketing. |
| get_asset_labels | Etiquetas de anotación para activos específicos. |
| Análisis | |
| run_report | Compone y ejecuta un informe: métricas × dimensiones × filtros sobre un rango de fechas. |
| run_recipe | Ejecuta un análisis precompuesto del catálogo de recetas en una sola llamada (pares de etiquetas, tendencia de KPI, mejores resultados, cobertura de anotaciones, uplift por bandas). |
| Inteligencia competitiva | |
| list_competition_metrics | Medidas y dimensiones de SensorTower / Pathmatics. |
| discover_competition_filters | Valores competitivos distintos: país, SO, tipo de anuncio, nombre del competidor. |
| run_competition_report | Consulta creativos de competidores y participación de voz. |
| Media | |
| get_creative | URLs públicas de miniaturas / vistas previas para ids de creativos que ya tienes. Lote de hasta 25 por llamada. |
Las filas de informe llevan ids de creativos, no imágenes. Cuando quieras ver los creativos, pasa los ids de run_report, run_recipe o run_competition_report a una sola llamada por lotes de get_creative.
Errores y límites
| Estado | Significado | Solución |
|---|---|---|
| 401 | Token ausente, inválido, revocado o caducado. | Reconecta — el cliente vuelve a ejecutar el flujo de inicio de sesión. |
| 403 | El token es válido, pero su usuario no tiene cuentas servibles en el producto para el que fue aprobado. | Reconecta y elige otro producto, o solicita que se conceda acceso a la cuenta. |
| 429 | 20 intentos de autenticación rechazados desde una IP en 15 minutos. | Corrige la credencial y espera a que pase la ventana. El tráfico autenticado nunca está limitado por tasa. |
| 503 | El almacén de credenciales no está accesible — nuestra dependencia, no tu solicitud. | Reintenta con retroceso exponencial. |
| validation_error | Argumentos fuera de la concesión, o un informe que el registro de KPIs no puede compilar. | Solucionable por quien llama — el mensaje indica qué cambiar. |
Los códigos de estado HTTP cubren solo transporte y autenticación. Una herramienta que rechaza sus argumentos responde 200 con un error_kind en el resultado, de modo que tu cliente puede corregirse y reintentar en lugar de tratarlo como una interrupción.
El radio de explosión por llamada está limitado a 150 ids de integración en una sola lista, y get_creative acepta como máximo 25 ids por llamada. Ninguno de los dos es la frontera de autorización — la concesión lo es.