Tudo fica na sua conta do Atlas: um usuário de banco de dados, uma conta de serviço, ferramentas do MongoDB instaladas por meio de um blueprint de ambiente e, opcionalmente, um servidor MCP. Comece com acesso restrito (somente leitura em produção) e amplie as funções depois: são as funções que definem os limites, e você as altera no Atlas sem precisar mexer no Devin.
Dois planos, duas identidades
Um usuário de banco de dados não consegue chamar a Atlas Administration API, e uma service account não consegue ler documentos pela API. A maioria das equipes começa apenas com o plano de dados e adiciona a service account quando o Devin precisa do Performance Advisor ou dos logs de consultas lentas (clusters dedicados, M10 ou superior). Duas ressalvas:
- Uma service account com permissão para criar usuários de banco de dados (
GROUP_OWNER,GROUP_DATABASE_ACCESS_ADMIN) pode criar para si mesma uma identidade no plano de dados. O servidor MCP do MongoDB faz exatamente isso quando recebe uma solicitação para se conectar a um cluster (Opção B). - Os dados de consultas lentas incluem os valores literais das consultas.
Escolha como o Devin se conecta
Os três caminhos usam o mesmo acesso à rede (Etapa 1) e as mesmas identidades (Etapa 2); o que muda é o que o Devin pode manter consigo.Por que conectar o Devin ao MongoDB?
- O schema está nos próprios documentos. O MongoDB não tem
information_schema, e os modelos do Mongoose ou do Prisma acabam divergindo do que está realmente armazenado. O Devin coleta amostras das coleções em produção e trabalha com base na estrutura real. - O ciclo de consultas lentas se resolve em uma única sessão. O Devin lê o Performance Advisor e o log de consultas lentas, executa
explain()na coleção real, encontra o código que dispara a consulta e abre um PR com a correção e o índice proposto. - As funções do usuário do banco de dados definem o que o Devin pode acessar. Comece com acesso somente leitura em produção e um sandbox
devin_devpara gravações; cada ação fica registrada nos logs do Atlas com a identidade própria do Devin.
Pré-requisitos
Atlas- Um projeto com um cluster.
Organization Ownerpara criar uma conta de serviço;Project Ownerpara o usuário do banco de dados e as listas de acesso.
- Permissão para editar o blueprint do ambiente e adicionar Segredos.
- Para as opções via MCP, a permissão Manage MCP Servers.
- Os IPs do Devin incluídos na lista de acesso por IP do projeto (Etapa 1).
- Se você usa uma network policy do Devin, permita
*.mongodb.netecloud.mongodb.com, além dos hosts de onde o blueprint faz as instalações:pgp.mongodb.comerepo.mongodb.org(Opção A),registry.npmjs.orgenodejs.org(Opção B). O driver se conecta pela porta 27017, e não pela 443; como as entradas da policy são hostnames ou CIDRs, não há porta para configurar. Os builds do snapshot são executados sob a mesma policy.
Etapa 1: Libere o acesso à rede
O Atlas recusa conexões de IPs que não estão na lista de acesso por IP do projeto. Adicione os IPs listados em Lista de permissões de IP, em vez de digitá-los de memória. Tenants dedicados têm sua própria saída de rede; confirme com a equipe responsável pela sua conta.--type ipAddress para os endereços individuais e --type cidrBlock para o intervalo.
Se sua organização exigir uma lista de acesso de API nas contas de serviço, adicione os mesmos IPs na página da conta de serviço no Atlas. Chamadas feitas a partir de um IP que não esteja na lista falham com 403.
Etapa 2: Crie as identidades do Devin
Usuário do banco de dados
Leitura em bancos de dados de produção, leitura/gravação em um sandbox, com escopo restrito a clusters específicos:--scope, o usuário consegue acessar todos os clusters do projeto. Use uma função de banco de dados personalizada quando as funções nativas não forem suficientes para definir esse limite. Gere a senha com um gerenciador de senhas e não a deixe no histórico do shell. Copie a connection string desse usuário; não entregue ao Devin o usuário administrador do cluster.
Conta de serviço (somente se o Devin precisar do plano de controle)
No Atlas, acesse Identity & Access > Applications no nível da organização. Comece com acesso somente leitura e escolha o menor tempo de validade do segredo do cliente que sua política de rotação permitir.Etapa 3: Conectar o Devin
Opção A: CLI em um blueprint
- Adicione os Devin Secrets
Na aba Secrets do blueprint:
Os segredos são injetados a cada sessão, então alterar (rotacionar) um valor não exige um novo build. O Atlas CLI lê o client ID e o client secret dessas variáveis de ambiente, então não é preciso executar
atlas auth login. No primeiro uso, ele armazena um token de acesso em cache em ~/.config/atlascli/config.toml. Isso não é problema dentro de uma sessão, mas nunca crie esse arquivo em initialize.
- Adicione o blueprint
jammy se a sua imagem não for Ubuntu 22.04.
O bloco knowledge é mais importante do que a instalação: sem ele, as sessões executam atlas auth login (um fluxo no navegador que ninguém consegue concluir) ou pedem uma connection string que já está no ambiente.
- Faça o build do snapshot
Salve o blueprint, aguarde o status Success e inicie uma nova sessão. As sessões já abertas continuam com o snapshot antigo.
Opção B: servidor MCP do MongoDB
Omongodb-mcp-server oficial é executado como um processo local dentro da sessão e usa as identidades da Etapa 2. Para contar com as proteções dele, adicione-o como um servidor MCP personalizado (Customize > MCPs > Add MCP > Adicionar um MCP personalizado, transporte STDIO) em vez de usar o plugin mongodb do marketplace, cujo manifesto não expõe --readOnly nem --indexCheck.
Fixe
<version> em uma versão que você já testou, pois o npx baixa o pacote a cada início de sessão. Com a conta de serviço somente leitura da Etapa 2, atlas-connect-cluster retorna 401; o Devin acessa os dados pela conexão preconfigured definida em MDB_MCP_CONNECTION_STRING, que é o caminho esperado.
--readOnlyimpede o registro das ferramentas de criação, atualização e exclusão, e rejeita agregações que contenham$outou$merge. Sem essa opção, essas agregações são executadas após um prompt de confirmação, ou sem confirmação se o cliente MCP não oferecer suporte a prompts. Use-a em tudo que apontar para produção.--indexCheckrejeita consultas cujo plano seja uma varredura de coleção. Trata-se de uma proteção de desempenho; se o próprioexplainfalhar, a consulta é executada mesmo assim.
^20.19.0 || ^22.13.0 || >=24.0.0. Verifique node --version em uma sessão; se a versão for mais antiga ou se o npx não estiver no path visto pelo processo MCP, adicione o Node ao blueprint:
Opção C: plugin do MongoDB Atlas
O plugin MongoDB Atlas conecta o Devin ao servidor MCP hospedado do MongoDB (mcp.mongodb.com) e instala as skills de agente do MongoDB. O Devin atua com as funções do Atlas do usuário que faz login, limitadas pelo modo de acesso de clientes de IA da organização.
- Um Organization Owner ativa o acesso de clientes de IA (Organization Settings > App Connections) e define o modo de acesso como Read, para que as ferramentas de escrita não sejam registradas. Essa configuração vale para todos os clientes de IA da organização, não apenas para o Devin.
- Crie um usuário do Atlas dedicado ao Devin com
GROUP_READ_ONLYeGROUP_DATA_ACCESS_READ_ONLY, apenas nos projetos que ele tem permissão para ler.GROUP_DATA_ACCESS_READ_ONLYpermite ler documentos em todos os bancos de dados do projeto, ou seja, esse acesso é mais amplo que o do usuáriodevin-sessions. - Instale o plugin e conclua o login OAuth uma única vez em Customize > MCPs, conectado como esse usuário, e não com sua própria conta.
- Quando estiver funcionando, fixe o plugin em um commit.
O tráfego se origina da infraestrutura hospedada do MongoDB e do Devin, e não da sessão, então as listas de IPs da etapa 1 e sua network policy não se aplicam. O acesso expira após 7 dias de inatividade ou 30 dias após o login, o que ocorrer primeiro; nesse caso, faça login novamente. Revogar o acesso não exclui os usuários de banco de dados nem outros artefatos criados pelo cliente, por isso faça uma auditoria deles.
Rebuilds e fixação de versões
O blueprint instala o que oapt resolver no momento do build, e o npx da Opção B baixa o mongodb-mcp-server a cada início de sessão. Fixe as versões de ambos (mongodb-atlas-cli=<version>, mongodb-mongosh=<version>, mongodb-mcp-server@<version>) assim que estiverem funcionando e só as atualize de forma intencional. Rotacionar um segredo não exige rebuild; já alterar uma ferramenta instalada exige.
Etapa 4: Defina as permissões
A autenticação define quem o Devin é; as roles do banco de dados e do Atlas definem o que ele pode acessar. As flags do MCP e as instruções de Knowledge são facilidades adicionais, não o limite de segurança.
No Explore, os índices sugeridos exigem apenas
GROUP_READ_ONLY (os valores das queries são retornados mascarados). A lista de queries lentas, os valores de exemplo das queries e o download de logs também exigem GROUP_DATA_ACCESS_READ_ONLY; o GROUP_DATA_ACCESS_READ_WRITE solicitado pela ajuda da Atlas CLI não é necessário. Somente com GROUP_READ_ONLY, a ferramenta atlas-get-performance-advisor do MCP retorna “No slow query logs found” em vez de 401; portanto, um resultado vazio pode indicar um problema de role.
Etapa 5: Verificar
Inicie uma nova sessão e peça ao Devin para executar: Conectividade. Qual usuário, quais funções e (se configurada) se a autenticação da Atlas CLI funciona:not authorized on <prod-db> to execute command em clusters dedicados, user is not allowed to do action [insert] on [<prod-db>.devin_probe] em M0/Flex); já o segundo deve funcionar:
connectionStatus correspondem ao perfil que você concedeu; uma conexão aberta, por si só, não comprova muita coisa. Para o servidor MCP, peça ao Devin que liste os bancos de dados usando as ferramentas MCP (ele usa a conexão preconfigured) e, depois, que insira um documento: com --readOnly, a ferramenta insert-many não existe, e uma agregação com $out é recusada.
Solução de problemas
Limitações
É obrigatório usar credenciais armazenadas. O token OIDC de curta duração do Devin ainda não pode ser usado com o MongoDB: a Administration API aceita apenas segredos de service account ou chaves de API. O Workload Identity Federation do Atlas cobre o plano de dados em clusters dedicados, mas exige um callback de token no nível do driver e ainda não foi testado com o emissor do Devin. Se quiser experimentar, fale com a equipe responsável pela sua conta. MongoDB auto-hospedado. As etapas do plano de dados (usuário do banco de dados,MONGODB_URI, mongosh, servidor MCP) continuam valendo sem alterações. Não há service account do Atlas nem lista de acesso por IP; o acesso à rede passa pela sua VPN ou pela sua própria lista de permissões.

