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 é:

mcp.embrapa.io

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.

Configuração em IDEs e CLIs

Claude Desktop

A forma mais prática. Ao adicionar pelo Claude Desktop, o servidor fica disponível automaticamente no Claude Code.

  1. Abra o Claude Desktop;
  2. Vá em Configurações → Conectores → Adicionar conector personalizado; e
  3. Informe a URL: https://mcp.embrapa.io.

Ao conectar, uma janela de login abrirá para autenticação via e-mail (OTP).

Dica! Se adicionado pelo Claude Desktop, ao digitar /mcp no Claude Code o servidor aparecerá como “claude.ai Embrapa I/O” e poderá ser utilizado normalmente.

Claude Code

Via linha de comando:

claude mcp add --scope user --transport http io https://mcp.embrapa.io

Gemini CLI

gemini mcp add -s user -t http io https://mcp.embrapa.io

Caso necessário, a configuração manual pode ser feita em ~/.gemini/settings.json:

{
  "mcpServers": {
    "io": {
      "httpUrl": "https://mcp.embrapa.io",
      "oauth": {
        "authorizationUrl": "https://mcp.embrapa.io/oauth/authorize",
        "tokenUrl": "https://mcp.embrapa.io/oauth/token",
        "registrationUrl": "https://mcp.embrapa.io/oauth/register",
        "scopes": ["mcp:full"]
      }
    }
  }
}

VS Code (GitHub Copilot)

No VS Code com a extensão GitHub Copilot, adicione em .vscode/mcp.json (por projeto) ou nas User Settings:

{
  "servers": {
    "io": {
      "type": "http",
      "url": "https://mcp.embrapa.io"
    }
  }
}

Ou via Command Palette: MCP: Add Server → HTTP → colar a URL. O VS Code com Copilot suporta OAuth 2.1 nativamente.

Google Antigravity

Adicione em ~/.gemini/antigravity/mcp_config.json:

{
  "mcpServers": {
    "io": {
      "serverUrl": "https://mcp.embrapa.io/"
    }
  }
}

Cursor

Adicione em ~/.cursor/mcp.json:

{
  "mcpServers": {
    "io": {
      "url": "https://mcp.embrapa.io"
    }
  }
}

OpenCode CLI

opencode mcp add io --url https://mcp.embrapa.io

JetBrains (IntelliJ, WebStorm, PyCharm)

Acesse Settings → Tools → AI Assistant → MCP Servers, clique em ”+”HTTP / SSE e informe a URL https://mcp.embrapa.io.

Windsurf

Adicione em ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "io": {
      "serverUrl": "https://mcp.embrapa.io",
      "headers": {
        "Authorization": "Bearer <ACCESS_TOKEN>"
      }
    }
  }
}

Atenção! Windsurf não suporta OAuth nativo para MCP. É necessário obter um access token manualmente e configurá-lo no header.

Zed

Adicione em ~/.config/zed/settings.json:

{
  "context_servers": {
    "io": {
      "settings": {
        "url": "https://mcp.embrapa.io",
        "headers": {
          "Authorization": "Bearer <ACCESS_TOKEN>"
        }
      }
    }
  }
}

Atenção! Zed não suporta OAuth nativo. Requer access token manual.

Compatibilidade

Cliente OAuth Nativo Configuração
Claude Desktop UI → Conectores
Claude Code claude mcp add
Gemini CLI gemini mcp add
VS Code + Copilot .vscode/mcp.json
Antigravity Config de MCP Servers
Cursor ~/.cursor/mcp.json
OpenCode opencode mcp add
JetBrains Settings → AI Assistant → MCP
Windsurf Bearer token manual
Zed Bearer token manual

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.