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.
Configuraciones
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.
Límites del servidor
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 |
|---|---|---|---|
|
|
| Tamaño máximo en bytes para resultados de una llamada a una herramienta de búsqueda o agregada. |
|
|
| 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. |
Límites de llamadas de herramientas
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 |
|---|---|---|---|
|
|
| El número máximo de documentos que puede devolver la llamada
|
|
|
| Carga útil máxima que la llamada de la herramienta find o aggregate puede devolver.
|
Comportamiento de desbordamiento de memoria
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.