🚀 MCP-Proxy 使用マニュアル
MCP-Proxyは、複数のプロトコルと高度な機能をサポートする強力なプロキシサーバーツールです。このドキュメントでは、MCP-Proxyの使用方法を詳細に説明します。
🚀 クイックスタート
インストール
以下のコマンドを使用して、mcp-proxy
ツールをインストールします。
python -m pip install --user mcpy
その後、mcpy
スクリプトを PATH
環境変数に追加して、ターミナルで直接使用できるようにします。
インストールの検証
インストールが完了したら、ターミナルで以下のコマンドを実行して、インストールが成功したことを確認します。
mcp-proxy --version
✨ 主な機能
- 複数のプロトコルをサポート:SSE(Server-Sent Events)とStdioモードをサポートします。
- 高度な機能:Docker統合、プロキシチェーン構成、高可用性構成などの高度な機能を提供します。
- 柔軟な構成:JSON構成ファイル、環境変数、コマンドラインオプションを使用して、柔軟に構成できます。
📦 インストール
コマンドラインによるインストール
pip install mcpy
構成ファイルの作成
mcp-config.ini
という名前の構成ファイルを作成し、以下の内容を追加します。
[proxy]
mode = sse
port = 8096
host = localhost
[target]
command = uvx mcp-server-fetch
args =
environment = true
💻 使用例
基本的な使用法
SSEモードでのプロキシの実行
- ローカルサーバーを起動します。
mcp-proxy --mode sse --port 8096 uvx mcp-server-fetch &> server.log &
- 別のターミナルウィンドウで、SSEサーバーに接続するためにプロキシを起動します。
mcp-proxy http://localhost:8096/sse
Ctrl+C
を押して、プロキシを停止します。
Stdioモードでのプロキシの実行
- ローカルサーバーを起動します。
mcp-proxy --mode stdio --port 8096 uvx mcp-server-fetch &> server.log &
- 別のターミナルウィンドウで、Stdioサーバーに接続するためにプロキシを起動します。
mcp-proxy http://localhost:8096/stdio
Ctrl+C
を押して、プロキシを停止します。
高度な使用法
Docker統合
Dockerイメージの作成
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["mcp-proxy"]
Dockerコンテナの実行
docker build -t mcp-proxy .
docker run -it mcp-proxy
プロキシチェーン構成
mcp-proxy --mode sse --port 8096 uvx mcp-server-fetch
mcp-proxy --mode sse --port 8096 "uvx mcp-server-fetch"
高可用性構成
mcp-proxy --mode sse --port 8096 --balance round-robin uvx1 mcp-server-fetch
mcp-proxy --mode sse --port 8097 --balance least-connections uvx2 mcp-server-fetch
mcp-proxy --mode sse --port 8096 --failover active-passive uvx1 mcp-server-fetch
📚 ドキュメント
構成説明
JSON構成ファイル形式
以下は、完全なMCP-Proxy構成ファイルの例です。
{
"proxy": {
"command": "mcp-proxy",
"args": [
"--mode",
"sse",
"--port",
"8096"
],
"passEnvironment": true
},
"fetch": {
"command": "uvx",
"args": [
"mcp-server-fetch"
]
}
}
環境変数構成
以下は、MCP-Proxyがサポートする環境変数のリストです。
環境変数名 |
説明 |
デフォルト値 |
MCP_PROXY_MODE |
プロキシモードを設定します。sse または stdio を選択できます。 |
sse |
MCP_PROXY_PORT |
プロキシサーバーのリスニングポートを設定します。 |
8096 |
MCP_PROXY_HOST |
プロキシサーバーのバインドアドレスを設定します。 |
127.0.0.1 |
MCP_PROXY_ARGS |
プロキシコマンドに渡す追加パラメータを設定します。スペースで区切ります。 |
空値 |
MCP_PASS_ENV |
すべての環境変数を子プロセスに渡すかどうかを設定します。 |
false |
コマンドライン構成
以下は、MCP-Proxyがサポートするコマンドラインオプションです。
usage: mcp-proxy [-h] [--mode {sse,stdio}] [--port PORT] [--host HOST]
[--pass-environment] [--debug] [command_or_url] [args ...]
Start the MCP proxy in one of two possible modes: as an SSE or stdio client.
optional arguments:
-h, --help ヘルプメッセージを表示して終了します。
--mode {sse,stdio} プロキシモードを設定します。`sse` または `stdio` を選択できます。
--port PORT プロキシサーバーのリスニングポートを設定します。
--host HOST プロキシサーバーのバインドアドレスを設定します。
--pass-environment すべての環境変数を子プロセスに渡すかどうかを設定します。
--debug デバッグモードを有効にします。
command_and_url:実行するコマンドまたはターゲットURL
args... コマンドに渡す追加パラメータ
コマンドラインオプション
以下は、MCP-Proxyがサポートする完全なコマンドラインオプションのリストです。
オプション |
説明 |
例 |
--help |
ヘルプメッセージを表示して終了します。 |
なし |
--version |
現在のバージョン番号を表示して終了します。 |
なし |
--mode {sse,stdio} |
プロキシモードを設定します。sse または stdio を選択できます。 |
sse |
--port PORT |
プロキシサーバーのリスニングポートを設定します。 |
8096 |
--host HOST |
プロキシサーバーのバインドアドレスを設定します。 |
localhost |
--pass-environment |
すべての環境変数を子プロセスに渡すかどうかを設定します。 |
true |
--debug |
デバッグモードを有効にします。 |
なし |
構成ファイル
以下は、MCP-Proxyがサポートする構成ファイルの形式です。
[proxy]
mode = sse
port = 8096
host = localhost
[target]
command = uvx mcp-server-fetch
args =
environment = true
環境変数
以下は、MCP-Proxyがサポートする環境変数のリストです。
変数名 |
説明 |
例 |
MCP_MODE |
プロキシモードを設定します。sse または stdio を選択できます。 |
sse |
MCP_PORT |
プロキシサーバーのリスニングポートを設定します。 |
8096 |
MCP_HOST |
プロキシサーバーのバインドアドレスを設定します。 |
localhost |
MCP_PASS_ENVIRONMENT |
すべての環境変数を子プロセスに渡すかどうかを設定します。 |
true |
🔧 技術詳細
APIゲートウェイの実装
以下は、MCP-Proxyを使用して簡単なAPIゲートウェイを実装するチュートリアルです。
- 依存関係をインストールします。
pip install mcpy requests
- ゲートウェイのロジックコード
gateway.py
を作成します。
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/api', methods=['GET'])
def handle_request():
headers = request.headers
params = request.args
response = requests.get(f"http://backend:8096/api", headers=headers, params=params)
return jsonify(response.json())
if __name__ == '__main__':
app.run(port=8095)
- ゲートウェイサービスを起動します。
python gateway.py
- MCP-Proxyをゲートウェイにプロキシするように構成します。
mcp-proxy --mode sse --port 8096 gateway:8095
- API呼び出しをテストします。
curl http://localhost:8096/api
📄 ライセンス
MCP-Proxyプロジェクトは、MITライセンスに従います。詳細については、LICENSE ファイルを参照してください。
コミュニティ
フォーラムとディスカッショングループ
- [GitHub 問題追跡]:https://github.com/your-org/mcp-proxy/issues
- [Reddit ディスカッションエリア]:https://www.reddit.com/r/mcpproxy/
- [Stack Overflow タグ]:mcp-proxy
貢献ガイド
- プロジェクトリポジトリをフォークします。
git clone https://github.com/your-org/mcp-proxy.git
cd mcp-proxy
- 機能ブランチを作成します。
git checkout -b feature/new-feature
- 変更をコミットします。
git add .
git commit -m "Add new feature"
git push origin feature/new-feature
- メインリポジトリにPull Requestを送信します。
開発チーム
連絡先
作者情報
- 名前:John Doe
- メール:john.doe@example.com
- GitHub:https://github.com/johndoe
サポートとフィードバック
何か質問や提案がある場合は、以下の方法でお問い合わせください。
MCP-Proxyを選んでいただき、ありがとうございます! フィードバックや提案をいただけると、このプロジェクトをさらに改善して最適化するのに役立ちます。