Cuando el servidor MCP de MongoDB 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.
Ejecutar en un servidor que gestione múltiples llamadas concurrentes de herramientas.
Para mitigar estos problemas, el servidor MCP utiliza:
Restricciones estrictas y configurables sobre la memoria utilizada y devuelta por una query 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.
Juntas, estas protecciones están diseñadas para prevenir que una única llamada de herramienta agote la memoria del servidor y para fomentar patrones que devuelvan solo los datos que el LLM pueda utilizar realísticamente 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 gestionadas por el servidor.
Límites de llamadas de herramientas: Se establecen por cada llamada de herramienta por parte del 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 MCP de MongoDB deja de recuperar documentos adicionales y devuelve el conjunto de resultados parciales acumulados.
Si alcanzas los límites configurados de memoria o documentos antes de que se recuperen todos los documentos, puedes recibir menos documentos de los que solicitaste. Es posible que deba:
Realiza llamadas de seguimiento con parámetros ajustados.
Reducir el volumen de datos devueltos al LLM. Por ejemplo, utilizando etapas de agregación.