
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
MCP Gateway for Agents 是 MCP(管理控制平面,Management and Control Plane)的核心组件,作为代理节点(Agents)与控制平面之间的通信枢纽,负责桥接代理节点与后端控制平面的数据流、协议转换及安全管控。其核心定位是解决大规模分布式环境下代理节点的统一接入、数据路由与通信安全问题。
bashdocker run -d \ --name mcp-gateway \ --restart always \ -p 8080:8080/tcp \ # HTTP/gRPC 协议端口 -p 1883:1883/tcp \ # MQTT 协议端口(可选) -e LISTEN_HTTP_PORT=8080 \ -e LISTEN_MQTT_PORT=1883 \ -e AUTH_MODE=jwt \ -e JWT_SECRET=your_jwt_secret_key \ -e CONTROL_PLANE_ENDPOINTS="https://control-plane-1:443,https://control-plane-2:443" \ -e LOG_LEVEL=info \ -v /host/path/logs:/app/logs \ # 挂载日志目录 mcp-gateway:latest
yamlversion: '3.8' services: mcp-gateway: image: mcp-gateway:latest container_name: mcp-gateway restart: always ports: - "8080:8080" # HTTP/gRPC 端口 - "1883:1883" # MQTT 端口 - "9090:9090" # 监控指标端口 environment: - LISTEN_HTTP_PORT=8080 - LISTEN_MQTT_PORT=1883 - LISTEN_METRICS_PORT=9090 - AUTH_MODE=cert - CERT_PATH=/etc/gateway/certs - CONTROL_PLANE_ENDPOINTS="https://control-plane:443" - LOG_LEVEL=info - MAX_CONCURRENT_CONNECTIONS=10000 - CONNECTION_IDLE_TIMEOUT=300s volumes: - ./certs:/etc/gateway/certs:ro # 挂载认证证书(只读) - ./logs:/app/logs # 挂载日志目录 - ./config.yaml:/app/config.yaml:ro # 挂载自定义配置文件(可选) networks: - mcp-network networks: mcp-network: driver: bridge
| 环境变量名 | 描述 | 默认值 | 取值范围 |
|---|---|---|---|
LISTEN_HTTP_PORT | HTTP/gRPC 协议监听端口 | 8080 | 1-65535 |
LISTEN_MQTT_PORT | MQTT 协议监听端口(0 表示禁用) | 1883 | 0, 1-65535 |
LISTEN_METRICS_PORT | 监控指标(Prometheus)端口 | 9090 | 1-65535 |
AUTH_MODE | 认证模式 | "none" | "none", "jwt", "api_key", "cert" |
JWT_SECRET | JWT 认证密钥(AUTH_MODE=jwt 时必填) | - | 字符串(建议长度 ≥ 32) |
API_KEY | API Key 认证密钥(AUTH_MODE=api_key 时必填) | - | 字符串(建议长度 ≥ 16) |
CERT_PATH | TLS 证书目录(AUTH_MODE=cert 时必填) | "/etc/gateway/certs" | 容器内绝对路径 |
CONTROL_PLANE_ENDPOINTS | 后端控制平面服务地址(逗号分隔) | - | 格式:scheme://host:port |
LOG_LEVEL | 日志级别 | "info" | "debug", "info", "warn", "error" |
MAX_CONCURRENT_CONNECTIONS | 最大并发连接数 | *** | 1000-*** |
CONNECTION_IDLE_TIMEOUT | 连接空闲超时时间 | "300s" | 格式:数字+s/m/h(如 "60s") |
若需更复杂配置(如路由规则、高级认证策略),可通过挂载配置文件(默认路径 /app/config.yaml)实现。示例配置:
yaml# /app/config.yaml 示例 listen: http: port: 8080 read_timeout: 30s write_timeout: 30s mqtt: port: 1883 max_packet_size: 1MB keepalive_interval: 60s auth: mode: cert cert: ca_cert: /etc/gateway/certs/ca.crt server_cert: /etc/gateway/certs/server.crt server_key: /etc/gateway/certs/server.key client_auth: required # 强制客户端证书认证 routes: - protocol: grpc match: service: "agent.ControlPlane" method: "ReportStatus" backend: endpoints: ["https://control-plane-1:443", "https://control-plane-2:443"] load_balance: round_robin # 轮询负载均衡 logging: level: info format: json output: /app/logs/gateway.log max_size: 100MB # 单日志文件大小 max_backup: 10 # 日志文件保留数量 metrics: path: /metrics scrape_interval: 10s
对于大规模部署,建议通过 Docker Compose 或 Kubernetes 实现集群化部署,示例 Kubernetes Deployment 片段:
yamlapiVersion: apps/v1 kind: Deployment metadata: name: mcp-gateway spec: replicas: 3 # 3实例集群 selector: matchLabels: app: mcp-gateway template: metadata: labels: app: mcp-gateway spec: containers: - name: mcp-gateway image: mcp-gateway:latest ports: - containerPort: 8080 env: - name: AUTH_MODE value: "jwt" - name: JWT_SECRET valueFrom: secretKeyRef: name: mcp-gateway-secrets key: jwt-secret - name: CONTROL_PLANE_ENDPOINTS value: "https://control-plane.default.svc.cluster.local:443" livenessProbe: httpGet: path: /health/live port: 8080 initialDelaySeconds: 10 periodSeconds: 5 readinessProbe: httpGet: path: /health/ready port: 8080 initialDelaySeconds: 5 periodSeconds: 3
http://<gateway-ip>:8080/health/live,返回 200 OK 表示服务存活http://<gateway-ip>:8080/health/ready,返回 200 OK 表示服务可接收请求http://<gateway-ip>:9090/metrics 获取 Prometheus 格式指标,关键指标包括:
mcp_gateway_connections_total:总连接数mcp_gateway_data_throughput_bytes:数据吞吐量(字节)mcp_gateway_request_latency_ms:请求处理延迟(毫秒)mcp_gateway_errors_total:错误总数(按类型统计)注:具体功能与配置参数可能因镜像版本不同存在差异,建议结合官方镜像标签(如 mcp-gateway:v1.2.0)的版本说明文档使用。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务