MCP Proxy Server について
MCP Proxy Serverは複数のMCPリソースサーバーを一つのインターフェースに集約し、集中して利用したいクライアント向けに提供します。リソース、ツール、プロンプトの要求を振り分け、応答をまとめます。
主な機能
- 01複数のMCPサーバーへの接続と管理
- 02サーバー間のリソース集約
- 03リソースURI形式の統一
- 04ツール呼び出しとプロンプト要求の振り分け
- 05複数ソースの応答集約
活用シーン
- 01単一インターフェースから複数のMCPサーバーにアクセス
- 02要求を適切なバックエンドへ振り分け
- 03リソースとプロンプトの一元取得
MCP 対応
このMCPサーバーは複数のMCPリソースサーバーに接続し、リソース、ツール、プロンプトを統一インターフェースでMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP プロキシサーバー
複数の MCP リソースサーバーを集約し、単一のインターフェースを通じて提供する MCP プロキシサーバーです。このサーバーは、次のことができる中央ハブとして機能します。
- 複数の MCP リソースサーバーに接続し、管理する
- それらの機能を統合されたインターフェースを通じて公開する
- 適切なバックエンドサーバーへのリクエストのルーティングを処理する
- 複数のソースからのレスポンスを集約する
機能
リソース管理
- 複数の MCP リソースサーバーを検出して接続する
- 接続されているすべてのサーバーのリソースを集約する
- サーバー間で一貫した URI スキームを維持する
- リソースのルーティングと解決を処理する
ツールの集約
- 接続されているすべてのサーバーのツールを公開する
- ツール呼び出しを適切なバックエンドサーバーにルーティングする
- ツールの状態を維持し、レスポンスを処理する
プロンプトの処理
- 接続されているすべてのサーバーのプロンプトを集約する
- プロンプトリクエストを適切なバックエンドにルーティングする
- 複数サーバーからのプロンプトレスポンスを処理する
設定
このサーバーを接続する MCP サーバーを指定した JSON 設定ファイルが必要です。サンプル設定をコピーし、必要に応じて変更してください。
cp config.example.json config.json
設定ファイルの構成例:
{
"servers": [
{
"name": "Server 1",
"transport": {
"command": "/path/to/server1/build/index.js"
}
},
{
"name": "Server 2",
"transport": {
"command": "server2-command",
"args": ["--option1", "value1"],
"env": ["SECRET_API_KEY"]
}
},
{
"name": "Example Server 3",
"transport": {
"type": "sse",
"url": "http://localhost:8080/sse"
}
}
]
}
サーバーの実行時に設定ファイルを指定する必要があります。
MCP_CONFIG_PATH=./config.json mcp-proxy-server
開発
依存関係をインストールします。
npm install
サーバーをビルドします。
npm run build
自動再ビルドを有効にして開発する場合:
npm run watch
継続的に実行しながら開発する場合:
# Stdio
npm run dev
# SSE
npm run dev:sse
インストール
Claude Desktop で使用するには、サーバーの設定を追加します。
MacOS の場合:~/Library/Application Support/Claude/claude_desktop_config.json
Windows の場合:%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"mcp-proxy": {
"command": "/path/to/mcp-proxy-server/build/index.js",
"env": {
"MCP_CONFIG_PATH": "/absolute/path/to/your/config.json",
"KEEP_SERVER_OPEN": "1"
}
}
}
}
KEEP_SERVER_OPENは、クライアントが切断しても SSE を実行し続けます。複数のクライアントが MCP プロキシに接続する場合に便利です。
デバッグ
MCP サーバーは stdio を介して通信するため、デバッグが難しい場合があります。パッケージスクリプトとして利用できる MCP Inspector の使用をおすすめします。
npm run inspector
Inspector は、ブラウザーでデバッグツールにアクセスするための URL を表示します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。