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 消息类型
- 模块按配置文件中声明的顺序被调用
反馈
这是一个实验性项目,欢迎加入讨论提供反馈。
注:此项目仍在开发中,某些功能可能尚未实现或有所变更。