Docs Menu
Docs Home
/ /

Desbordamiento de memoria del servidor MongoDB MCP

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.

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.

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

maxBytesPerQuery

MDB_MCP_MAX_BYTES_PER_QUERY

16777216

Tamaño máximo en bytes para los resultados de una llamada a una herramienta de búsqueda o agregación. 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 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.

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

limit

find

10

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

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 a la herramienta de búsqueda o agregación puede devolver.

responseBytesLimit se combina con el límite maxBytesPerQuery de todo el servidor de modo que el límite efectivo para la respuesta de la llamada de herramienta 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, mediante etapas de agregación.

Volver

Servicio autónomo

En esta página