Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Desbordamiento de memoria del servidor MongoDB MCP

Cuando el servidor MongoDB MCP ejecuta herramientas como find y aggregate, debe contener temporalmente los resultados de la query en la memoria antes de devolverlos al cliente. Estas operaciones pueden consumir más memoria de la disponible y correr el riesgo de un "apagón" por falta de memoria o un deterioro del rendimiento del servidor si:

  • Obtener demasiados documentos.

  • Recuperar documentos muy grandes.

  • Ejecútelo en un servidor que maneja múltiples llamadas de herramientas simultáneas.

Para mitigar estos problemas, el servidor MCP utiliza:

  • Límites estrictos y configurables para la memoria utilizada y devuelta por una consulta o agregación.

  • Un iterador de cursor dedicado que rastrea el conteo de documentos y del uso de memoria mientras lee desde MongoDB y deja de leer antes de superar los límites configurados.

En conjunto, estas protecciones están diseñadas para evitar que una sola llamada de herramienta agote la memoria del servidor y fomentar patrones que devuelvan solo datos que el LLM puede usar de manera realista dentro de su ventana de contexto.

El servidor MCP proporciona puntos de configuración que controlan la cantidad de datos que una sola llamada de herramienta puede recuperar y mantener en memoria. Estos se dividen en dos grupos:

  • Límites del servidor: se aplican a todas las llamadas de herramientas manejadas por el servidor.

  • Límites de llamadas de herramientas: establecidos por llamada de herramienta por el cliente o agente.

Los límites del servidor que se configuran en el servidor MCP se utilizan como el límite superior de uso de memoria para todas las llamadas find y aggregate. La siguiente tabla describe las configuraciones de servidor disponibles para limitar el uso de memoria:

Nombre de la Opción de CLI
Nombre de la variable de entorno del SO.
predeterminado
Descripción

maxBytesPerQuery

MDB_MCP_MAX_BYTES_PER_QUERY

16777216

Tamaño máximo en bytes para resultados de una llamada a una herramienta de búsqueda o agregada. MDB_MCP_MAX_BYTES_PER_QUERY sirve como límite superior para el parámetro responseBytesLimit de find y aggregate.

maxDocumentsPerQuery

MDB_MCP_MAX_DOCUMENTS_PER_QUERY

100

Número máximo de documentos que se pueden devolver mediante una llamada a find o aggregate . Para la herramienta de búsqueda, el límite efectivo será el menor de este valor y el límite de la herramienta.

Las llamadas a herramientas individuales también pueden controlar la cantidad de datos solicitados. La siguiente tabla describe los parámetros de llamada de herramienta disponibles para limitar el uso de memoria:

Parameter
Herramienta
predeterminado
Descripción

limit

find

10

El número máximo de documentos que puede devolver la llamada find.

find.limit se combina con el límite de todo el servidor maxDocumentsPerQuery de modo que el límite de documento efectivo para la find respuesta sea el menor de los dos valores.

responseBytesLimit

find y aggregate

1 MB

Carga útil máxima que la llamada de la herramienta find o aggregate puede devolver.

responseBytesLimit se combina con el límite global del servidor maxBytesPerQuery de manera que el límite efectivo para la respuesta de la llamada a herramientas sea el menor de los dos valores.

Si se alcanza alguno de los límites configurados mientras el cursor lee documentos de MongoDB, el servidor MongoDB MCP deja de buscar documentos adicionales y devuelve el conjunto de resultados parcial recopilado.

Alcanzar los límites de memoria o de documentos configurados antes de que se obtengan todos los documentos puede resultar en la recepción de menos documentos de los solicitados. Es posible que deba:

  • Realizar llamadas de seguimiento con parámetros ajustados.

  • Reducir el volumen de datos devueltos al LLM. Por ejemplo, utilizando etapas de agregación.

Volver

Servicio autónomo

En esta página