项目简介
MCPO Proxy 服务是一个基于 Python 开发的代理服务器,它本身不是一个完整的 MCP 服务器实现,而是一个位于 MCP 客户端和实际 MCP 服务器之间的中间层。其核心作用是接收 MCP 客户端的请求,并将这些请求转发到一个或多个配置好的后端 MCP 服务器进行处理。
该代理服务特别针对 'fetch' 服务进行了优化,可以作为客户端连接 MCP 服务器的统一入口,简化客户端的配置和管理,尤其是在需要连接多个后端 MCP 服务器的场景下非常有用。
请注意,此项目本身不提供资源管理、工具注册或 Prompt 模板渲染等 MCP 服务器的核心功能。这些功能需要由后端配置的实际 MCP 服务器提供。
主要功能点
- MCP 协议代理转发: 接收符合 MCP 协议的客户端请求,并转发到后端 MCP 服务器。
- 支持 fetch 服务请求: 专门针对 fetch 服务类型的 MCP 请求进行了优化。
- 可配置多个后端 MCP 服务器: 允许配置多个后端 MCP 服务器,方便管理和扩展。
- 健康检查接口: 提供健康检查接口,用于监控代理服务的运行状态。
安装步骤
由于项目提供 Docker Compose 部署方式,安装非常简单快捷:
-
克隆仓库:
git clone https://github.com/cr-zhichen/mcpo-proxy.git cd mcpo-proxy -
启动服务: 确保您已安装 Docker 和 Docker Compose。在项目根目录下执行:
docker-compose up -d服务将在宿主机的 '8000' 端口启动。
-
查看日志 (可选):
docker-compose logs -f
服务器配置
MCPO Proxy 本身不需要复杂的配置,其主要配置是指定它需要代理的 后端 MCP 服务器 信息。这些配置在 'config.json' 文件中进行。
'config.json' 配置说明 (重要!):
'config.json' 文件中 'mcpServers' 字段用于配置后端 MCP 服务器。您可以配置多个后端服务器,每个服务器需要指定一个名称(例如 'fetch'),以及启动该 MCP 服务器所需的命令和参数。
重要提示: 以下 'config.json' 示例中的 'command' 和 'args' 是用于启动后端 MCP 服务器的命令。 MCP 客户端不需要直接配置这些信息。 MCP 客户端只需要知道 MCPO Proxy 的地址 (例如: 'http://localhost:8000') 即可,因为客户端是直接连接到 MCPO Proxy,而不是后端 MCP 服务器。
{ "mcpServers": { "fetch": { // 后端 MCP 服务器的名称,可以自定义,例如 'resource-server', 'tool-server' 等 "command": "uvx", // 启动后端 MCP 服务器的可执行命令,例如 'python', 'node', 'uvx' 等 "args": [ // 启动后端 MCP 服务器的命令行参数,例如 ['mcp-server-fetch', '--port', '8080'] "mcp-server-fetch" ] } // 可以添加更多后端 MCP 服务器配置,例如: // "another-server": { // "command": "python", // "args": ["another_mcp_server.py"] // } } }
配置关键点总结:
- 'mcpServers' 字段是配置后端 MCP 服务器的核心。
- 每个后端服务器配置项需要一个名称 (例如 "fetch")。
- 'command' 指定启动后端 MCP 服务器的可执行命令。
- 'args' 是传递给 'command' 的命令行参数。
- MCP 客户端无需关心 'command' 和 'args',只需要连接 MCPO Proxy 的地址即可。
基本使用方法
-
启动 MCPO Proxy 服务 (已完成安装步骤).
-
配置并启动后端 MCP 服务器 (根据 'config.json' 中的配置,例如 'uvx mcp-server-fetch'). 请注意,此仓库本身不包含 'mcp-server-fetch' 的实现,您需要自行准备或替换为您自己的 MCP 服务器。
-
配置 MCP 客户端连接 MCPO Proxy: 在 MCP 客户端中,将服务器地址配置为 MCPO Proxy 的地址,例如 'http://localhost:8000'。 客户端发送的 MCP 请求将通过 MCPO Proxy 转发到后端配置的 MCP 服务器进行处理。
-
通过 MCP 客户端与后端 MCP 服务器交互: 客户端按照 MCP 协议发送请求 (例如资源读取、工具调用等) 给 MCPO Proxy,Proxy 会将请求转发到对应的后端 MCP 服务器,并将响应返回给客户端。
重要提示: MCPO Proxy 只是一个请求转发的代理,它本身不具备 MCP 服务器的核心功能。您需要确保配置的后端 MCP 服务器是真正实现了 MCP 协议并提供相应功能的服务器。
信息
分类
网页与API