MCP-Hub MCP について
MCP-Hub MCP は、単一のインターフェースで複数の MCP サーバーに接続し、管理するハブサーバーです。多数の MCP サーバーを使うユーザーが、利用頻度の低いサーバーを必要な時だけ接続し、アクティブなツールの数を抑えるために使えます。
主な機能
- 01設定ファイルに基づく他の MCP サーバーへの自動接続
- 02接続済みサーバーのツール一覧の取得
- 03指定したサーバーのツールの呼び出しと結果の返却
- 04正規表現によるツール名と説明文の検索
活用シーン
- 01Atlassian MCP や Playwright MCP などの低頻度のサーバーを必要な時だけ接続
- 02複数のサーバーからパターンで関連ツールを探す
- 03統一された入口から filesystem などのサーバーのツールを呼び出す
MCP 対応
本プロジェクト自体が MCP サーバーであり、list-all-tools、call-tool、find-tools を MCP クライアントに公開します。内部では他の MCP サーバーへの接続と管理を行います。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP-Hub-MCP サーバー
他の MCP(Model Context Protocol)サーバーに接続し、管理するハブサーバーです。
概要
このプロジェクトは、単一のインターフェースを通じて複数の MCP(Model Context Protocol)サーバーに接続し、管理する MCP ハブサーバーを構築します。 使用頻度の低い MCP(例:Atlassian MCP、Playwright MCP)には必要なときだけ接続できるため、過剰なコンテキストの使用や、コンテキストが不要な情報で埋まることを防ぎます。 アクティブなツールセットを重点的かつ管理しやすい状態に保つことで、AI の誤りを減らし、パフォーマンスを向上させます。
主な機能
- 設定ファイルを使用した、他の MCP サーバーへの自動接続
- 接続済みサーバーで利用可能なツールの一覧表示
- 接続済みサーバーのツールを呼び出し、結果を返す
設定
以下を mcp.json に追加してください。
npx を使用する場合
{
"mcpServers": {
"other-tools": {
"command": "npx",
"args": [
"-y",
"mcp-hub-mcp",
"--config-path",
"/Users/username/mcp.json"
]
}
}
}
インストールと実行
要件
- 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 サーバーに自動接続します。 設定ファイルは、次の方法で指定できます。
- 環境変数:
MCP_CONFIG_PATH環境変数に設定ファイルのパスを設定します - コマンドライン引数:
--config-pathオプションを使用して設定ファイルのパスを指定します - デフォルトのパス:現在のディレクトリにある
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"
}
}
}
3. find-tools
すべての接続済みサーバーを対象に、正規表現パターンに一致するツールを検索します(grep のような機能です)。
pattern:ツール名と説明を検索する正規表現パターンsearchIn:検索対象:"name"、"description"、または "both"(デフォルト:"both")caseSensitive:大文字と小文字を区別して検索するかどうか(デフォルト:false)
{
"name": "find-tools",
"arguments": {
"pattern": "file",
"searchIn": "both",
"caseSensitive": false
}
}
パターンの例:
"file"- "file" を含むすべてのツールを検索します"^read"- "read" で始まるすべてのツールを検索します"(read|write).*file"- ファイルの読み取りまたは書き込みを行うツールを検索します"config$"- "config" で終わるツールを検索します
出力例:
{
"filesystem": [
{
"name": "readFile",
"description": "Read the contents of a file",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Path to the file to read"
}
},
"required": ["path"]
}
},
{
"name": "writeFile",
"description": "Write content to a file",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Path to the file to write"
},
"content": {
"type": "string",
"description": "Content to write to the file"
}
},
"required": ["path", "content"]
}
}
]
}
コミットメッセージの規約
このプロジェクトでは、自動バージョン管理と CHANGELOG の生成に Conventional Commits を採用しています。
形式:<type>(<scope>): <description>
例:
feat: add new hub connection featurefix: resolve issue with server timeoutdocs: update API documentationchore: update dependencies
タイプ:
feat:新機能(MINOR バージョンの更新)fix:バグ修正(PATCH バージョンの更新)docs:ドキュメントのみの変更style:コードの意味に影響しない変更refactor:バグ修正や機能追加を伴わないコード変更perf:パフォーマンスを改善するコード変更test:不足しているテストの追加、または既存のテストの修正chore:ビルドプロセスまたは補助ツールの変更
破壊的変更:
MAJOR バージョンの更新を適用するには、コミットフッターに BREAKING CHANGE: を追加してください。
その他のリンク
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。