Skip to main content
Glama

MCP-Hub-MCP サーバー

他の MCP (Model Context Protocol) サーバーに接続して管理するハブ サーバー。

概要

このプロジェクトは、他のMCPサーバーに接続し、ツールをリストアップして実行できるMCPハブサーバーを構築します。これは、Cursorの40ツールというMCP制限を回避するのに特に役立ちます。Cursor外でも、使用頻度の低いツールを非表示にすることでAIのミスを減らすのに役立ちます。

Related MCP server: MCP-Hub-MCP Server

主な特徴

  • 設定ファイルによる他のMCPサーバーへの自動接続

  • 接続されたサーバーで利用可能なツールを一覧表示する

  • 接続されたサーバー上のツールを呼び出し、結果を返す

構成

mcp.jsonに以下を追加します:

npxの使用

{
  "mcpServers": {
    "other-tools": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-hub-mcp",
        "--config-path",
        "/Users/username/mcp.json"
      ]
    }
  }
}

システムプロンプト(またはカーソルルール)

Before processing a user's request, you must use the "list_all_tools" command to identify which tools are available.

これにより、AI アシスタントは、ツールを使用する前に常に利用可能なツールを確認するようになります。

インストールと実行

要件

  • Node.js 18.0.0以上

  • npm、yarn、またはpnpm

インストール

# Clone repository
git clone <repository-url>
cd mcp-hub-mcp

# Install dependencies
npm install
# or
yarn install
# or
pnpm install

建てる

npm run build
# or
yarn build
# or
pnpm build

走る

npm start
# or
yarn start
# or
pnpm start

開発モード

npm run dev
# or
yarn dev
# or
pnpm dev

設定ファイル

MCP-Hub-MCPサーバーは、Claude Desktop形式の設定ファイルを使用して他のMCPサーバーに自動的に接続します。設定ファイルは、以下の方法で指定できます。

  1. 環境変数: MCP_CONFIG_PATH環境変数を設定ファイルのパスに設定します

  2. コマンドライン引数: --config-pathオプションを使用して設定ファイルのパスを指定します

  3. デフォルトパス: 現在のディレクトリのmcp-config.jsonファイルを使用します

設定ファイルの形式:

{
  "mcpServers": {
    "serverName1": {
      "command": "command",
      "args": ["arg1", "arg2", ...],
      "env": { "ENV_VAR1": "value1", ... }
    },
    "serverName2": {
      "command": "anotherCommand",
      "args": ["arg1", "arg2", ...]
    }
  }
}

例:

{
  "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"]
    }
  }
}

使用法

MCP-Hub-MCP サーバーは次のツールを提供します。

1. list-all-tools

接続されているすべてのサーバーからのツールのリストを返します。

{
  "name": "list-all-tools",
  "arguments": {}
}

2. call-tool

特定のサーバー上のツールを呼び出します。

  • serverName : ツールを呼び出すMCPサーバーの名前

  • toolName : 呼び出すツールの名前

  • toolArgs : ツールに渡す引数

{
  "name": "call-tool",
  "arguments": {
    "serverName": "filesystem",
    "toolName": "readFile",
    "toolArgs": {
      "path": "/Users/username/Desktop/example.txt"
    }
  }
}

コミットメッセージの規約

このプロジェクトは、自動バージョン管理と CHANGELOG 生成のためにConventional Commitsに従います。

形式: <type>(<scope>): <description>

例:

  • feat: add new hub connection feature

  • fix: resolve issue with server timeout

  • docs: update API documentation

  • chore: update dependencies

種類:

  • feat :新機能(マイナーバージョンアップ)

  • fix :バグ修正(PATCHバージョンのアップ)

  • docs : ドキュメントのみの変更

  • style : コードの意味に影響を与えない変更

  • refactor : バグを修正したり機能を追加したりしないコード変更

  • perf : パフォーマンスを向上させるコード変更

  • test : 不足しているテストを追加したり、既存のテストを修正したりする

  • chore : ビルドプロセスまたは補助ツールの変更

重大な変更: コミット フッターにBREAKING CHANGE:を追加して、メジャー バージョンをアップグレードします。

技術スタック

  • Node.js

  • タイプスクリプト

  • @modelcontextprotocol/sdk (バージョン: ^1.9.0)

  • ゾッド(バージョン: ^3.22.4)

ライセンス

マサチューセッツ工科大学

Available Tools

7 tools
call-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

ParametersJSON Schema
NameRequiredDescriptionDefault
toolArgsYesArguments to pass to the tool
toolNameYesName of the tool to call
serverNameYesName of the MCP server to call tool from

TDQS

A3.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternYesRegex pattern to search for in tool names and descriptions
searchInNoWhere to search: in tool names, descriptions, or bothboth
caseSensitiveNoWhether the search should be case-sensitive

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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)

ParametersJSON Schema
NameRequiredDescriptionDefault
patternYesRegex pattern to search for in tool names and descriptions
searchInNoWhere to search: in tool names, descriptions, or bothboth
serverNameYesName of the MCP server to search tools in
caseSensitiveNoWhether the search should be case-sensitive

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
toolNameYesExact name of the tool to retrieve
serverNameYesName of the MCP server containing the tool

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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)

ParametersJSON Schema
NameRequiredDescriptionDefault
serverNameYesName of the MCP server to list tools from

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

  1. 7 tool updatesv1.0.3
    • Addedcall-tool
    • Addedfind-tools
    • Addedfind-tools-in-server
    • Addedget-tool
    • Addedlist-all-tools
    • Addedlist-all-tools-in-server
    • Addedlist-servers
  2. 7 tool updatesv1.1.1
    • Removedcall-tool
    • Removedfind-tools
    • Removedfind-tools-in-server
    • Removedget-tool
    • Removedlist-all-tools
    • Removedlist-all-tools-in-server
    • Removedlist-servers
  3. 7 tool updatesv1.0.0
    • First observedcall-tool
    • First observedfind-tools
    • First observedfind-tools-in-server
    • First observedget-tool
    • First observedlist-all-tools
    • First observedlist-all-tools-in-server
    • First observedlist-servers

TDQS

A4/5.0

Scored across 7 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count5/5

Seven tools is well-scoped for a meta-server that manages other MCP servers. Each tool covers a distinct operation without redundancy or bloat.

Completeness5/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    A 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 npm
    203
    MIT
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    MCP 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
    -