🚀 MCP-Proxy 使用手冊
MCP-Proxy 是一款功能強大的代理服務器工具,支持多種協議和高級功能,能有效解決網絡代理相關問題,為用戶提供便捷的代理服務。
🚀 快速開始
安裝 MCP-Proxy
您可以從 GitHub 下載 MCP-Proxy 或通過以下命令安裝:
pip install mcpy
安裝完成後,將 mcpy
腳本添加到您的 PATH 環境變量中,以便在終端中直接使用。
驗證安裝
在終端運行以下命令驗證是否安裝成功:
mcp-proxy --version
基本使用
啟動代理服務器:
mcp-proxy --mode sse --port 8096 uvx mcp-server-fetch
✨ 主要特性
- 多模式支持:支持 SSE 和 Stdio 兩種代理模式。
- 高級功能豐富:具備 Docker 集成、代理鏈配置、高可用性配置等高級功能。
- 靈活配置:支持通過 JSON 配置文件、環境變量和命令行進行靈活配置。
📦 安裝指南
安裝命令
通過以下命令安裝 mcp-proxy 工具:
python -m pip install --user mcpy
環境變量配置
將 mcpy
腳本添加到您的 PATH 環境變量中,以便在終端中直接使用。
驗證安裝
安裝完成後,在終端運行以下命令驗證是否安裝成功:
mcp-proxy --version
💻 使用示例
基礎用法
通過 SSE 模式運行代理
若要通過 SSE(Server-Sent Events)模式運行 mcp-proxy,請按照以下步驟操作:
- 啟動一個本地服務器:
mcp-proxy --mode sse --port 8096 uvx mcp-server-fetch &> server.log &
- 在另一個終端窗口中,啟動代理以連接到 SSE 服務器:
mcp-proxy http://localhost:8096/sse
- 按下
Ctrl+C
組合鍵停止代理。
通過 Stdio 模式運行代理
若要通過 Stdio 模式運行 mcp-proxy,請按照以下步驟操作:
- 啟動一個本地服務器:
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 |
🔧 技術細節
使用 MCP-Proxy 實現 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
貢獻指南
- Fork 項目倉庫:
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!我們期待您的反饋和建議,以幫助我們不斷改進和優化該項目。