MCP BatchIt
MCP BatchIt
Agrupe múltiples llamadas de herramientas MCP en una única solicitud "batch_execute", lo que reduce la sobrecarga y el uso de tokens para los agentes de IA.
Tabla de contenido
Related MCP server: OpenAI-Compatible MCP Gateway
Introducción
⚠️ AVISO: Trabajo en progreso
Este proyecto se está desarrollando activamente para abordar varios desafíos complejos:
Mantener la compatibilidad con versiones anteriores de los servidores MCP existentes
Resolución de complejidades de transporte con clientes multiconexión (Cline, Roo, Claude Desktop)
Creación de una implementación fácil de usar para principiantes
Si bien es funcional, se esperan mejoras y cambios constantes a medida que perfeccionamos la solución.
MCP BatchIt es un servidor agregador simple en el ecosistema del Protocolo de Contexto de Modelo (MCP) . Expone una sola herramienta: batch_execute . En lugar de llamar a varias herramientas MCP (como fetch , read_file , create_directory , write_file , etc.) en mensajes separados , puede procesarlas en una sola solicitud de agregador.
Esto reduce drásticamente el uso de tokens, la sobrecarga de la red y el contexto repetido en su agente de IA o conversación LLM.
¿Por qué usar BatchIt?
Problema de una acción por mensaje : normalmente, un agente LLM o AI solo puede llamar a una única herramienta MCP a la vez, lo que obliga a realizar múltiples llamadas para tareas de varios pasos.
Viajes de ida y vuelta excesivos : 10 operaciones de archivos independientes pueden requerir 10 mensajes → 10 respuestas.
El enfoque de BatchIt :
Toma una sola solicitud
batch_execute.Genera (o se conecta a) el servidor MCP de destino real (como un servidor de sistema de archivos) detrás de escena.
Ejecuta cada suboperación (llamada de herramienta) en paralelo hasta
maxConcurrent.Si una suboperación falla y
stopOnErrores verdadero, detiene las nuevas suboperaciones.Devuelve un resultado JSON consolidado.
Características y limitaciones clave
Características
Herramienta única de "Ejecución por lotes"
Simplemente especifica una lista de suboperaciones que hagan referencia a las herramientas de tu servidor MCP existente.
Ejecución paralela
Ejecute múltiples suboperaciones a la vez, controladas por
maxConcurrent.
Tiempo de espera y detención en caso de error
Cada suboperación tiene un
timeoutMsy puedes omitir las operaciones restantes si una falla.
Almacenamiento en caché de conexión
Reutiliza la misma conexión con el servidor MCP descendente para llamadas repetidas y se cierra después de un tiempo de espera inactivo.
Limitaciones
No hay transferencia de datos a mitad del lote
Si la suboperación n.° 2 depende de la salida de n.° 1, realice múltiples llamadas al agregador.
No hay progreso parcial
Obtendrás los resultados de todas las suboperaciones juntos al final de cada “batch_execute”.
Debe utilizar un servidor MCP real
Si inicias o te conectas al agregador, verás el mensaje "herramienta no encontrada". El agregador solo tiene "batch_execute".
Un servidor de destino por llamada
Cada llamada al agregador hace referencia a un único servidor MCP de destino. Si desea varios servidores, deberá utilizar una lógica más avanzada o realizar llamadas independientes.
Instalación y puesta en marcha
git clone https://github.com/ryanjoachim/mcp-batchit.git
cd mcp-batchit
npm install
npm run build
npm startBatchIt se inicia en STDIO por defecto para que tu agente de IA (o cualquier cliente MCP) pueda generarlo. Por ejemplo:
mcp-batchit is running on stdio. Ready to batch-execute!Ahora puedes enviarle solicitudes JSON-RPC ( tools/call , name= "batch_execute" ).
BANCO DE MEMORIA
Al utilizar Cline/Roo Code, puede crear un marco de documentación de proyecto contextual aprovechando las potentes instrucciones personalizadas "Memory Bank" desarrolladas por Nick Baumann.
Ver la documentación del banco de memoria
Enfoque tradicional (19+ llamadas):
Leer paquete.json
Esperar respuesta
Leer README.md
Esperar respuesta
Definiciones de códigos de lista
Esperar respuesta
Crear directorio de banco de memoria
Esperar respuesta
Escribe productContext.md
Escribe systemPatterns.md
Escribe techContext.md
Escribir progreso.md
Escribe activeContext.md
Esperar respuestas (5 llamadas más)
Total: ~19 llamadas API independientes (13 operaciones + 6 esperas de respuesta)
Enfoque BatchIt (1-3 llamadas)
Uso multifásico
Al trabajar con tareas complejas de varios pasos que dependen de la salida en tiempo real (como la lectura de archivos y la generación de documentación), deberá gestionar el proceso en fases distintas. Esto es necesario porque BatchIt no admite la transferencia de datos entre suboperaciones dentro de la misma solicitud.
Fases de implementación
Recopilación de información
En esta fase inicial, recopilamos información del sistema de archivos leyendo los archivos necesarios (p. ej., package.json , README.md ). Esto se logra mediante una llamada batch_execute al servidor MCP del sistema de archivos:
{
"targetServer": {
"name": "filesystem",
"serverType": {
"type": "filesystem",
"config": {
"rootDirectory": "C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit"
}
},
"transport": {
"type": "stdio",
"command": "cmd.exe",
"args": [
"/c",
"npx",
"-y",
"@modelcontextprotocol/server-filesystem",
"C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit"
]
}
},
"operations": [
{
"tool": "read_file",
"arguments": {
"path": "C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit/package.json"
}
},
{
"tool": "read_file",
"arguments": {
"path": "C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit/README.md"
}
}
],
"options": {
"maxConcurrent": 2,
"stopOnError": true,
"timeoutMs": 30000
}
}Nota : El agregador genera @modelcontextprotocol/server-filesystem (a través de npx ) para ejecutar operaciones read_file paralelas.
Paso solo para LLM (definiciones de códigos de lista)
Esta fase implica el procesamiento fuera del agregador, generalmente utilizando capacidades de agente LLM o AI:
<list_code_definition_names>
<path>src</path>
</list_code_definition_names>Este paso utiliza la herramienta list_code_definition_names de Roo Code, disponible exclusivamente para LLM. Sin embargo, tenga en cuenta que muchos servidores MCP ofrecen una funcionalidad similar, lo que permite completar este proceso sin solicitudes LLM.
Creación de documentos
La fase final combina datos de los pasos anteriores (contenido de archivos y definiciones de código) para generar documentación en el directorio memory-bank :
{
"targetServer": {
"name": "filesystem",
"serverType": {
"type": "filesystem",
"config": {
"rootDirectory": "C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit"
}
},
"transport": {
"type": "stdio",
"command": "cmd.exe",
"args": [
"/c",
"npx",
"-y",
"@modelcontextprotocol/server-filesystem",
"C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit"
]
}
},
"operations": [
{
"tool": "create_directory",
"arguments": {
"path": "C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit/memory-bank"
}
},
{
"tool": "write_file",
"arguments": {
"path": "C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit/memory-bank/productContext.md",
"content": "# MCP BatchIt Product Context\\n\\n## Purpose\\n..."
}
},
{
"tool": "write_file",
"arguments": {
"path": "C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit/memory-bank/systemPatterns.md",
"content": "# MCP BatchIt System Patterns\\n\\n## Architecture Overview\\n..."
}
},
{
"tool": "write_file",
"arguments": {
"path": "C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit/memory-bank/techContext.md",
"content": "# MCP BatchIt Technical Context\\n\\n## Technology Stack\\n..."
}
},
{
"tool": "write_file",
"arguments": {
"path": "C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit/memory-bank/progress.md",
"content": "# MCP BatchIt Progress Status\\n\\n## Completed Features\\n..."
}
},
{
"tool": "write_file",
"arguments": {
"path": "C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit/memory-bank/activeContext.md",
"content": "# MCP BatchIt Active Context\\n\\n## Current Status\\n..."
}
}
],
"options": {
"maxConcurrent": 1,
"stopOnError": true,
"timeoutMs": 30000
}
}El agregador procesa estas operaciones secuencialmente ( maxConcurrent=1 ), creando el directorio y escribiendo múltiples archivos de documentación. La matriz de resultados indica el estado de éxito/fracaso de cada operación.
Preguntas frecuentes
P1: ¿Necesito varias llamadas al agregador si la suboperación n.º 2 depende de los resultados de la suboperación n.º 1? Sí. BatchIt no transfiere datos entre suboperaciones en la misma solicitud. Se realizan llamadas multifase (como en el ejemplo anterior).
P2: ¿Por qué a veces me aparece el mensaje "Herramienta create_directory no encontrada"? Porque tu transport podría estar apuntando al script del agregador en lugar del servidor MCP real. Asegúrate de hacer referencia a algo como @modelcontextprotocol/server-filesystem .
P3: ¿Puedo usar concurrencia y stopOnError? Por supuesto. Si una suboperación falla, omitimos el lanzamiento de nuevas suboperaciones. Las que ya se están ejecutando finalizan en paralelo.
P4: ¿BatchIt reinicia el servidor de destino cada vez? Puede hacerlo si se especifica keepAlive: false . Pero si se usa el mismo targetServer.name + transport , almacena en caché la conexión hasta que transcurra un tiempo de espera inactivo.
P5: ¿Se devuelven resultados parciales si se produce un error a mitad de proceso? Sí. Cada suboperación finalizada antes del error se incluye en la respuesta final del agregador, junto con la suboperación fallida. Las suboperaciones restantes se omiten si stopOnError es verdadero.
Licencia
Instituto Tecnológico de Massachusetts (MIT)
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceAggregates tools from multiple MCP servers, acting as a proxy to provide unified access to various AI agents and tools.143MIT
- Flicense-qualityDmaintenanceLocal MCP server that exposes fixed tools for GPT, Claude, and Gemini while routing to any OpenAI-compatible chat completions backend with independent configuration per target.1
- AlicenseAqualityCmaintenanceAggregates multiple MCP servers into a single interface, reducing token overhead and simplifying tool management for LLMs.65416Apache 2.0
Related MCP Connectors
MCP server exposing the Backtest360 engine API as tools for AI agents.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ryanjoachim/mcp-batchit'
If you have feedback or need assistance with the MCP directory API, please join our Discord server