Cuando el servidor MongoDB MCP ejecuta herramientas como find y aggregate, debe almacenar temporalmente los resultados de la consulta en memoria antes de devolverlos al cliente. Estas operaciones pueden consumir más memoria de la disponible y provocar un fallo por falta de memoria o una degradación del rendimiento del servidor si:
Obtener demasiados documentos
Obtener 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 recuento de documentos y el uso de memoria a medida que lee desde MongoDB y deja de leer antes de cruzar 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 almacenar 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 se configuran en el servidor MCP y se utilizan como límite superior del uso de memoria para todas las llamadas find y aggregate. La siguiente tabla describe las configuraciones del servidor disponibles para limitar el uso de memoria:
Nombre de la opción CLI | Nombre de la variable de entorno del sistema operativo | predeterminado | Descripción |
|---|---|---|---|
|
|
| Tamaño máximo en bytes para los resultados de una llamada a una herramienta de búsqueda o agregación. |
|
|
| Número máximo de documentos que se pueden devolver mediante una llamada a la herramienta de búsqueda o agregación. Para la herramienta de búsqueda, el límite efectivo será el menor entre este valor y el límite de la herramienta. |
Límites de llamadas a herramientas
Las llamadas de herramienta 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 |
|---|---|---|---|
|
|
| Número máximo de documentos que la llamada
|
|
|
| Carga útil máxima que la llamada a la herramienta de búsqueda o agregación 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, mediante etapas de agregación.