Menu Docs
Página inicial do Docs
/ /

Estouro de memória do servidor MongoDB MCP

Quando o servidor MongoDB MCP executa ferramentas como find e aggregate, ele deve manter temporariamente os resultados da query na memória antes de devolvê-los ao cliente. Essas operações podem consumir mais memória do que o disponível e correr o risco de uma falha de falta de memória ou de degradação do desempenho do servidor se:

  • Buscar muitos documentos.

  • Busca documentos muito grandes.

  • Execute em um servidor que lida com várias chamadas de ferramentas simultâneas.

Para mitigar esses problemas, o servidor MCP usa:

  • Limites rígidos e configuráveis na memória usados e retornados por uma query ou agregação.

  • Um iterador de cursor dedicado que rastreia a contagem de documento e o uso de memória à medida que lê do MongoDB e interrompe a leitura antes que cruze os limites configurados.

Juntas, essas proteções são projetadas para evitar que uma única chamada de ferramenta esgote a memória do servidor e encorajar padrões que retornam apenas dados que o LLM pode usar de forma realista em sua janela de contexto.

O servidor MCP fornece pontos de configuração que controlam a quantidade de dados que uma única chamada de ferramenta pode recuperar e manter na memória. Estes se dividem em dois grupos:

  • Limites do servidor: aplique-se a todas as chamadas de ferramentas gerenciadas pelo servidor.

  • Limites de chamada de ferramenta: definidos por chamada de ferramenta pelo cliente ou agente.

Os limites do servidor são configurados no servidor MCP e usados como limite superior no uso de memória para todas as chamadas find e aggregate. A tabela a seguir descreve as configurações do servidor disponíveis para limitar o uso da memória:

Nome da opção CLI
Nome da variável de ambiente do sistema operacional
Default
Descrição

maxBytesPerQuery

MDB_MCP_MAX_BYTES_PER_QUERY

16777216

Tamanho máximo em bytes para resultados de uma chamada de ferramenta agregada ou localizada. MDB_MCP_MAX_BYTES_PER_QUERY serve como um limite superior para o parâmetro responseBytesLimit de find e aggregate.

maxDocumentsPerQuery

MDB_MCP_MAX_DOCUMENTS_PER_QUERY

100

Número máximo de documentos que podem ser devolvidos por uma chamada de ferramenta de localização ou agregação. Para a ferramenta de localização, o limite efetivo será o menor entre esse valor e o limite da ferramenta.

Chamadas de ferramentas individuais também podem controlar a quantidade de dados solicitados. A tabela a seguir descreve os parâmetros de chamada de ferramenta disponíveis para limitar o uso da memória:

Parâmetro
Ferramenta
Default
Descrição

limit

find

10

Número máximo de documentos que a chamada find pode retornar.

find.limit é combinado com o limite maxDocumentsPerQuery de todo o servidor, de modo que o limite efetivo do documento para a find resposta seja o menor dos dois valores.

responseBytesLimit

find e a aggregate

1 MB

Carga útil máxima que a chamada de ferramenta de localização ou agregação pode retornar.

responseBytesLimit é combinado com o limite maxBytesPerQuery de todo o servidor, de modo que o limite efetivo para a resposta à chamada de ferramenta seja o menor dos dois valores.

Se algum dos limites configurados for atingido enquanto o cursor lê documentos do MongoDB , o servidor MongoDB MCP interromperá a busca de documentos adicionais e retornará o conjunto de resultados parciais coletado.

Atingir os limites de memória ou documento configurados antes que todos os documentos sejam obtidos pode resultar no recebimento de menos documentos do que o solicitado. Talvez você precise:

  • Emitir chamadas de acompanhamento com parâmetros ajustados.

  • Reduza o volume de dados retornados ao LLM. Por exemplo, usando estágios de agregação .

Voltar

Serviço standalone

Nesta página