🚀 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!我们期待您的反馈和建议,以帮助我们不断改进和优化该项目。