mcpField
M
MCP Local Router

MCP Local Router

ローカル
github.com/kaichen開発ツール1957 週間前に更新

MCP Local Router について

MCP Local Router は、複数の上流 MCP サーバーに接続し、その機能を下流のクライアント向けに 1 つのインターフェースへまとめるローカルのアグリゲーションプロキシです。複数の MCP サーバーを単一の入口から管理したい開発者に向けたツールです。

主な機能

  1. 01コマンドライン引数による設定ファイルの指定
  2. 02複数の上流 MCP サーバーの設定
  3. 03stdio トランスポートと環境変数の注入
  4. 04集約型および上流ごとの SSE エンドポイント

活用シーン

  1. 01複数の MCP サーバーのツールを 1 つの入口から公開
  2. 02特定の上流サーバーのツールだけをクライアントに提供

MCP 対応

本プロジェクトは MCP プロキシとして動作し、複数の上流 MCP サーバーに接続して、集約したツールを下流の MCP クライアントに提供します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

MCP ローカルルーター

このプロジェクトは、MCP(Model Context Protocol)サーバーの集約プロキシとして機能する、MCP ローカルルーターです。複数の上流 MCP サーバーに接続し、その機能を単一のインターフェースに集約して、下流のクライアントに提供できます。

機能

  • コマンドライン引数で設定ファイルを指定できます
  • 複数の上流 MCP サーバーを設定できます
  • stdio トランスポートに対応しています
  • stdio トランスポートに環境変数を挿入できます
  • SSE トランスポートに対応しており、集約された /sse エンドポイントと上流サーバーごとの /sse/{serverName} エンドポイントを提供します

使用方法

実行方法

設定ファイルを指定して実行する必要があります:

cargo run -- --config mcp-config.json --transport sse
SSE ルーティング

ルーターを --transport sse で実行すると、次の 2 種類のエンドポイントが提供されます:

  • /sse は、設定されたすべての上流サーバーのツールを集約して配信します。
  • /sse/{serverName} は、単一の上流サーバーのツールのみを配信します。{serverName} の部分は、設定ファイルの mcpServers にあるキーと一致する必要があります(例:/sse/filesystem や /sse/workspace-search)。

サーバー名のキーはパスの一部として直接使用されるため、URL で使用できる形式にしてください。

各 SSE 接続では、クライアントが POST リクエストに使用する HTTP パスを含む初期 endpoint イベントが送信されます。すべてのストリーミングエンドポイントで、同じ POST /message?sessionId=… チャネルを共有します。

設定ファイルの形式

設定ファイルは JSON 形式です。以下に例を示します:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/username/Desktop"
      ],
      "env": {
        "LINEAR_ACCESS_TOKEN": "your_personal_access_token"
      }
    },
    "workspace-search": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-everything"
      ],
      "env": {}
    }
  }
}

説明:

  • mcpServers:複数のサーバー設定を格納するマッピング
    • 各キーはサーバー名です(ログ記録と /sse/{serverName} パスで使用されます)
    • 各値は、次のフィールドを含むオブジェクトです:
      • command:実行するコマンド
      • args:コマンド引数の配列
      • env:挿入する環境変数のマッピング

ビルドとインストール

# Build the project
cargo build --release

# Run
cargo run --release -- --config mcp-config.json --transport stdio

依存関係

  • Rust 2021 Edition
  • tokio 非同期ランタイム
  • MCP 関連ライブラリ:rmcp

コメント

MCP は初めてですか?

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

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