Alison AI MCP
Inteligencia creativa de tus cuentas publicitarias, dentro de tu asistente de IA.
Documentación
Servidor MCP de Evo
Conecta cualquier cliente MCP — Claude Code, Claude, Cursor, Codex — a Evo y lee 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
Descripción general
Lo que obtienes, y lo que 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 o gasta presupuesto de modelo. No hay SQL que redactar — las herramientas aceptan argumentos estructurados (métricas, dimensiones, filtros) y los compilan en el servidor contra el registro de KPIs.
El servidor habla streamable-http en /mcp. Tanto /mcp como /mcp/ funcionan, por lo que un cliente que no sigue redirecciones aún puede conectarse.
Inicio rápido
Añade el servidor sin credenciales. Todo lo demás ocurre en tu navegador, una sola vez.
- Añade el servidor Un comando, solo la URL — sin token, sin archivo de configuración que editar.
- Vuelve no autorizado Aún no conectado. El
401indica dónde autenticarse, por lo 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 Generado en el servidor, conservado por el cliente, reutilizado en cada llamada posterior. Nadie tiene que gestionarlo.
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, por lo que no hay nada aquí que merezca una 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 vuelve con 401 y un encabezado WWW-Authenticate que apunta a /.well-known/oauth-protected-resource/mcp. Desde allí, 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 de Google, Microsoft o LinkedIn.
- Conecta “<client name>” — elige qué producto puede leer este cliente, luego Aprueba o Deniega.
Al aprobar, el servidor genera un token y lo devuelve a través de la redirección. El cliente lo almacena y se reconecta por sí solo; nunca se muestra, y el producto elegido en esa pantalla es el límite máximo de lo que el cliente puede ver. Algunos clientes abren el navegador por ti, otros imprimen la URL — las mismas páginas en ambos casos.
Por debajo
OAuth 2.1 con PKCE y registro dinámico de clientes, por lo que ningún cliente está preaprovisionado en ninguno de los 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; S256 PKCE requerido, un redirect_uri no registrado se rechaza sin redirección |
| Token | POST /oauth/token — código de un solo uso, verificado por PKCE, TTL de 60s |
Revocación de acceso
GET /api/keys enumera 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 nunca se almacena en caché, por lo que la siguiente llamada de ese cliente falla de forma segura.
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 vuelve como un validation_error — nunca como datos, nunca como un resultado vacío silencioso. Un token cuyas cuentas no tienen datos servibles se rechaza directamente en lugar de entregar ceros.
La misma regla rige las herramientas de producto, por lo 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 — deliberadamente no está montada aquí: gasta una llamada de modelo por invocación, por lo que exponerla ampliaría lo que un cliente conectado puede hacer en lugar de reemplazar algo que las herramientas de lectura ya ofrecen.
Cada llamada se registra con el usuario que llama, el token del cliente y el producto para el que fue aprobado, por lo que el tráfico en esta superficie es atribuible a una persona en lugar de 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 comienza una sesión: una llamada que informa cómo se pueden medir y agrupar 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 en alcance, con metadatos. |
describe_integrations | Cobertura por integración, frescura, MMP y métricas personalizadas. |
list_kpis | KPIs disponibles, métricas brutas y dimensiones, organizados en niveles para mantener el contexto pequeño. |
list_features | Características de anotación y sus valores de etiqueta para integraciones dadas. |
discover_filters | Valores de filtro reales disponibles para un alcance y 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 | Componer y ejecutar un informe: métricas × dimensiones × filtros en un rango de fechas. |
run_recipe | Ejecutar un análisis precompuesto del catálogo de recetas en una llamada (pares de etiquetas, tendencia de KPI, mejores rendimientos, cobertura de anotaciones, aumento 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 | Consultar creatividades de competidores y cuota de voz. |
| Medios | |
get_creative | URLs públicas de miniaturas / vistas previas para ids creativos que ya tienes. Lote de hasta 25 por llamada. |
Las filas de informes llevan ids creativos, no imágenes. Cuando quieras ver las creatividades, pasa los ids de run_report, run_recipe o run_competition_report a una llamada por lotes de get_creative.
Errores y límites
| Estado | Significado | Solución |
|---|---|---|
| 401 | Token faltante, inválido, revocado o caducado. | Reconectar — el cliente ejecuta el flujo de inicio de sesión nuevamente. |
| 403 | El token es válido, pero su usuario no tiene cuentas servibles en el producto para el que fue aprobado. | Reconectar y elegir un producto diferente, o conceder acceso a la cuenta. |
| 429 | 20 intentos de autenticación rechazados desde una IP en 15 minutos. | Corregir la credencial y esperar a que pase la ventana. El tráfico autenticado nunca tiene límite de velocidad. |
| 503 | El almacén de credenciales no está disponible — nuestra dependencia, no tu solicitud. | Reintentar con retroceso. |
validation_error | Argumentos fuera de la concesión, o un informe que el registro de KPIs no puede compilar. | Solucionable por el llamador — 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, para que tu cliente pueda corregirse y reintentar en lugar de tratarlo como una interrupción.
El radio de impacto por llamada está limitado a 150 ids de integración en una lista, y get_creative acepta como máximo 25 ids por llamada. Ninguno es el límite de autorización — la concesión lo es.