mcp-of-mcps

MCP of MCPs es un meta-servidor que fusiona todos tus servidores MCP en un único endpoint inteligente. Proporciona a los agentes de IA descubrimiento instantáneo de herramientas, carga selectiva de esquemas y ejecución masivamente más económica, para que dejes de desperdiciar tokens y tiempo. Con metadatos persistentes de herramientas, búsqueda semántica y ejecución directa de código entre herramientas, convierte configuraciones caóticas de múltiples servidores en un flujo de trabajo rápido, eficiente y sin alucinaciones. También analiza automáticamente los esquemas de salida de las herramientas si no existen y los conserva entre sesiones para un comportamiento consistente.

Documentación

MCP of MCPs

MCP of MCPs es un meta-servidor que fusiona todos tus servidores MCP en un único endpoint inteligente. Proporciona a los agentes de IA descubrimiento instantáneo de herramientas, carga selectiva de esquemas y ejecución masivamente más económica, para que dejes de desperdiciar tokens y tiempo.

Con metadatos de herramientas persistentes, búsqueda semántica y ejecución directa de código entre herramientas, convierte configuraciones caóticas de múltiples servidores en un flujo de trabajo rápido, eficiente y libre de alucinaciones. También analiza automáticamente los esquemas de salida de las herramientas si es necesario y los conserva entre sesiones para un comportamiento consistente.

En resumen:
🚀 Automatización más rápida
🧠 Razonamiento más limpio
💰 Muchos menos tokens
📦 Metadatos de esquema persistentes y analizados

alt text

Herramienta 1: semantic_search_tools

Herramienta de Descubrimiento Semántico - Busca herramientas describiendo la tarea que quieres realizar. En lugar de revisar todos los nombres de herramientas—o cuando los nombres no indican claramente qué hacen—simplemente describe tu intención en lenguaje natural (por ejemplo, "enviar notificaciones", "consultar base de datos", "procesar imágenes") y obtén solo las herramientas más relevantes al instante. Esto proporciona un enfoque rápido y ligero para investigar qué herramientas están disponibles en todos los servidores conectados sin cargar definiciones completas de herramientas.

// Search by task/intent, not by tool names:
// Input: { query: "send notifications to a channel", limit: 5 }
// Returns only relevant matches (ranked by similarity):
// [
//   {
//     serverName: "slack",
//     toolName: "post_message",
//     description: "Post a message to a Slack channel",
//     similarityScore: 0.94,
//     fullPath: "slack/post_message"
//   },
// ....
//   // Only 5 most relevant tools returned - fast and lightweight!
// ]

Perfecto para una investigación rápida:

  • Describe lo que necesitas hacer, no qué herramienta necesitas
  • Obtén resultados instantáneos sin cargar esquemas completos
  • Descubre capacidades en todos los servidores en milisegundos
  • Sin sobrecarga de tokens: solo nombres y descripciones ligeros de herramientas

Herramienta 2: get_mcps_servers_overview

Herramienta de Descubrimiento - Esta herramienta devuelve solo nombres de herramientas sin esquemas completos, dando a los agentes una visión general ligera en segundos en lugar de cargar cientos de definiciones detalladas de antemano. Al mostrar solo lo que está disponible sin detalles abrumadores, previene confusiones y alucinaciones mientras elimina retrasos de carga.

// Returns:
// google_drive/download_file
// google_drive/upload_file
// slack/send_message
// database/execute_query
// ...

Herramienta 3: get_tools_overview

Herramienta de Introspección - Carga solo las herramientas que realmente necesitas en lugar de las 30+ herramientas, ahorrando miles de tokens mediante carga selectiva. Este enfoque bajo demanda proporciona respuestas más rápidas y un contexto enfocado que reduce la confusión y mejora la precisión.

// Input: ["google_drive/download_file", "slack/send_message"]
// Returns: Full tool definitions with:
// - Parameter schemas
// - Required vs optional fields
// - Example usage code

Herramienta 4: run_functions_code

Herramienta de Ejecución - Los datos fluyen directamente entre herramientas sin idas y vueltas a través del modelo, por lo que una transferencia de archivo de 2MB usa ~100 tokens en lugar de 50,000+. El modelo solo ve resultados finales limpios en lugar de datos intermedios ruidosos, ejecutando flujos de trabajo complejos de una sola vez sin retrasos de procesamiento.

// Write code that:
// - Calls multiple tools in sequence or parallel
// - Processes and transforms data
// - Implements complex logic and error handling
// - Returns only final results to the model

Cómo el Flujo Completo Resuelve Todos los Problemas

Cuando necesitas realizar una tarea, comienza usando get_mcps_servers_overview para obtener una lista ligera de todos los nombres de herramientas disponibles en los servidores—esto te da un escaneo rápido de lo que está disponible sin cargar ningún esquema. Si no encuentras las herramientas que necesitas para tu tarea o si los nombres de las herramientas no son claros, usa semantic_search_tools para buscar describiendo tu intención en lenguaje natural (por ejemplo, "enviar notificaciones a un canal"), que utiliza comprensión semántica impulsada por IA para devolver instantáneamente solo las herramientas más relevantes ordenadas por similitud. Una vez que hayas identificado las herramientas específicas que necesitas, usa get_tools_overview para cargar solo esas definiciones de herramientas con sus esquemas y parámetros completos—ahorrando miles de tokens al evitar herramientas irrelevantes y dando al modelo un contexto enfocado. Finalmente, usa run_functions_code para ejecutar tu flujo de trabajo donde los datos fluyen directamente entre herramientas en memoria, manteniendo los resultados intermedios como objetos nativos en lugar de serializarlos en tokens, con solo el resultado final devuelto al modelo. Este patrón reduce drásticamente el uso de tokens, acelera la ejecución al evitar procesamiento innecesario del modelo y elimina alucinaciones al mostrar solo información relevante en cada paso.

Ejemplo del Mundo Real

Enfoque Tradicional:

TOOL CALL: gdrive.getDocument(documentId: "abc123")
  → returns full transcript text (loads into context: 50,000 tokens)
  
TOOL CALL: salesforce.updateRecord(...)
  → model writes entire transcript again (doubles the tokens: +50,000 tokens)

Total: 100,000+ tokens procesados, tiempo de respuesta lento

Con MCP of MCPs:

const transcript = (await gdrive.getDocument({ documentId: 'abc123' })).content;
await salesforce.updateRecord({
  objectType: 'SalesMeeting',
  data: { Notes: transcript }
});

El código se ejecuta en una sola operación. Los datos fluyen directamente entre herramientas. Solo el resultado final regresa al modelo.

Total: 2,000 tokens procesados (reducción del 98.7%) ⚡

Beneficios Clave

✅ Tiempo de Respuesta Más Rápido - No es necesario cargar todas las herramientas de antemano
✅ Menos Alucinaciones - El modelo ve solo información relevante
✅ Divulgación Progresiva - Carga herramientas bajo demanda según sea necesario
✅ Composición de Código - Orquesta flujos de trabajo complejos con JavaScript familiar
✅ Metadatos de Herramientas Persistentes - Conserva automáticamente los esquemas de salida de las herramientas entre sesiones

Configuración

Requisitos Previos

  • Node.js
  • npm o yarn
  • Servidores MCP configurados que quieras agregar

Añadir a Cline

Añade esto a tu archivo de configuración de MCP de Cline:

Opción 1: Usando configuración en línea

{
  "mcpServers": {
    "mcp-of-mcps": {
      "autoApprove": [],
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@dbestai/mcp-of-mcps",
        "--config",
        "[{\"name\":\"weather\",\"command\":\"npx\",\"args\":[\"-y\",\"@h1deya/mcp-server-weather\"]},{\"name\":\"time\",\"command\":\"uvx\",\"args\":[\"mcp-server-time\"]}]"
      ]
    }
  }
}

Opción 2: Usando un archivo de configuración

Primero, crea un archivo config.json que especifique a qué servidores MCP conectarse:

[
  {
    "name": "weather",
    "command": "npx",
    "args": ["-y", "@h1deya/mcp-server-weather"]
  },
  {
    "name": "time",
    "command": "uvx",
    "args": ["mcp-server-time"]
  }
]

Luego referencia este archivo en tu configuración de Cline:

{
  "mcpServers": {
    "mcp-of-mcps": {
      "autoApprove": [],
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@dbestai/mcp-of-mcps",
        "--config-file",
        "/absolute/path/to/your/config.json"
      ]
    }
  }
}

Opciones de Configuración:

  • autoApprove: Array de nombres de herramientas que no requieren aprobación (por ejemplo, ["get_mcps_servers_overview"])
  • disabled: Establece a false para habilitar el servidor
  • timeout: Tiempo de espera en segundos para la ejecución de herramientas (predeterminado: 60)
  • type: Tipo de conexión, siempre "stdio" para servidores MCP

Aprende Más

Esta implementación sigue los patrones descritos en el artículo de Anthropic sobre ejecución de código con MCP:
📖 Ejecución de código con MCP: Construyendo agentes más eficientes

Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviar un Pull Request.

Licencia

ISC