mcp-proxy-server について
mcp-proxy-server は、複数のバックエンド MCP サーバーを接続するプロキシです。必須の設定 URL から JSON 定義を読み込み、任意で指定先にログを出力できます。
主な機能
- 01複数のバックエンド MCP サーバーへの接続
- 02URL からの JSON 設定読み込み
- 03ログファイルパスの任意指定
活用シーン
- 01設定済みバックエンドへの MCP クライアント接続の振り分け
- 02ホストされた JSON 設定によるバックエンド定義の管理
MCP 対応
MCP プロキシとして、設定に基づいてクライアントと複数のバックエンド MCP サーバーを接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-proxy-server
複数のバックエンド MCP サーバーへの接続を可能にする、Model Context Protocol(MCP)用のプロキシサーバーです。
はじめに
インストール
グローバルインストール
パッケージをグローバルにインストールします。
npm install -g @pyleeai/mcp-proxy-server
ライブラリとして
プロジェクトにインストールします。
npm install @pyleeai/mcp-proxy-server
使い方
グローバルにインストールした場合:
mcp-proxy-server
設定
MCP Proxy Server は、環境変数を使用して設定できます。
CONFIGURATION_URL="http://example.com/configuration"
LOG_PATH=./logs/mcp-proxy-server.log
環境変数
- CONFIGURATION_URL は必須です。
- LOG_PATH は任意です。
設定 JSON
CONFIGURATION_URL は、プロキシサーバーの設定を含む JSON を指します。次の構造にしてください。
{
"mcp": {
"servers": {
"fetch": {
"args": [
"mcp-server-fetch"
],
"command": "uvx"
},
"filesystem": {
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"."
],
"command": "npx"
}
}
}
}
コントリビューション
コントリビューションを歓迎します!このプロジェクトには、次の方法で貢献できます。
前提条件
- Bun v1.2.2 以降
セットアップ
- リポジトリをクローンします。
git clone https://github.com/your-username/mcp-proxy-server.git
cd mcp-proxy-server
- 依存関係をインストールします。
bun install
使い方
サーバーの実行
サーバーを起動します。
bun start
スクリプト
このプロジェクトには、開発に役立つ npm スクリプトがいくつか用意されています。
bun lint- Biome を使用してコードベースをリントしますbun format- Biome を使用してコードベースをフォーマットしますbun check- リントとフォーマットの両方をチェックしますbun typecheck- 出力を生成せずに TypeScript の型をチェックしますbun test- すべてのテストを実行しますbun start- 開発サーバーを起動しますbun build- プロジェクトをビルドしますbun inspector- MCP inspector ツールを実行します
コードスタイル
このプロジェクトでは、コードのフォーマットとリントに Biome を使用しています。次を実行して、コードがこれらの基準に従っていることを確認してください。
bun check
テスト
このプロジェクトでは、包括的なテストを行うために Bun 組み込みのテストランナーを使用しています。
テストの実行
# Run all tests
bun test
# Run tests with watch mode (auto-rerun on file changes)
bun test --watch
# Run tests with coverage reporting
bun test --coverage
テストの構成
テストスイートは test ディレクトリに整理されており、次のサブディレクトリがあります。
test/unit- 個々のコンポーネントのユニットテストtest/integration- 複数のコンポーネントを組み合わせた統合テスト
公開
Bun を使用して npm にパッケージを公開する手順は次のとおりです。
package.jsonのバージョンを更新します。
bun run npm version [patch|minor|major]
- パッケージをビルドします。
bun run build
- npm に公開します。
bun publish
npm の認証情報と適切なアクセス権が必要です。
リリースプロセス
このプロジェクトでは、リリースの作成と公開に GoReleaser を使用しています。
GoReleaser の設定
リリースプロセスは .goreleaser.yaml で定義されており、次の内容が含まれます。
- 複数のプラットフォーム(Linux、macOS、Windows)向けのビルド
- x64 と arm64 の両方のアーキテクチャへの対応
- 配布可能なアーカイブの作成
- 変更履歴の生成
- GitHub リリースの作成
リリースの作成
- 新しいバージョンにタグを付けます。
git tag -a v1.0.0 -m "Release v1.0.0"
- タグをプッシュします。
git push origin v1.0.0
- CI/CD パイプラインによって、次の処理が自動的に行われます。
- すべての対象プラットフォーム向けにビルド
- 配布用アーカイブの作成
- 変更履歴の生成
- GitHub でのリリース公開
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。