mcpField
M
MCP-Hub MCP

MCP-Hub MCP

ローカル
github.com/warpdevAI・エージェント6147 週間前に更新

MCP-Hub MCP について

MCP-Hub MCP は、単一のインターフェースで複数の MCP サーバーに接続し、管理するハブサーバーです。多数の MCP サーバーを使うユーザーが、利用頻度の低いサーバーを必要な時だけ接続し、アクティブなツールの数を抑えるために使えます。

主な機能

  1. 01設定ファイルに基づく他の MCP サーバーへの自動接続
  2. 02接続済みサーバーのツール一覧の取得
  3. 03指定したサーバーのツールの呼び出しと結果の返却
  4. 04正規表現によるツール名と説明文の検索

活用シーン

  1. 01Atlassian MCP や Playwright MCP などの低頻度のサーバーを必要な時だけ接続
  2. 02複数のサーバーからパターンで関連ツールを探す
  3. 03統一された入口から filesystem などのサーバーのツールを呼び出す

MCP 対応

本プロジェクト自体が MCP サーバーであり、list-all-tools、call-tool、find-tools を MCP クライアントに公開します。内部では他の MCP サーバーへの接続と管理を行います。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"hub": {
"command": "npx",
"args": [
"-y",
"mcp-hub-mcp"
]
}
}
}
起動コマンドnpx -y mcp-hub-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmmcp-hub-mcp

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

README の画像

Install MCP Server

Install in VS Code

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 サーバーに自動接続します。 設定ファイルは、次の方法で指定できます。

  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"
    }
  }
}
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 feature
  • fix: resolve issue with server timeout
  • docs: update API documentation
  • chore: update dependencies

タイプ:

  • feat:新機能(MINOR バージョンの更新)
  • fix:バグ修正(PATCH バージョンの更新)
  • docs:ドキュメントのみの変更
  • style:コードの意味に影響しない変更
  • refactor:バグ修正や機能追加を伴わないコード変更
  • perf:パフォーマンスを改善するコード変更
  • test:不足しているテストの追加、または既存のテストの修正
  • chore:ビルドプロセスまたは補助ツールの変更

破壊的変更: MAJOR バージョンの更新を適用するには、コミットフッターに BREAKING CHANGE: を追加してください。

その他のリンク

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。