Alison AI MCP

Inteligência criativa das suas contas de anúncios, dentro do seu assistente de IA.

Documentação

Model Context Protocol

Servidor MCP Evo

Aponte qualquer cliente MCP — Claude Code, Claude, Cursor, Codex — para o Evo e ele lê seu warehouse de desempenho criativo diretamente: gastos e KPIs, tags criativas, inteligência competitiva, pré-visualizações. Somente leitura, e limitado às contas que cada usuário já possui.

URL do servidor https://evo.alison.ai/mcp streamable-http somente leitura

14 ferramentas13 de análise + pré-visualizações criativas

Login SSOOAuth 2.1 — nenhum token para distribuir

Escopo no servidora concessão decide, não o cliente

Visão geral

O que você obtém e o que não pode fazer com ele.

A superfície MCP é o mesmo mecanismo de análise em que o agente analista do próprio Evo roda, exposto diretamente ao seu cliente. Cada ferramenta é uma leitura: nada nesta superfície grava, altera ou gasta orçamento de modelo. Não há SQL para escrever — as ferramentas recebem argumentos estruturados (métricas, dimensões, filtros) e os compilam no servidor contra o registro de KPIs.

O servidor fala streamable-http em /mcp. Tanto /mcp quanto/mcp/ funcionam, então um cliente que não segue redirecionamentos ainda se conecta.


Início rápido

Adicione o servidor sem credencial. Todo o resto acontece no seu navegador, uma única vez.

  1. Adicione o servidorUm comando, apenas a URL — sem token, sem arquivo de configuração para editar.
  2. Ele retorna não autorizadoAinda não conectado. O 401 indica onde autenticar, então o cliente abre essa página (ou entrega o link para você).
  3. Entre e aprovePágina do Evo: e-mail ou SSO, escolha qual produto este cliente pode ler, Aprovar.
  4. O token é armazenado para vocêEmitido no servidor, mantido pelo cliente, reutilizado em cada chamada posterior. Ninguém precisa lidar com ele.

Claude Code Claude Cursor Codex Qualquer cliente

claude mcp add --transport http evo https://evo.alison.ai/mcp

Em seguida, execute /mcp, escolha evo e autentique-se — seu navegador abre na página de login do Evo, você escolhe um produto e aprova, e o Claude Code mantém o token que recebeu.

Pré-aprovar todas as ferramentas é seguro. Todas as 14 são somente leitura e nenhuma gasta orçamento de modelo, então não há nada aqui que justifique um prompt de confirmação por chamada.


Autenticação

Seus usuários entram com a identidade que já possuem. Nada a provisionar, nenhuma credencial para distribuir.

O fluxo no navegador

A primeira chamada do cliente retorna 401 com um cabeçalho WWW-Authenticate apontando para /.well-known/oauth-protected-resource/mcp. A partir daí, o cliente se registra e abre o Evo, onde o usuário vê duas telas:

  1. Entre no Evo — e-mail e senha, ou SSO do Google, Microsoft ou LinkedIn.
  2. Conectar “ — escolha qual produto este cliente pode ler e depois Aprovar ou Negar.

Ao aprovar, o servidor emite um token e o devolve pelo redirecionamento. O cliente o armazena e se reconecta sozinho; ele nunca é exibido, e o produto escolhido nessa tela é o teto do que o cliente pode ver. Alguns clientes abrem o navegador para você, outros imprimem a URL — as mesmas páginas de qualquer forma.

Por baixo dos panos

OAuth 2.1 com PKCE e registro dinâmico de cliente, então nenhum cliente é pré-provisionado em nenhum dos lados:

EtapaEndpoint
Desafio401 + WWW-Authenticate nomeando os metadados do recurso
Descoberta/.well-known/oauth-protected-resource/mcp → /.well-known/oauth-authorization-server
RegistroPOST /oauth/register — RFC 7591, cliente público, nenhum segredo emitido
AutorizaçãoGET /oauth/authorize — as telas acima; PKCE S256 obrigatório, um redirect_uri não registrado é rejeitado sem redirecionamento
TokenPOST /oauth/token — código de uso único, verificado por PKCE, TTL de 60s

Revogando acesso

GET /api/keys lista todos os clientes conectados sob seu usuário — nome, produto, quando foi criado, quando foi usado pela última vez. DELETE /api/keys/{id} desconecta um. A revogação é imediata, não eventualmente consistente: a autorização é re-resolvida do armazenamento em cada requisição e nunca é armazenada em cache, então a próxima chamada desse cliente falha de forma fechada (fails closed).


Escopo e permissões

O cliente não pode ampliar seu próprio alcance. Somente o servidor decide o que é visível.

Cada requisição resolve o token para as contas que seu usuário possui dentro do produto para o qual foi aprovado, e esse conjunto se torna a concessão da consulta. Um integration_ids fora da concessão retorna como um validation_error — nunca como dados, nunca como um resultado vazio silencioso. Um token cujas contas não possuem dados servíveis é recusado de imediato, em vez de receber zeros.

A mesma regra rege as ferramentas de produto, então get_creative não pode alcançar um ativo que as ferramentas de análise recusariam.

draft_content — a ferramenta de redação do loop do agente — não é deliberadamente montada aqui: ela gasta uma chamada de modelo por invocação, então expô-la ampliaria o que um cliente conectado pode fazer, em vez de substituir qualquer coisa que as ferramentas de leitura já oferecem.

Cada chamada é registrada com o usuário que a fez, o token do cliente e o produto para o qual foi aprovado, então o tráfego nesta superfície é atribuível a uma pessoa, e não a uma conta de serviço compartilhada.


Referência de ferramentas

O mapa, não a referência da API — seu cliente lê cada esquema de argumento pelo protocolo e os preenche sozinho. scope_overview é onde uma sessão começa: uma chamada que informa pelo que essas contas podem ser medidas e agrupadas.

FerramentaO que faz
Orientação
scope_overviewUma chamada para se orientar: o que você pode medir, pelo que pode agrupar e as regras que se aplicam. Comece aqui.
list_integrationsConexões de redes de anúncios no escopo, com metadados.
describe_integrationsCobertura por integração, atualidade, MMP e métricas personalizadas.
list_kpisKPIs disponíveis, métricas brutas e dimensões, em camadas para manter o contexto pequeno.
list_featuresRecursos de anotação e seus valores de tag para integrações específicas.
discover_filtersValores reais de filtro disponíveis para um escopo e intervalo de datas.
describe_marketing_entityMetadados de campanha / grupo de anúncios / anúncio do catálogo de marketing.
get_asset_labelsRótulos de anotação para ativos específicos.
Análise
run_reportComponha e execute um relatório: métricas × dimensões × filtros em um intervalo de datas.
run_recipeExecute uma análise pré-composta do catálogo de receitas em uma chamada (pares de tags, tendência de KPI, melhores desempenhos, cobertura de anotações, uplift em faixas).
Inteligência competitiva
list_competition_metricsMedidas e dimensões da SensorTower / Pathmatics.
discover_competition_filtersValores distintos de concorrência: país, SO, tipo de anúncio, nome do concorrente.
run_competition_reportConsulte criativos de concorrentes e share of voice.
Mídia
get_creativeURLs públicas de miniatura / pré-visualização para ids de criativos que você já possui. Lote de até 25 por chamada.

As linhas do relatório carregam ids de criativos, não imagens. Quando quiser ver os criativos, passe os ids de run_report, run_recipe ourun_competition_report em uma única chamada em lote get_creative.


Erros e limites

StatusSignificadoCorreção
401Token ausente, inválido, revogado ou expirado.Reconecte — o cliente executa o fluxo de login novamente.
403O token é válido, mas seu usuário não tem contas servíveis no produto para o qual foi aprovado.Reconecte e escolha um produto diferente, ou solicite acesso à conta.
42920 tentativas de autenticação rejeitadas de um IP em 15 minutos.Corrija a credencial e aguarde a janela. Tráfego autenticado nunca é limitado por taxa.
503O armazenamento de credenciais está inacessível — nossa dependência, não sua requisição.Tente novamente com backoff.
validation_errorArgumentos fora da concessão, ou um relatório que o registro de KPIs não consegue compilar.Corrigível pelo chamador — a mensagem indica o que mudar.

Os códigos de status HTTP cobrem apenas transporte e autenticação. Uma ferramenta que recusa seus argumentos responde 200 com um error_kind no resultado, para que seu cliente possa se corrigir e tentar novamente, em vez de tratar como uma indisponibilidade.

O raio de impacto por chamada é limitado a 150 ids de integração em uma lista, eget_creative aceita no máximo 25 ids por chamada. Nenhum deles é a fronteira de autorização — a concessão é.