Back to MCP directory
publicPublicdnsLocal runtime

mcp-proxy-server-if6

MCP代理服务器是一个聚合多个MCP资源服务器并通过单一HTTP接口提供服务的工具,支持实时更新和灵活配置。

article

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 文件。

感谢

感谢以下项目和技术:

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client