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.

  1. Añade el servidor Un comando, solo la URL — sin token, sin archivo de configuración que editar.
  2. Vuelve no autorizado Aún no conectado. El 401 indica dónde autenticarse, por lo que el cliente abre esa página (o te entrega el enlace).
  3. Inicia sesión y aprueba La página de Evo: correo electrónico o SSO, elige qué producto puede leer este cliente, Aprueba.
  4. 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:

  1. Inicia sesión en Evo — correo electrónico y contraseña, o SSO de Google, Microsoft o LinkedIn.
  2. 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:

PasoEndpoint
Desafío401 + WWW-Authenticate nombrando los metadatos del recurso
Descubrimiento/.well-known/oauth-protected-resource/mcp → /.well-known/oauth-authorization-server
RegistroPOST /oauth/register — RFC 7591, cliente público, sin secreto emitido
AutorizaciónGET /oauth/authorize — las pantallas anteriores; S256 PKCE requerido, un redirect_uri no registrado se rechaza sin redirección
TokenPOST /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.

HerramientaQué hace
Orientación
scope_overviewUna llamada para orientarse: qué puedes medir, por qué puedes agrupar y las reglas que aplican. Empieza aquí.
list_integrationsConexiones de redes publicitarias en alcance, con metadatos.
describe_integrationsCobertura por integración, frescura, MMP y métricas personalizadas.
list_kpisKPIs disponibles, métricas brutas y dimensiones, organizados en niveles para mantener el contexto pequeño.
list_featuresCaracterísticas de anotación y sus valores de etiqueta para integraciones dadas.
discover_filtersValores de filtro reales disponibles para un alcance y rango de fechas.
describe_marketing_entityMetadatos de campaña / grupo de anuncios / anuncio del catálogo de marketing.
get_asset_labelsEtiquetas de anotación para activos específicos.
Análisis
run_reportComponer y ejecutar un informe: métricas × dimensiones × filtros en un rango de fechas.
run_recipeEjecutar 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_metricsMedidas y dimensiones de SensorTower / Pathmatics.
discover_competition_filtersValores competitivos distintos: país, SO, tipo de anuncio, nombre del competidor.
run_competition_reportConsultar creatividades de competidores y cuota de voz.
Medios
get_creativeURLs 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

EstadoSignificadoSolución
401Token faltante, inválido, revocado o caducado.Reconectar — el cliente ejecuta el flujo de inicio de sesión nuevamente.
403El 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.
42920 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.
503El almacén de credenciales no está disponible — nuestra dependencia, no tu solicitud.Reintentar con retroceso.
validation_errorArgumentos 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.