README
🚀 MCP 代理服务器
MCP 代理服务器是一个用于聚合和管理多个 MCP 客户端工具与功能的 HTTP 代理服务器。它支持多种传输类型,为每个客户端提供统一接口,极大地方便了 MCP 客户端的管理与使用。
🚀 快速开始
MCP 代理服务器是一个用于聚合和管理多个 MCP 客户端工具和功能的代理 HTTP 服务器。你可以按照以下步骤启动并使用它。
启动服务器
mcp-proxy -config=config.json
访问客户端
http://localhost:8080/clientName
✨ 主要特性
- 代理多个 MCP 客户端:允许同时运行和聚合多个 MCP 客户端的功能,提高管理效率。
- SSE 支持:通过 Server-Sent Events (SSE) 提供实时事件流支持,让数据实时更新。
- 灵活配置:支持多种传输类型(stdio、sse、streamable-http),并提供丰富的配置选项,满足不同场景需求。
📦 安装指南
从源码构建
# 克隆仓库
git clone https://github.com/yourusername/mcp-proxy.git
cd mcp-proxy
# 安装依赖
go mod tidy
# 构建并运行
go run main.go -config=config.json
使用 Go 安装
go install github.com/yourusername/mcp-proxy/cmd/mcp-proxy@latest
Docker 部署
# 创建 Dockerfile
FROM golang:1.20 AS builder
WORKDIR /app
COPY go.mod ./
RUN go mod tidy
COPY . .
RUN CGO=off GOOS=linux go build -o mcp-proxy ./main.go
FROM alpine:3.18
WORKDIR /app
COPY --from=builder /app/mcp-proxy .
CMD ["./mcp-proxy", "-config=/etc/config.json"]
# 构建镜像
docker build -t mcp-proxy .
# 运行容器
docker run -p 8080:8080 --restart unless-stopped -v /path/to/config:/etc/config.json mcp-proxy
📚 详细文档
配置文件结构
{
"mcpProxy": {
"baseURL": "https://mcp.example.com",
"addr": ":8080",
"name": "MCP Proxy Server",
"version": "1.0.0",
"options": {}
},
"clients": {
"clientName": {
"transportType": "stdio", // 可选:stdio, sse, streamable-http
"command": "your-mcp-client",
"args": [],
"env": {},
"options": {}
}
}
}
配置字段说明
| 属性 | 详情 |
|------|------|
| mcpProxy | |
| baseURL | 公共访问 URL,用于生成客户端 URL。 |
| addr | 服务器监听地址。 |
| name | 服务器名称。 |
| version | 服务器版本。 |
| options | 默认选项。 |
| clients | 每个客户端的配置包括传输类型和相关参数。 |
📄 许可证
本项目使用 MIT 许可证,详见 LICENSE 文件。
感谢
感谢以下项目和技术:
Scan to join WeChat group