docker/mcp-gatewayMCP Gateway 是一款为代理(Agents)设计的 MCP(Modular Component Protocol)网关服务,作为 MCP 服务与代理之间的中间层,负责处理连接管理、协议转换、配置与密钥管理等核心功能,支持多场景下的 MCP 服务代理与集成。
.env 文件)管理服务配置及敏感密钥。static 模式,通过 Docker Compose 实现静态部署。通过 docker run 命令直接在容器中运行 MCP Gateway:
bash# 基础容器部署(无额外配置,参考 examples/container) docker run -d --name mcp-gateway docker/mcp-gateway:latest
参考 minimal-compose 示例,仅部署单个 MCP Server,不包含额外配置:
yaml# docker-compose.yml version: '3.8' services: mcp-gateway: image: docker/mcp-gateway:latest ports: - "8080:8080" # 默认端口映射
启动命令:
bashdocker-compose up -d
参考 config 和 secrets 示例,通过配置文件和 .env 管理密钥:
yaml# docker-compose.yml version: '3.8' services: mcp-gateway: image: docker/mcp-gateway:latest ports: - "8080:8080" volumes: - ./config:/app/config # 挂载配置文件目录 env_file: - .env # 加载密钥环境变量
创建 .env 文件存储密钥:
env# .env MCP_SECRET_KEY=your-secret-key-here MCP_SERVER_URL=[***] # MCP 服务器地址
启动命令:
bashdocker-compose up -d
| 环境变量名 | 描述 | 示例值 |
|---|---|---|
MCP_SERVER_URL | 远程 MCP 服务器地址(远程代理场景) | [***] |
MCP_SECRET_KEY | 服务认证密钥(通过 .env 文件注入) | your-secure-secret |
GATEWAY_MODE | 网关运行模式(如 static 实验模式) | static |
HEALTH_CHECK_PORT | 健康检查端口 | 8081 |
配置文件通常挂载至容器内 /app/config 目录,支持 JSON/YAML 格式,用于定义拦截器规则、服务路由等高级配置(具体格式参考 interceptors 示例)。
| 示例名称 | 用途说明 |
|---|---|
| container | 在独立容器中运行 MCP Gateway。 |
| minimal-compose | 最简 Docker Compose 配置,仅部署单个无配置的 MCP Server。 |
| config | 带配置文件和密钥的 MCP Server 部署。 |
| client | Python 客户端通过 HTTP 流传输连接 MCP Gateway。 |
| secrets | 通过 .env 文件管理密钥的 MCP Server 部署。 |
| remote_mcp | 将网关作为代理,连接远程 MCP 服务器。 |
| mcp_toolkit | 连接 MCP Toolkit,由其自动处理配置与密钥管理。 |
| postgresql | 通过 MCP Gateway 代理 PostgreSQL MCP Server,实现 Python 客户端查询数据库。 |
| docker-in-docker | 在 Docker-in-Docker 容器中同时运行 MCP Gateway 和 MCP Server。 |
| interceptors | 配置工具调用(Tool Calls)拦截器,实现请求过滤或自定义处理。 |
| health | 集成 Docker Compose 健康检查功能。 |
| compose-static | 实验性:通过 Docker Compose 以 static 模式运行 MCP Gateway。 |
examples 目录下各场景具体配置及说明。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务