Foreword

Foreword

MCP客户端和MCP服务器之间的代理

MCProxy 是一个 MCP(模型上下文协议)客户端和服务器之间的代理,允许在工作流中添加新功能。

基本概念

MCProxy 充当中间层:

  • 对 MCP 客户端表现为服务器
  • 对 MCP 服务器表现为客户端
  • 可以连接到多个服务器或串联使用
MCP客户端 <--MCP--> MCProxy <--MCP--> MCP服务器

安装

# 安装方法待定

基本配置

MCProxy 使用与 MCP 文档相同的配置文件格式:

{
  "servers": [
    {
      "name": "example-server",
      "url": "http://localhost:8000"
    }
  ],
  "mcproxy": {
    "log_level": "info",
    "features": ["logging", "aggregation"]
  }
}

核心功能

MCProxy 提供以下主要功能:

  • 日志记录:记录所有 MCP 通信
  • 功能聚合:将多个服务器的功能组合在一起
  • 功能阻止:限制暴露的功能子集
  • 功能消歧:避免命名冲突
  • 内容更新:过滤或丰富文本内容
  • 实时国际化:翻译相关字段

使用示例

连接多个服务器

# 配置文件示例
{
  "servers": [
    {"name": "server-a", "url": "http://localhost:8000"},
    {"name": "server-b", "url": "http://localhost:8001"}
  ]
}

启用日志记录

# 配置文件示例
{
  "mcproxy": {
    "logging": {
      "enabled": true,
      "path": "./logs/",
      "level": "debug"
    }
  }
}

扩展功能

MCProxy 支持通过外部模块扩展功能:

  • 模块可以本地托管或远程托管
  • 模块声明它们感兴趣的 MCP 消息类型
  • 模块按配置文件中声明的顺序被调用

反馈

这是一个实验性项目,欢迎加入讨论提供反馈。


注:此项目仍在开发中,某些功能可能尚未实现或有所变更。