Conecte seu agente ao EVODA (MCP)
O EVODA aconselha e nunca executa — quem toca o seu ambiente é o seu agente (Claude Code ou qualquer cliente MCP), conectado pelo protocolo aberto MCP. Ele busca as investigações que o consultor pediu, roda os roteiros somente leitura no seu banco e devolve os resultados — sem copy-paste, e sem o EVODA jamais receber uma credencial sua.
O modelo de segurança, antes de tudo
- Chave por projeto: a AgentKey dá acesso a UM projeto, nada mais. É exibida uma única vez, guardada como hash (SHA-256) e revogável na tela do projeto.
- Somente leitura por desenho: os roteiros de investigação saem com
SET default_transaction_read_only = onestatement_timeoutno preâmbulo — e um lint determinístico bloqueia credencial inline e escrita no servidor antes de o roteiro existir. - O agente informa, nunca decide: ele pode marcar um ponto de atenção como em andamento ou resolvido (com evidência obrigatória) — descartar ou aceitar risco é decisão de gente, e a rota recusa.
- Teto de tráfego por IP e bloqueio com evento de auditoria em falha repetida de autenticação.
Como conectar
- No EVODA, abra o projeto e gere uma chave em Agente conectado (é preciso ter conta — o plano Free basta). Copie na hora: ela não aparece de novo.
- No Claude Code, adicione o servidor MCP:
claude mcp add EVODA --transport http https://app.evoda.ai/api/mcp --header "Authorization: Bearer evoda_ak_SUA_CHAVE"
- Peça ao agente: “veja as investigações pendentes do EVODA e execute”. Ele lista, roda no seu ambiente e devolve os relatórios — o consultor lê e traz as conclusões na conversa.
Qualquer cliente MCP serve: o transporte é HTTP com Authorization: Bearer <chave> em https://app.evoda.ai/api/mcp.
No pull request, sem agente nenhum
A revisão de migration também responde por HTTP simples, para rodar no CI: ela confere o DDL do PR contra o modelo aprovado, a classificação de dado pessoal por coluna e as premissas registradas — sem IA, então roda em todo push sem custo e sempre com o mesmo veredito. A resposta traz blocked: true|false já decidido, para o job reprovar sozinho.
# .github/workflows/evoda-schema-review.yml
name: Revisão de schema (EVODA)
on:
pull_request:
paths: ['**/migrations/**']
jobs:
revisar:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with: { fetch-depth: 0 }
- name: Revisar as migrations do PR
env:
EVODA_AGENT_KEY: ${{ secrets.EVODA_AGENT_KEY }}
run: |
bloqueou=0
for f in $(git diff --name-only "${{ github.event.pull_request.base.sha }}...HEAD" | grep -E 'migrations/.*\.sql$'); do
resposta=$(jq -Rs --arg n "$f" '{sql: ., migration_name: $n}' < "$f" \
| curl -sS -X POST https://app.evoda.ai/api/ci/schema-review \
-H "Authorization: Bearer $EVODA_AGENT_KEY" \
-H 'Content-Type: application/json' --data @-)
echo "$resposta" | jq -r .summaryMd
[ "$(echo "$resposta" | jq -r .blocked)" = "true" ] && bloqueou=1
done
exit $bloqueouGuarde a chave do projeto em secrets.EVODA_AGENT_KEY. O que reprova o PR é só o BLOQUEIO (o DDL contradiz o desenho registrado); aviso sai no log e não derruba o build — alarme que derruba build por gosto é alarme que o time desliga.
O que o agente consegue fazer
20 ferramentas, todas no escopo do projeto da chave. As avaliações (benchmark atingiu o alvo? a aceitação passou?) são feitas por código no lado do EVODA — o agente entrega dados, nunca vereditos.
| Ferramenta | O que faz |
|---|---|
list_pending_explorations | Lista as investigações pendentes do projeto — roteiros SQL somente leitura que o consultor pediu. |
submit_exploration_report | Anexa um arquivo de resposta a uma investigação (uma chamada por artefato pedido; a rota diz quantos faltam). |
list_execution_prompts | Lista os prompts de execução aprovados na fase de implantação. |
get_execution_prompt | Baixa o conteúdo completo de um prompt de execução. |
submit_execution_report | Devolve o relatório do que foi executado — quem fecha o ciclo é o consultor. |
submit_environment_snapshot | Envia o retrato canônico do ambiente (schemas, tabelas, índices, volumetria e saúde: dead tuples, bloat, idade de transação) — alimenta o vigia de deriva e as premissas auto-verificáveis. |
submit_query_stats | Envia as estatísticas de query (pg_stat_statements) — a evidência que ancora o plano de tuning; vira documento do projeto. |
list_pending_dq_suites | Lista as suites de qualidade de dados pendentes — checks que rodam no ambiente REAL, em somente leitura. |
submit_dq_report | Devolve o que o banco respondeu por check de qualidade — a comparação com o esperado é feita por código. |
list_pending_benchmarks | Lista os planos de prova sob carga pendentes. |
submit_benchmark_report | Devolve as medições do benchmark — a comparação alvo × medido é aritmética, feita pelo produto. |
submit_code_inventory | Envia o as-is do código (migrations, dbt, ORM, DAGs) para cruzar com o banco e detectar deriva. Com as dependências declaradas, gera também o grafo de linhagem do projeto. |
list_pending_followups | Lista os follow-ups agendados no fim da consultoria (implantação, reauditoria) que vencem agora ou nos próximos 7 dias, com o que cada um pergunta. |
submit_followup_evidence | Devolve o que o agente mediu sobre um follow-up. Não fecha o follow-up: quem conclui é o consultor, depois de ler. |
list_open_items | Lista os pontos de atenção abertos do projeto. |
submit_item_update | Informa execução de um ponto de atenção (em andamento / resolvido com evidência) — nunca decide descartar. |
list_pending_acceptance | Lista as suites de teste de aceitação do modelo pendentes. |
submit_acceptance_report | Devolve os resultados da aceitação — a avaliação é aritmética, não opinião. |
review_schema_change | Confere uma migration em revisão contra o desenho registrado (LGPD por coluna, âncoras de requisito) — determinístico, sem LLM. |
submit_cost_report | Envia o custo real faturado do mês — calibra o recomendado × medido do projeto. |
Ainda não usa o EVODA?
Comece pelo diagnóstico gratuito do seu banco — em ~2 minutos ele aponta o que mais importa, sem conta e sem instalar nada.
Fazer o diagnóstico grátis