Foreword

Foreword

site icon
2024.12.09 2
代理服务MCP 扩展其它
MCProxy 是一个实验性的代理服务,位于 MCP(Model Context Protocol)客户端和服务器之间,旨在提供两者之间工作流的新功能。它充当 MCP 服务器和客户端之间的中介,允许功能聚合、日志记录、能力屏蔽、内容更新等。MCProxy 提供了构建此类代理架构的基本模块,并支持通过插件模块扩展功能。
View on GitHub

Overview

基本能力

产品定位

MCProxy 是一个 MCP(Model Context Protocol)的代理服务,旨在增强 MCP 客户端和服务器之间的交互功能。

核心功能

  1. 日志记录:记录 MCP 客户端和服务器之间的所有消息。
  2. 能力聚合:将来自不同 MCP 服务器的能力聚合为一个有意义的包。
  3. 能力屏蔽:仅暴露 MCP 服务器提供的部分能力。
  4. 能力消歧:重命名能力以避免名称冲突,并处理路由到适当的 MCP 服务器。
  5. 内容更新:在通过 MCProxy 时过滤或丰富文本内容。
  6. 即时国际化(i18n):通过翻译 API 或 LLM 即时翻译某些字段。

适用场景

  1. 多服务器管理:当需要同时连接多个 MCP 服务器时,MCProxy 可以统一管理这些连接。
  2. 功能扩展:通过插件模块扩展 MCP 的功能。
  3. 日志与监控:记录和分析 MCP 客户端和服务器之间的交互。
  4. 内容处理:对通过代理的内容进行过滤或增强。

工具列表

  1. Server manager:处理与 MCP 客户端的通信。
  2. Clients manager:维护连接的 MCP 服务器列表并处理与它们的通信。
  3. Dispatcher:核心组件,负责消息转发、应用内部功能以及调用外部模块。
  4. Modules manager:管理外部模块列表并与它们交互。

常见问题解答

  1. MCProxy 的稳定性:目前处于实验阶段,可能不稳定。
  2. 配置问题:使用与 MCP 相同的配置文件格式,但需要额外配置 MCProxy 本身和模块。
  3. 模块开发:外部模块可以独立开发并通过插件机制集成到 MCProxy 中。

使用教程

使用依赖

MCProxy 使用与 MCP 相同的配置文件格式,具体依赖未明确说明,但需要支持 MCP 协议的环境。

安装教程

  1. 克隆 MCProxy 仓库: bash git clone https://github.com/LaurentAjdnik/mcproxy.git
  2. 进入项目目录: bash cd mcproxy
  3. 安装依赖(假设使用 npm): bash npm install
  4. 启动 MCProxy: bash npm start

调试方式

  1. 查看日志文件以确认 MCProxy 是否正常运行。
  2. 使用 MCP 客户端连接 MCProxy 并测试功能。
  3. 检查配置文件中指定的模块是否加载成功。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。