O MCP Server do Embrapa I/O é um middleware inteligente entre clientes de IA e a API da plataforma que implementa o Model Context Protocol (MCP), permitindo que assistentes de IA como Claude, Gemini, Copilot e Cursor interajam diretamente — criando projetos, configurando builds, monitorando deploys e muito mais — tudo via linguagem natural.
Conectar
A URL de conexão do MCP Server é:
A autenticação é feita via OAuth 2.1 com PKCE. Ao conectar, o fluxo de login abrirá automaticamente no browser para autenticação por e-mail (OTP).
Funcionalidades
O servidor expõe 37 tools e 8 prompts guiados organizados nos seguintes domínios:
Perfil do Usuário — Consulta e atualização do perfil na plataforma, incluindo nome de exibição utilizado em todas as interfaces e listagens de equipe.
Gestão de Projetos — Criação de projetos (ativos digitais) com provisionamento automático de GitLab, Sentry, Matomo e SonarQube. Classificação por ecossistemas produtivos (agricultura, pecuária, florestal, aquicultura, indústria) ou corporativo. Gerenciamento de repositórios de suporte (documentação pública, Swagger, identidade visual, binários para lojas, TWA). Arquivamento de projetos com confirmação por PIN via e-mail.
Aplicações e Builds — Criação de aplicações a partir de boilerplates pré-configurados do catálogo, com fork automático no GitLab e 4 branches (main, alpha, beta, release). Configuração completa de builds (cluster, variáveis de ambiente, volumes, URLs públicas e aliases/subdomínios), com validação automática de aderência entre codebase e configuração. Histórico de alterações de variáveis para auditoria. Remoção de builds com confirmação por PIN.
Operações de Build — Reiniciar instâncias, remover deploy sem apagar configuração, solicitar backup de dados persistentes, e ativar/desativar sanitização periódica (limpeza e otimização mensal). Revalidação de builds que falharam na validação anterior. Consulta de saúde dos containers (status, uptime, alertas).
Gestão de Equipe — Definição da equipe completa de um projeto com dois papéis: Arquiteto da Solução (Maintainer — gerencia configuração, deploy em produção e backup) e Membro da Equipe (Developer — codifica e faz deploy em alpha/beta).
Portas de Rede — Alocação e liberação de portas nos clusters da plataforma, necessárias para expor builds via URLs e subdomínios.
Integrações e Qualidade — Acesso às métricas de qualidade de código via SonarQube (manutenibilidade, confiabilidade, segurança e Quality Gate), rastreamento de erros via Sentry (exceções em runtime categorizadas por severidade e versão) e analytics de acesso via Matomo (sessões, páginas visitadas e comportamento dos usuários).
Catálogos da Plataforma — Listagem de boilerplates disponíveis (Node.js, Laravel, Vue.js, WordPress, entre outros) com detalhes de stack, documentação e licença. Listagem de clusters disponíveis para deploy (capacidade, aliases e configurações SMTP) e orquestradores suportados.
Monitoramento Consolidado — Visão agregada por aplicação combinando Matomo, Sentry e SonarQube em uma única consulta. Saúde de builds específicas (project/app@stage) em clusters compartilhados: status do deploy, uptime, histórico de versões deployadas e vulnerabilidades de segurança (CVEs) detectadas pelo Trivy nos containers — complementar à análise estática do SonarQube, cobrindo dependências de runtime, imagens base e bibliotecas do SO.
Deploy Externo (Releaser) — Geração do arquivo builds.json para deploy e atualização contínua em servidores fora da rede de clusters da plataforma. Coleta automática de equipe, variáveis de ambiente, Sentry DSN e Matomo ID a partir da API ou de arquivos locais do codebase, com geração de secrets e passwords randômicos.
Prompts Guiados — 8 fluxos interativos para operações comuns: visão geral dos projetos, criação de projeto passo-a-passo, criação de aplicação, deploy via git tag, diagnóstico de problemas de build, gestão de equipe, status de deploy e relatório de saúde do projeto.
Exemplos de Prompts
Abaixo, exemplos do que pode ser solicitado em linguagem natural a um assistente de IA conectado a este MCP:
Mostre uma visão geral de todos os meus projetos no Embrapa I/O, com status das builds.
Crie um novo projeto chamado "AgroVision" no ecossistema pecuária.
Adicione uma aplicação ao projeto agrovision usando o boilerplate de Node.js.
Configure a build alpha do agrovision/api no cluster compartilhado com a variável
de ambiente DATABASE_URL apontando para o MongoDB de homologação.
Faça o deploy da aplicação agrovision/api em alpha — crie a tag a partir da main.
A build alpha do agrovision/api está falhando. Faça um diagnóstico completo:
verifique saúde do container, configuração, variáveis e logs do Sentry.
Gere um relatório de saúde do projeto agrovision: qualidade de código,
bugs rastreados, analytics de acesso e status de cada build.
Adicione o usuário joao.silva@embrapa.br como Developer no projeto agrovision.
Liste os boilerplates disponíveis que suportam Vue.js.
Gere o builds.json para deploy externo do agrovision/pwa em um servidor próprio.
Configuração em IDEs e CLIs
A configuração segue o padrão unificado descrito em Configuração em IDEs e CLIs. Basta usar a URL https://mcp.embrapa.io. Exemplo no Claude Code:
claude mcp add --scope user --transport http io https://mcp.embrapa.io
Dica! Se adicionado pelo Claude Desktop, ao digitar
/mcpno Claude Code o servidor aparecerá como “claude.ai Embrapa I/O” e poderá ser utilizado normalmente.
Referência Técnica
Tools (37)
Perfil do Usuário
| Tool | Descrição |
|---|---|
get_my_profile |
Retorna perfil do usuário autenticado (nome, e-mail, papel e vínculos externos). |
update_my_name |
Atualiza o nome de exibição do usuário em todas as interfaces da plataforma. Requer confirmação explícita. |
Projetos e Ecossistemas
| Tool | Descrição |
|---|---|
list_my_projects |
Lista todos os projetos do usuário com apps, equipe (nomes, e-mails e papéis), ecossistemas e status das builds. O campo archive é sempre false (projetos arquivados não aparecem). |
create_project |
Cria um novo projeto com provisionamento automático (GitLab, Sentry, Matomo, SonarQube). O identificador unix (slug) é irreversível. Salvaguarda: limitado a 1 criação por sessão + cooldown de 5 minutos por usuário. Requer vínculo Embrapa. |
update_ecosystems |
Atualiza a classificação de ecossistemas de um projeto. O ecossistema corporate é mutuamente exclusivo. Requer Maintainer. |
request_project_archive |
Inicia o arquivamento de um projeto. Envia PIN de confirmação por e-mail. Operação significativa: desativa builds, repos e remove equipe. Requer Maintainer. |
confirm_project_archive |
Confirma o arquivamento com o PIN recebido. Ação irreversível. |
Aplicações e Configuração de Builds
| Tool | Descrição |
|---|---|
create_app |
Cria uma aplicação a partir de um boilerplate do catálogo. Faz fork no GitLab com 4 branches (main, alpha, beta, release). O nome unix do app (máx. 10 caracteres) é irreversível. Requer Maintainer. |
get_build_config |
Obtém a configuração de uma build (project/app@stage): cluster, variáveis, volumes, URLs e aliases. Requer Maintainer. |
save_build_config |
Salva a configuração completa de uma build. Após salvar, a plataforma dispara validação automática (não chamar revalidate_build). Antes de salvar, recomenda-se verificar se a branch do estágio está atualizada com a main. Requer Maintainer. |
get_variable_history |
Histórico de alterações das variáveis de ambiente de uma build (cada alteração incrementa a versão). Requer vínculo Embrapa. |
request_build_removal |
Solicita remoção completa de uma build (configuração + instância). Envia PIN por e-mail. Diferente de undeploy_build (que preserva a configuração). Requer Maintainer. |
confirm_build_removal |
Confirma remoção permanente com o PIN recebido. |
Operações de Build
| Tool | Descrição |
|---|---|
revalidate_build |
Reenvia uma build para revalidação. Funciona apenas para builds com status INVALID ou INACTIVATED. Não usar logo após save_build_config (validação já é automática). |
restart_build |
Reinicia a instância de uma build no cluster (com opção de upgrade de imagem). Requer Maintainer. |
undeploy_build |
Remove a instância sem apagar a configuração. A build pode ser redeployada depois. Requer Maintainer. |
request_backup |
Dispara backup dos dados persistentes de uma build. Requer Maintainer. |
get_build_health |
Obtém o status de saúde dos containers (monitorados pelo autômato Doctor a cada minuto): running, stopped, unhealthy, uptime e alertas. Requer Maintainer. |
get_sanitize_status |
Consulta se a sanitização periódica está ativa, data da última execução e próxima agendada. Requer Maintainer. |
start_sanitize |
Ativa sanitização periódica (mensal) — executa o serviço sanitize do stack para limpeza e otimização. Requer Maintainer. |
stop_sanitize |
Desativa a sanitização periódica. Requer Maintainer. |
Equipe
| Tool | Descrição |
|---|---|
update_team |
Define a equipe completa de um projeto, substituindo todos os membros atuais. Papéis: Maintainer (Arquiteto da Solução — requer @embrapa) e Developer (Membro da Equipe). Deve conter ao menos um Maintainer. Requer Maintainer. |
Portas de Rede
| Tool | Descrição |
|---|---|
allocate_port |
Reserva uma porta no cluster para uma build. Obrigatório antes de configurar URLs e aliases em save_build_config. Requer Maintainer. |
release_ports |
Libera todas as portas alocadas para uma build, devolvendo-as ao pool do cluster. Liberar portas de uma build em execução pode torná-la inacessível. Requer Maintainer. |
Integrações e Qualidade
| Tool | Descrição |
|---|---|
get_code_quality |
Métricas do SonarQube para todas as apps de um projeto: manutenibilidade, confiabilidade, segurança, vulnerabilidades e Quality Gate. |
get_bug_tracking |
Dados do Sentry para todas as apps de um projeto: erros e exceções categorizados por severidade, frequência e versão. Inclui DSN de cada app. |
get_analytics |
Dados do Matomo para todas as apps de um projeto: acessos, sessões, páginas visitadas e comportamento dos usuários. Inclui ID e token Matomo. |
Repositórios de Suporte
| Tool | Descrição |
|---|---|
get_support_repos |
Lista os repositórios de suporte ativos nos projetos do usuário: web (docs.embrapa.io), api (api.embrapa.io), doc, art, bin e twa. |
update_support_repos |
Ativa ou desativa repositórios de suporte. Ao ativar, o autômato Genesis cria o repo no GitLab e configura deploy automático quando aplicável. Requer Maintainer. |
Catálogos da Plataforma
| Tool | Descrição |
|---|---|
list_boilerplates |
Lista todos os boilerplates (modelos de aplicação) do catálogo. Cada item tem: unix (para uso em create_app), label e description. |
get_boilerplate_info |
Detalhes de um boilerplate: stack, linguagem/framework, referências, mantenedores e configurações do .embrapa/settings.json. |
get_boilerplate_repos |
README e LICENSE de um boilerplate do catálogo. |
list_clusters |
Lista os clusters (servidores remotos) disponíveis: domínio, capacidade, aliases (subdomínios), faixa de portas e configurações SMTP. |
list_orchestrators |
Lista os orquestradores suportados (Docker Compose e Docker Swarm). |
Monitoramento Consolidado
| Tool | Descrição |
|---|---|
app_info |
Visão agregada de uma aplicação combinando três fontes: Matomo (analytics), Sentry (bugs) e SonarQube (qualidade de código). |
build_info |
Saúde de uma build específica: status do deploy, cluster, URLs, aliases, histórico de versões, uptime e CVEs/vulnerabilidades detectadas pelo Trivy nos containers (complementar ao SonarQube — cobre dependências de runtime, imagens base e bibliotecas do SO). |
Deploy Externo (Releaser)
| Tool | Descrição |
|---|---|
generate_releaser_config |
Gera o arquivo builds.json para deploy via Releaser em servidores externos. Coleta equipe, variáveis, Sentry DSN e Matomo ID da API ou de arquivos locais (.env.io/.env). Gera secrets e passwords randômicos para campos sensíveis. |
Prompts Guiados (8)
Os prompts são fluxos interativos pré-definidos que guiam o usuário através de operações comuns.
| Prompt | Descrição |
|---|---|
overview_my_projects |
Gera uma visão geral organizada de todos os projetos do usuário, agrupados por status, com indicação de apps e pontos de atenção. |
create_new_project |
Guia passo-a-passo para criação de projeto: nome, slug, ecossistemas, verificação de disponibilidade e provisionamento. |
setup_new_app |
Guia para adicionar um app a um projeto existente: escolha de boilerplate, criação, configuração de build (cluster, portas, variáveis, volumes) e primeiro deploy. |
deploy_app |
Guia o processo completo de deploy via git tag: verifica status da build, identifica a última tag, cria a nova tag no formato correto do estágio (alpha, beta, release) e monitora o deploy. |
deploy_status |
Verifica o status de uma build específica e apresenta relatório consolidado: status atual, cluster, URLs, aliases, alertas e próximo passo recomendado. |
troubleshoot_build |
Diagnóstico sistemático de problemas: verifica saúde, configuração, histórico de variáveis e sanitização. Identifica a causa provável e sugere correções. |
team_management |
Gestão interativa da equipe: adicionar, remover ou alterar papel de membros, com verificação de papel do usuário e confirmação antes de cada operação. |
project_health_report |
Relatório consolidado de saúde: qualidade de código (SonarQube), bugs (Sentry), analytics (Matomo), status de cada build e recomendações priorizadas. |