mcpField
M
MCP Server Proxy

MCP Server Proxy

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

MCP Server Proxy について

MCP Server Proxyは複数のMCPサーバーに接続し、そのツールを統一インターフェースで提供します。名前付き設定プロファイル、サーバー名によるツール名の接頭辞付け、stdioまたはSSEでの実行に対応します。

主な機能

  1. 01複数のMCPサーバーへの接続
  2. 02設定プロファイルの管理
  3. 03サーバー名をツール名に付加
  4. 04stdioまたはSSEモードで実行
  5. 05SSEのホストとポートを設定

活用シーン

  1. 01複数のMCPサーバーのツールを集約
  2. 02開発用と個人用の設定を切り替え
  3. 03集約したツールをSSEで公開
  4. 04サーバーごとに同名ツールを区別

MCP 対応

複数のMCPサーバーに接続し、ツールを統一されたMCPインターフェースで公開します。stdioまたはSSEで動作し、プロファイルごとにサーバー設定を選択できます。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

MCP サーバープロキシ

複数の MCP サーバーに接続し、ツールにアクセスするための統一インターフェースを提供するプロキシサーバーです。

特長

  • 複数の MCP サーバーに同時に接続
  • 複数の設定プロファイルに対応
  • サーバー名を使用したツール名のプレフィックス付け
  • stdio モードまたは SSE モードで実行
  • プロファイルベースの設定管理

設定

各プロファイル用の設定ファイルを config.<profile>.json という形式で作成します。例:

// config.developer.json
{
  "mcpServers": {
    "kubernetes": {
      "command": "npx",
      "args": ["mcp-server-kubernetes"]
    }
  }
}
// config.personal.json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/mirilale/Desktop"
      ]
    }
  }
}

インストール

npm install

使用方法

コマンドラインオプション

サーバーは、次の各種コマンドラインオプションを指定して起動できます。

# Start with default settings
node dist/server.js

# Start with a specific profile
node dist/server.js --profile developer
# or
node dist/server.js -p developer

# Start in SSE mode
node dist/server.js --mode sse
# or
node dist/server.js -m sse

# Start in SSE mode with custom port and host
node dist/server.js --mode sse --port 8080 --host 0.0.0.0

# Combine options
node dist/server.js --profile developer --mode sse --port 8080

利用可能なオプション:

  • -p, --profile <name>:使用するプロファイルを指定します(デフォルトは「default」です)
  • -m, --mode <mode>:「stdio」モードまたは「sse」モードを選択します(デフォルトは「stdio」です)
  • --port <number>:SSE モードのポートを設定します(デフォルトは 3000 です)
  • --host <host>:SSE モードのホストを設定します(デフォルトは「localhost」です)

ヘルプを表示します:

node dist/server.js --help
ツールの命名規則

ツール名にはサーバー名がプレフィックスとして付与されます。例:

  • filesystem サーバーの read_file というツールは filesystem_read_file になります
  • kubernetes サーバーの get_pods というツールは kubernetes_get_pods になります
SSE モードのエンドポイント

SSE モードで実行すると、サーバーは次のエンドポイントを公開します。

  • GET /sse:SSE 接続を確立します
  • POST /messages:ツールリクエストを処理します(sessionId クエリパラメーターが必要です)

SSE クライアントの使用例:

const eventSource = new EventSource("http://localhost:3000/sse");
eventSource.onmessage = (event) => {
  console.log("Received:", event.data);
};

エラー処理

サーバーは、次のような詳細なエラーメッセージを提供します。

  • プロファイルの読み込みエラー
  • サーバーへの接続失敗
  • ツールが見つからないエラー
  • サーバーの切断エラー

すべてのエラーには、状況を把握しやすいよう現在のプロファイル名が含まれます。

開発

# Install dependencies
npm install

# Build the project
npm run build

# Run in development mode
npm run dev:stdio:developer
# or
npm run dev:sse:developer
# Run with mpc inspector
npm run inspect

ライセンス

MIT

コメント

MCP は初めてですか?

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

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