ContextForge 网关

将 MCP、A2A 与 REST/gRPC 服务统一为可治理的 AI 工具与代理入口。

Star 数
★ 4.8k
最近更新
今天
License
Apache-2.0
主语言
Python

30 秒速览

运行形态
自托管服务命令行工具MCP 服务器
可在哪里用
通用 · 跨平台Claude.ai · OpenAI API · Claude API
费用
免费,无需付费服务
上手难度
中 · 需要几步配置
开始前需要
Python 3.11DockerShell / 命令行网络访问本地文件系统MCP Server
典型场景
平台工程团队需要把多个内部 MCP 服务集中到一个带认证、发现和可观测性的入口时。
不适合
  • 需要开箱即用、不想配置密钥和数据库的团队
  • Apple Silicon 上必须原生运行生产容器的用户
  • 只想用托管云服务、不愿自行部署运维的团队

这个 Agent 能做什么,适合哪些场景?

ContextForge 是 IBM 提供的开源注册表与代理网关,用于联合 MCP 服务器、A2A 服务器以及 REST/gRPC API。核心 FastAPI 应用位于 mcpgateway/,提供路由、中间件、服务层,以及 SSE、WebSocket、stdio 和 streamable HTTP 等传输方式。它可将 REST 和经反射发现的 gRPC 服务虚拟化为 MCP 工具,并把已注册工具组合成虚拟 MCP 服务器。网关提供认证、重试、限流、集中发现和 OpenTelemetry 可观测性,支持 Phoenix、Jaeger、Zipkin 及其他 OTLP 后端。它可通过 PyPI、容器、Docker Compose 或 Helm 部署;完整容器栈使用 PostgreSQL、Redis、Nginx 和多个网关副本。

管理员可向 POST /gateways 注册 MCP 服务地址,再从 GET /tools 读取工具目录,并通过 POST /servers 创建包含 associated_tools 的虚拟服务器。客户端随后连接 /servers/UUID_OF_SERVER_1/mcp,以 streamable HTTP 使用该虚拟服务器。mcpgateway.translate 可运行 stdio 命令,例如 uvx mcp-server-git,并同时暴露 /sse 和 /mcp 端点;它还支持通过服务反射发现 gRPC 服务并转换为 MCP。运行时可执行认证、重试、限流和反向代理,并通过 OpenTelemetry 输出网关、工具、提示词和资源操作的追踪数据。mcpgateway.wrapper 则使用 MCP_AUTH 和 MCP_SERVER_URL,将远程网关连接包装成供 stdio MCP 客户端使用的进程。

  1. 平台工程团队需要把多个内部 MCP 服务集中到一个带认证、发现和可观测性的入口时。
  2. 拥有既有 REST API 的后端团队需要以 MCP 工具形式提供 API,而不重写原服务时。
  3. 使用 gRPC 服务的团队希望借助服务器反射自动发现服务和方法,并向 MCP 客户端暴露它们时。
  4. 同时使用 OpenAI、Anthropic 或自定义外部代理的团队需要通过 A2A 和统一网关路由代理调用时。
  5. 在 Kubernetes 多集群环境部署工具基础设施,并需要 Redis 缓存与联邦能力时。
  6. 需要让仅支持 stdio 的 MCP 客户端通过 mcpgateway.wrapper 访问已认证远程网关时。

如何安装或部署这个 Agent?

需要 Python 3.11 或更高版本。安装 PyPI 包并生成必需密钥:

python3 -m venv .venv && source .venv/bin/activate
pip install --upgrade pip
pip install mcp-contextforge-gateway
curl -O https://raw.githubusercontent.com/IBM/mcp-context-forge/main/.env.example
cp .env.example .env
python3 -m mcpgateway.scripts.init_secrets --patch-env .env
mcpgateway --host 0.0.0.0 --port 4444

JWT_SECRET_KEY 与 AUTH_ENCRYPTION_SECRET 必须设置为真实值,否则服务会在启动时失败。

如何使用这个 Agent?

从 .env 读取 JWT 密钥并创建令牌:

export JWT_SECRET_KEY=$(grep '^JWT_SECRET_KEY=' .env | cut -d= -f2)
export MCPGATEWAY_BEARER_TOKEN=$(python3 -m mcpgateway.utils.create_jwt_token --username [email protected] --exp 10080 --secret "$JWT_SECRET_KEY")

注册一个 SSE MCP 服务:

curl -s -X POST -H "Authorization: Bearer $MCPGATEWAY_BEARER_TOKEN" -H "Content-Type: application/json" -d '{"name":"fast_time","url":"http://localhost:8003/sse"}' http://localhost:4444/gateways

随后使用 GET /tools 获取工具 ID,向 POST /servers 提交 server.name、server.description 和 associated_tools,并让 MCP 客户端连接 http://localhost:4444/servers/UUID_OF_SERVER_1/mcp。运行中的服务也提供 /docs、/redoc、/health 和 /version。

这个 Agent 有哪些优点和局限?

优点
  • 可在一个网关中联合 MCP、A2A、REST 与 gRPC;gRPC 转换使用服务反射进行发现。
  • 提供 REST-to-MCP 适配、虚拟 MCP 服务器和 stdio 包装器,覆盖 HTTP 与 stdio 客户端接入路径。
  • 具备集中认证、重试、限流、JWT 与用户作用域 OAuth 令牌等网关控制能力。
  • 可通过 OpenTelemetry 接入 Phoenix、Jaeger、Zipkin 及其他 OTLP 后端,并支持分布式追踪。
  • 提供 PyPI、GHCR 容器、Docker Compose 和 Helm 部署路径,完整栈包含 PostgreSQL、Redis 与 Nginx。
局限
  • JWT_SECRET_KEY 和 AUTH_ENCRYPTION_SECRET 是强制配置;缺失或仍为占位符时服务会快速启动失败。
  • 完整 Docker Compose 本地构建依赖 CI 生成的 hermetic wheel closure;遇到 cryptography 或依赖解析错误时需拉取 GHCR 预构建镜像。
  • 生产容器目前不支持 arm64;Apple Silicon 用户需使用 Rosetta 或改用 PyPI 安装。
  • Kubernetes Helm 默认禁止私有网络 SSRF 访问;注册集群内工具地址时需要配置允许网络或调整该设置。
  • 仓库中的 mcp-servers/ 仅为示例和测试服务器,明确不适合生产运行。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
ContextForge 网关 当前 49 · 缺口较多 自托管服务免费 ★ 4.8k 今天 Python Claude.ai · OpenAI API · Claude API
Archestra 71 · 存在缺口 自托管服务免费版 + 付费版 ★ 4.4k 今天 TypeScript Codex · Claude Code · OpenAI API · Claude API
Jarvis Registry 40 · 缺口较多 自托管服务免费 ★ 3.8k 今天 Python —
Nasiko 智能体控制平面 39 · 缺口较多 自托管服务免费 + 模型费 ★ 12k 14 天前 Rust OpenAI API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
49/ 100 五分制 2.5 / 5
本评测基于 2026年8月9日 的源码;此后该项目发布了 6 个正式版本,尚未复审。分数与结论只代表评测时的版本。 最近版本 ↓
信任安全 11/29
可靠稳定 8/14
适用触发 10/18
规范维护 10/18
有效结果 7/13
证据核验 3/8
查看各维度的扣分理由
信任安全11 / 29 · 1.9/5

证据显示有安全验证器、SSRF防护、模板注入防护等,但未发现用户确认机制或数据流透明度的明确文档。依赖安全有扫描和固定版本,但未验证实际执行。外部影响有SSRF防护但未全面。回滚有迁移测试但未全面。来源归属有作者信息但未验证。

可靠稳定8 / 14 · 2.9/5

自洽性较好,文档与配置一致。依赖可用性有固定版本和锁定,但未验证实际安装。失败消息有部分文档但未全面。

适用触发10 / 18 · 2.8/5

受众明确为开发者,场景覆盖MCP、A2A、REST等。能力边界有说明但未全面。触发精度有配置但未明确。环境适配有Docker、K8s等。

规范维护10 / 18 · 2.8/5

信息架构清晰,有目录和文档。安装说明详细。命名稳定性有版本但未明确。示例和FAQ有。已知限制有Beta说明。许可证明确。版本和变更日志有。维护责任有作者但未验证。

有效结果7 / 13 · 2.7/5

输出可用性有API和UI。边际价值高,提供统一网关。成本效益有性能优化但未验证。

证据核验3 / 8 · 1.9/5

声明有文档支持但未独立验证。交叉来源有限。事实与推断分离不明确。

风险与缓解建议
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 未验证发布者身份,需谨慎对待。
  • 静态审查无法确认实际安全性和可靠性。
  • Admin UI 仅限开发环境,生产需禁用。
证据充分度:低 评估于 2026年8月9日 审查版本 eaf295e64457 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v1.1.0 v1.1.0 - Release 2026-10-20 - Modern MCP Protocol, New Redesigned Web UI, Federated Completions, and Catalog Pagination
    发布说明摘录
    [1.1.0] - 2026-10-19 - Modern MCP Protocol, New Redesigned Web UI, Federated Completions, and Catalog Pagination Overview Release 1.1.0 delivers modern MCP protocol negotiation on by default, federated completions, MCP catalog pagination, MCP Origin/Host transport security enforcement, federated gateway tool-name collision detection, and configuration import ownership enforcement. It also removes deprecated anyio monkey-patch settings and the in-tree mcp-servers/ directory. This release consolidates 69 PRs across: …
    在 GitHub 查看 ↗
  2. v1.0.11 v1.0.11 - Release 2026-09-28 - MCP Python SDK 2.x, Tool Preview, SSO Controls, and Live E2E Coverage
    发布说明摘录
    Overview Release 1.0.11 consolidates 57 PRs focused on the MCP Python SDK 2.x migration, tool preview, SSO linking and group-mapping controls, catalog and OAuth registration fixes, CORS and schema-validation hardening, and live black-box E2E coverage: - Protocol & Transport - Moved to mcp>=2.0.0 with mcp-types, added modern protocol negotiation to legacy(MCP_CLIENT_CONNECT_MODE, MCP_INBOUND_PROTOCOL_MODE, GATEWAY_MODERN_LISTENERS_ENABLED, all legacy by default), and paginated every upstream list_* call. …
    在 GitHub 查看 ↗
  3. v1.0.7-20260921 v1.0.7-20260921 - Patch Fix - Upstream MCP Pagination Fix and Security Dependency Updates
    发布说明摘录
    [1.0.7-20260921] - 2026-09-21 - Upstream MCP Pagination Fix and Security Dependency Updates Overview Maintenance patch release for the v1.0.7 support line addressing upstream MCP pagination discovery and patching vulnerable dependencies and container base images. Fixed - Upstream MCP Pagination ([#6809](https://github.com/IBM/mcp-context-forge/pull/6809)) - Follow nextCursor when discovering tools, resources, and prompts from upstream MCP servers across SSE, OAuth SSE, and Streamable HTTP transports rather than only fetching the first page. Security …
    在 GitHub 查看 ↗

常见问题

启动网关前必须配置什么?
必须配置有效的 JWT_SECRET_KEY 和 AUTH_ENCRYPTION_SECRET;文档提供 python3 -m mcpgateway.scripts.init_secrets 用于生成它们。生产部署还应设置强 PLATFORM_ADMIN_PASSWORD。
它能把非 MCP 服务接入 MCP 客户端吗?
可以。它可将 REST API 适配为 MCP 工具,并通过服务反射发现 gRPC 服务后进行 gRPC-to-MCP 转换。
可以如何部署?
可从 PyPI 运行,使用 GHCR 容器,运行 Docker Compose 完整栈,或使用 Helm 部署到 Kubernetes;开发环境也支持 Uvicorn 和 SQLite。
示例 MCP 服务器是否可直接用于生产?
不应如此使用。仓库说明 mcp-servers/ 下的示例和测试服务器通常缺少会话管理、持久化状态、多租户和认证,也未经过核心代码同等的安全审查。
在 GitHub 查看 ↗ 安装 ↓

相关 Agents