
Foreword

2024.12.09
2
代理服务MCP 扩展其它
MCProxy 是一个实验性的代理服务,位于 MCP(Model Context Protocol)客户端和服务器之间,旨在提供两者之间工作流的新功能。它充当 MCP 服务器和客户端之间的中介,允许功能聚合、日志记录、能力屏蔽、内容更新等。MCProxy 提供了构建此类代理架构的基本模块,并支持通过插件模块扩展功能。
View on GitHub
Overview
基本能力
产品定位
MCProxy 是一个 MCP(Model Context Protocol)的代理服务,旨在增强 MCP 客户端和服务器之间的交互功能。
核心功能
- 日志记录:记录 MCP 客户端和服务器之间的所有消息。
- 能力聚合:将来自不同 MCP 服务器的能力聚合为一个有意义的包。
- 能力屏蔽:仅暴露 MCP 服务器提供的部分能力。
- 能力消歧:重命名能力以避免名称冲突,并处理路由到适当的 MCP 服务器。
- 内容更新:在通过 MCProxy 时过滤或丰富文本内容。
- 即时国际化(i18n):通过翻译 API 或 LLM 即时翻译某些字段。
适用场景
- 多服务器管理:当需要同时连接多个 MCP 服务器时,MCProxy 可以统一管理这些连接。
- 功能扩展:通过插件模块扩展 MCP 的功能。
- 日志与监控:记录和分析 MCP 客户端和服务器之间的交互。
- 内容处理:对通过代理的内容进行过滤或增强。
工具列表
- Server manager:处理与 MCP 客户端的通信。
- Clients manager:维护连接的 MCP 服务器列表并处理与它们的通信。
- Dispatcher:核心组件,负责消息转发、应用内部功能以及调用外部模块。
- Modules manager:管理外部模块列表并与它们交互。
常见问题解答
- MCProxy 的稳定性:目前处于实验阶段,可能不稳定。
- 配置问题:使用与 MCP 相同的配置文件格式,但需要额外配置 MCProxy 本身和模块。
- 模块开发:外部模块可以独立开发并通过插件机制集成到 MCProxy 中。
使用教程
使用依赖
MCProxy 使用与 MCP 相同的配置文件格式,具体依赖未明确说明,但需要支持 MCP 协议的环境。
安装教程
- 克隆 MCProxy 仓库:
bash git clone https://github.com/LaurentAjdnik/mcproxy.git
- 进入项目目录:
bash cd mcproxy
- 安装依赖(假设使用 npm):
bash npm install
- 启动 MCProxy:
bash npm start
调试方式
- 查看日志文件以确认 MCProxy 是否正常运行。
- 使用 MCP 客户端连接 MCProxy 并测试功能。
- 检查配置文件中指定的模块是否加载成功。