MCP Hub MCP Server
Servidor MCP-Hub-MCP
Un servidor concentrador que se conecta y administra otros servidores MCP (Protocolo de contexto de modelo).
Descripción general
Este proyecto crea un servidor concentrador MCP que puede conectarse a otros servidores MCP, listar sus herramientas y ejecutarlas. Es especialmente útil para superar el límite de 40 herramientas MCP de Cursor. Incluso fuera de Cursor, ayuda a reducir los errores de la IA al ocultar las herramientas poco utilizadas.
Related MCP server: MCP-Hub-MCP Server
Características principales
Conexión automática a otros servidores MCP mediante archivo de configuración
Lista de herramientas disponibles en los servidores conectados
Llamar a herramientas en servidores conectados y devolver resultados
Configuración
Añade esto a tu mcp.json :
Usando npx
{
"mcpServers": {
"other-tools": {
"command": "npx",
"args": [
"-y",
"mcp-hub-mcp",
"--config-path",
"/Users/username/mcp.json"
]
}
}
}Indicador del sistema (o reglas del cursor)
Before processing a user's request, you must use the "list_all_tools" command to identify which tools are available.Esto garantiza que el asistente de IA siempre verificará las herramientas disponibles antes de intentar usarlas.
Instalación y funcionamiento
Requisitos
Node.js 18.0.0 o superior
npm, hilo o pnpm
Instalación
# Clone repository
git clone <repository-url>
cd mcp-hub-mcp
# Install dependencies
npm install
# or
yarn install
# or
pnpm installConstruir
npm run build
# or
yarn build
# or
pnpm buildCorrer
npm start
# or
yarn start
# or
pnpm startModo de desarrollo
npm run dev
# or
yarn dev
# or
pnpm devArchivo de configuración
El servidor MCP-Hub-MCP utiliza un archivo de configuración en formato Claude Desktop para conectarse automáticamente a otros servidores MCP. Puede especificar el archivo de configuración de las siguientes maneras:
Variable de entorno: Establezca la variable de entorno
MCP_CONFIG_PATHen la ruta del archivo de configuraciónArgumento de la línea de comandos: utilice la opción
--config-pathpara especificar la ruta del archivo de configuraciónRuta predeterminada: utilice el archivo
mcp-config.jsonen el directorio actual
Formato del archivo de configuración:
{
"mcpServers": {
"serverName1": {
"command": "command",
"args": ["arg1", "arg2", ...],
"env": { "ENV_VAR1": "value1", ... }
},
"serverName2": {
"command": "anotherCommand",
"args": ["arg1", "arg2", ...]
}
}
}Ejemplo:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Desktop",
"/Users/username/Downloads"
]
},
"other-server": {
"command": "node",
"args": ["path/to/other-mcp-server.js"]
}
}
}Uso
El servidor MCP-Hub-MCP proporciona las siguientes herramientas:
1. list-all-tools
Devuelve una lista de herramientas de todos los servidores conectados.
{
"name": "list-all-tools",
"arguments": {}
}2. call-tool
Llama a una herramienta en un servidor específico.
serverName: Nombre del servidor MCP desde el que se llamará la herramientatoolName: Nombre de la herramienta a llamartoolArgs: Argumentos para pasar a la herramienta
{
"name": "call-tool",
"arguments": {
"serverName": "filesystem",
"toolName": "readFile",
"toolArgs": {
"path": "/Users/username/Desktop/example.txt"
}
}
}Convención de mensajes de confirmación
Este proyecto sigue los Commits convencionales para el control de versiones automático y la generación de REGISTRO DE CAMBIOS.
Formato: <type>(<scope>): <description>
Ejemplos:
feat: add new hub connection featurefix: resolve issue with server timeoutdocs: update API documentationchore: update dependencies
Tipos:
feat: Nueva característica (mejora de versión MENOR)fix: Corrección de errores (actualización de la versión PATCH)docs: Solo cambios en la documentaciónstyle: Cambios que no afectan el significado del códigorefactor: cambio de código que no corrige un error ni agrega una característicaperf: Cambio de código que mejora el rendimientotest: Agregar pruebas faltantes o corregir pruebas existenteschore: Cambios en el proceso de construcción o herramientas auxiliares
Cambios importantes: agregue BREAKING CHANGE: en el pie de página de la confirmación para activar un aumento de versión IMPORTANTE.
Pila tecnológica
Node.js
Mecanografiado
@modelcontextprotocol/sdk (versión: ^1.9.0)
zod (versión: ^3.22.4)
Licencia
Instituto Tecnológico de Massachusetts (MIT)
Available Tools
7 toolscall-toolCall ToolA
Call a specific tool from a specific server. TIP: Use find-tools first to discover the tool and get the correct serverName and toolName
| Name | Required | Description | Default |
|---|---|---|---|
| toolArgs | Yes | Arguments to pass to the tool | |
| toolName | Yes | Name of the tool to call | |
| serverName | Yes | Name of the MCP server to call tool from |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only states 'call a tool' without mentioning that the call executes the tool, potential side effects, authentication needs, or rate limits. This is minimal for a meta-tool that could trigger arbitrary actions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence plus a tip, which is very concise and front-loaded. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema or annotations, the description fails to explain return values, error handling, or execution behavior. For a tool that calls other tools, the description is incomplete for an agent to understand what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes the parameters. The description adds a helpful tip about using find-tools for correct values, but does not elaborate on the format or semantics of toolArgs or how to construct the object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool calls a specific tool from a specific server, using a specific verb ('Call') and resource. It distinguishes from sibling tools like find-tools which are for discovery.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises to use find-tools first to discover the correct serverName and toolName, providing clear guidance on when to use this tool versus an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find-toolsFind ToolsA
Use this tool to find best tools by searching with keywords or regex patterns. If you don't have a specific tool for a task, this is the best way to discover what tools are available.
| Name | Required | Description | Default |
|---|---|---|---|
| pattern | Yes | Regex pattern to search for in tool names and descriptions | |
| searchIn | No | Where to search: in tool names, descriptions, or both | both |
| caseSensitive | No | Whether the search should be case-sensitive |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It only says 'find best tools' without explaining what 'best' means, how results are returned, or any limitations. This is insufficient for a search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with purpose and a usage hint. Every word earns its place; no waste. Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters, no output schema, and no annotations, the description should at least mention what the tool returns (e.g., a list of tool names). It omits this, leaving the agent guessing. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all three parameters. The description adds no additional meaning beyond the schema, so baseline 3 applies. It mentions 'keywords or regex patterns' which maps to the pattern parameter, but doesn't enhance understanding of enum options or defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to find tools by searching with keywords or regex patterns. It distinguishes from siblings like list-all-tools (which lists all) and get-tool (which retrieves a specific tool) by framing it as a discovery tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises using the tool when you don't have a specific tool for a task, providing clear context. However, it does not explicitly exclude cases or mention alternatives like list-all-tools for a full inventory.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find-tools-in-serverFind Tools in ServerB
Find tools matching a pattern in a specific MCP server (returns name and description only)
| Name | Required | Description | Default |
|---|---|---|---|
| pattern | Yes | Regex pattern to search for in tool names and descriptions | |
| searchIn | No | Where to search: in tool names, descriptions, or both | both |
| serverName | Yes | Name of the MCP server to search tools in | |
| caseSensitive | No | Whether the search should be case-sensitive |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only states the limited return (name and description), but does not mention regex syntax, case sensitivity handling (detailed in schema), error behavior, or performance implications. Lacks critical behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that conveys the core purpose efficiently. However, it is somewhat sparse and could include more context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 parameters, 2 required, and no output schema, the description is incomplete. It does not specify return value structure (e.g., array of objects), error conditions, or behavior when no match found. The absence of output schema makes this a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond what the schema's property descriptions already provide. It does not clarify the regex pattern format or default behavior beyond the schema's default values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific verb 'find' and resource 'tools in a specific MCP server', and explicitly notes the limited return ('name and description only'). This distinguishes it from siblings like 'get-tool' (single tool details) or 'list-all-tools-in-server' (no pattern matching).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for pattern-based searching within a server, but provides no guidance on when to choose this over alternatives like 'find-tools' (possibly across servers) or 'list-all-tools-in-server' (no pattern). No exclusion or alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-toolGet Tool SchemaA
Get complete schema for a specific tool from a specific server, including inputSchema. TIP: Use find-tools first to discover the tool and get the correct serverName and toolName
| Name | Required | Description | Default |
|---|---|---|---|
| toolName | Yes | Exact name of the tool to retrieve | |
| serverName | Yes | Name of the MCP server containing the tool |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It states 'Get complete schema', implying a read operation without side effects, but does not disclose auth needs, rate limits, or return format. Adequate for a simple retrieval but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words. Purpose is front-loaded, and the TIP is placed at the end for easy reference.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Though no output schema exists, the description explains the return ('complete schema... including inputSchema'), which is sufficient for an agent. Sibling tools provide context. Minor improvement could specify the exact return structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions ('Exact name of the tool', 'Name of the MCP server'). The description adds no extra parameter meaning beyond the schema, so baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Get complete schema for a specific tool from a specific server, including inputSchema', using specific verb+resource. It distinguishes from siblings like call-tool (invocation) and find-tools (discovery).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit TIP provides guidance: 'Use find-tools first to discover the tool and get the correct serverName and toolName', telling the agent when to use this tool and suggesting an alternative prerequisite tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-all-toolsList All ToolsA
List ALL available tools from all connected servers. NOTE: For better performance, use find-tools with keywords first. Only use this when you need to see everything or if find-tools didn't find what you need
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description is straightforward but doesn't disclose read-only nature or any rate limits. Simple operation, so transparency is adequate but not enhanced beyond necessity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states action, second provides performance advice. Front-loaded and concise with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, no output schema, and low complexity, the description is complete. It covers what the tool does and how to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist (0 params). Baseline 4 applies. Description is sufficient as no parameter details are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists ALL tools from ALL connected servers. It distinguishes from sibling tools like find-tools (keyword-based) and list-all-tools-in-server (server-specific), using specific verb+resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: use find-tools first for performance, only use list-all-tools when necessary or when find-tools fails. This tells when to use and when to avoid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-all-tools-in-serverList Tools in ServerA
List ALL tools from a specific MCP server (returns name and description only)
| Name | Required | Description | Default |
|---|---|---|---|
| serverName | Yes | Name of the MCP server to list tools from |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool returns only name and description, which is helpful beyond the input schema. However, it does not explicitly state that the operation is read-only or non-destructive, nor does it mention any prerequisites or potential errors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence of 13 words. It front-loads the main action and clarifies the return content in parentheses. Every word carries weight, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 param, no output schema), the description is fairly complete: it states the action, scope, and return format. It lacks mention of error handling or performance, but for a simple listing tool, this is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'serverName' with a clear description. The tool description adds no additional meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'List' and resource 'tools from a specific MCP server', clearly distinguishing from siblings like 'list-all-tools' (likely cross-server) and 'find-tools-in-server' (likely filtered). The scope is precise: ALL tools, and it notes the return includes only name and description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when you need a complete listing from one server, but it does not explicitly state when not to use it or suggest alternatives like 'find-tools-in-server' for filtering. The context from sibling names helps, but the description itself lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-serversList ServersB
List all connected MCP servers
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the listing action without revealing whether results are cached, live, or any other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It could benefit from additional detail but remains appropriately concise for a simple listing tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no parameters, the description is adequate but does not explain the return format or any filtering. For a list tool, this is minimally viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters and the schema coverage is 100%. Baseline 4 applies because the description adds no parameter details but none are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List all connected MCP servers' uses a specific verb ('list') and resource ('connected MCP servers'), clearly distinguishing it from sibling tools like list-all-tools which list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings like list-all-tools or call-tool. The description only states what it does, not when it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
v1.0.3- Added
call-tool - Added
find-tools - Added
find-tools-in-server - Added
get-tool - Added
list-all-tools - Added
list-all-tools-in-server - Added
list-servers
7 tool updates
v1.1.1- Removed
call-tool - Removed
find-tools - Removed
find-tools-in-server - Removed
get-tool - Removed
list-all-tools - Removed
list-all-tools-in-server - Removed
list-servers
7 tool updates
v1.0.0- First observed
call-tool - First observed
find-tools - First observed
find-tools-in-server - First observed
get-tool - First observed
list-all-tools - First observed
list-all-tools-in-server - First observed
list-servers
TDQS
Scored across 7 tools
Most tools are clearly distinct by scope (global vs per-server, discovery vs schema vs invocation). Minor overlap exists between list-all-tools and find-tools, but the descriptions explicitly guide usage.
All tool names follow a consistent kebab-case verb-noun pattern, with clear modifiers like -in-server to indicate scope. The naming is uniform and predictable.
Seven tools is well-scoped for a meta-server that manages other MCP servers. Each tool covers a distinct operation without redundancy or bloat.
The surface covers the full workflow: discover servers, list tools, search tools, inspect schemas, and call tools. No obvious dead ends or missing critical operations for the stated purpose.
Maintenance
Related MCP Connectors
Publish and discover MCP servers via the official MCP Registry. Powered by HAPI MCP server.
Trust, freshness, policy, and discovery layer for public MCP servers.
The official MCP Server for the Mux API
The MCP server that finds MCP servers. Aggregates Official Registry, Glama, and Smithery.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceA central hub that aggregates multiple MCP resource servers into a single unified interface, enabling users to access tools and capabilities from multiple backend servers through one connection point.68 npm203MIT
- AlicenseBqualityDmaintenanceA hub server that connects to and manages other MCP servers, allowing users to bypass Cursor's 40-tool limit and reduce AI mistakes by hiding infrequently used tools.246 npm3MIT
- FlicenseNot gradedqualityNot gradedmaintenanceMCP Hub aggregates and proxies multiple Model Context Protocol servers into a unified Streamable HTTP interface. It allows users to combine diverse stdio, SSE, and HTTP-based servers while providing tool namespacing, health monitoring, and secure authentication.448 npm-
- AlicenseNot gradedqualityCmaintenanceMCP hub server that aggregates tools from multiple domain packages into a single globally-available interface.1MIT