加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一个场景:公司的客服 Agent 要调用 30 个内部 MCP 工具,其中 5 个能读写数据库,另外 25 个只读。每个 Agent 账号有不同预算,每个工具有不同权限等级。这时候你需要回答一个问题——谁来管住这些模型和 Agent?
Tyk Gateway 的答案是:我来当那个交通警察。

Tyk 是英国伦敦的 Tyk Technologies 公司于 2014 年推出的开源 API 网关,起步定位就是「高性能反向代理 + 限流 + 鉴权」。十二年过去,它依然是典型的云原生 API 管理数据面:Go 编写、Redis 存状态、配置文件驱动、支持毫秒级热重载。
但 2025 年之后 MCP(Model Context Protocol)带来了新命题。传统 API 网关把 HTTP 请求当不透明字节流转发,而 MCP 流量是结构化的 JSON-RPC 2.0 调用,里面带着 tools/list、tools/call、还有 prompt 和 resource 这样的原语。如果仍然当黑盒转发,就无法回答「这个 Agent 到底调用了哪个工具、花了多少 token」。
Tyk 的应对是在网关核心里新增了一整层 MCP 协议解析:从 gateway/mcp_api.go、gateway/mcp_oauth_broker.go、gateway/mcp_synthesis.go、gateway/mcp_pairing.go 到 internal/mcp/(含 router、discovery、pairing、ingress_validation)一整套子包,都在 gateway/ 目录下可以看到清晰的实现痕迹。这不是简单加个 Header 就算支持,而是逐个 JSON-RPC 方法做策略匹配——按 tool、按 resource、按 prompt 授权,而不是按 URL。
2026 年 3 月,Tyk 把 AI Studio(AGPL-3.0,独立仓库)开源,把「LLM 调用治理」和「MCP 基础设施治理」拆成两层:前者管模型、token、成本预算、护栏;后者管 Agent 调用的工具本身。
如果 API 网关是航站楼,Tyk 就是那套同时管人流量和货物安检的调度中心:
REST / SOAP / GraphQL / WebSocket / TCP / gRPC / MCP 一站式支持,且支持直接导入 OpenAPI(OAS 2.X 与 3.0.1)自动脚手架出 API 定义。这意味着团队不需要为每种协议选不同网关。
mcp_oauth_broker.go + mcp_oauth_broker_crypto.go 负责上游 MCP Server 的授权码流程、令牌加密存储与代理转发。internal/mcp/pairing、discovery.go 支持 MCP Server 侧的发现与客户端配对;internal/agentprotocol/vem.go 处理 A2A(Agent-to-Agent)方向的协议扩展。Tyk 的插件架构是一大亮点,支持多语言:Go 插件(gRPC)、JavaScript(goja 引擎)、Python(coprocess 进程)、Lua。middleware/ 目录里直接放了 sampleMiddleware.js、ottoAuthExample.js、waf.js 等示例。

官方基准数据约 70,000 RPS 的反向代理能力,Go Report Card 评级 A+,gateway/ 下有大量 benchmark 测试文件(api_definition_bench_test.go、distributed_rate_limiter.go 等)。单核即可承载数千 RPS。
这是必须讲清楚的一点,也是社区版最大的坑:
开源版只有「数据面(Gateway)」,没有「控制台(Dashboard)」。
仓库根目录 69 个条目里没有任何前端工程(没有 package.json、没有 templates/、没有 static/),Gateway 是一个纯 Go 二进制 + JSON 配置文件。这意味着:
| 场景 | 上手方式 | 难度 |
|---|---|---|
| 只想跑一个网关 | Docker:docker run + tyk.conf | 低 |
| 本地开发 | 仓库自带 docker-compose.yml(自动 include redis.yml + httpbin.yml) | 低 |
| 生产集群 | Helm Chart(在外部 tyk-charts 仓库)+ Tyk Operator | 中 |
| 可视化管理 API | 需商业版 Tyk Self Managed / Tyk Cloud | 高(付费) |
关键提醒:社区版跑起来也需要理解 tyk.conf 配置体系(监听端口、Redis 连接、API 定义加载方式)。go test ./... 明确要求本机有 Redis 在跑。Dockerfile 是单阶段构建(golang:1.26-bookworm → make build),不是多阶段,镜像体积会偏大。
另外,ee/ 目录是商业授权代码(OAuth2 部分能力、Dashboard、RBAC、SSO 等在 EE 版本),开源版是「功能不阉割但控制台不赠送」的思路——数据面能力免费,看板与治理后台收费。
双许可带来的理解成本。根目录及子目录是 MPL-2.0,ee/ 是商业许可。看 README 的人容易误以为整个仓库都是 MPL-2.0,实际 GitHub API 返回 NOASSERTION 正是因为这个混合结构。开源用户拿到的 Gateway 仍带完整协议与 MCP 支持,但 Dashboard、RBAC、企业 SSO 需要付费。
MCP 治理的深度仍在早期。竞品对比中,Kong 3.14 已经支持 A2A,Gravitee 4.11 提供了 MCP 分析看板,Zuplo 直接把「提示注入检测」「密钥自动遮蔽」做成路由级策略(用一个小型 agentic 工作流跑 tool-calling LLM 检测注入)。Tyk 的 MCP 层功能完整度不错,但面向 AI 的深度防护策略(注入检测、PII 遮蔽、密钥掩码)主要落在 AI Studio 或 EE,单靠 Gateway 开源版拿不到。
运维复杂度。Tyk 是配置驱动的分布式数据面,多节点依赖 Redis Pub/Sub 做配置广播、依赖 Redis 做限流状态与分析数据存储。规模化的团队要么接受 Redis 作为强依赖,要么退回文件存储的单机模式。
生态对比。Apache APISIX 走 Apache-2.0 基金会治理,插件 100+ 且有 Lua/Wasm 沙箱;Tyk 走公司治理 + 混合许可,更适合商业许可预算内、需要 MCP/AI 深度打通的企业。
2026 年是「AI 网关」的爆发年。几乎每一家 API 网关厂商都在说自己也是 AI 网关——Tyk 的差异化在于把 MCP 当成一等公民协议来解析,而不是在传统 HTTP 网关外面糊一层 AI SDK。
这条路径的战略意义在于:Agent 时代的流量入口收窄了。过去流量入口是浏览器和移动 App,接下来是 LLM 和 Agent。如果这个入口不做限流、不做鉴权、不做审计,那 LLM 的调用成本和权限风险会直接击穿企业现有的安全边界。Tyk 抢的就是这个位置——而且它选在了开源侧,用 MPL-2.0 的 Gateway 做「漏斗入口」,用 AGPL-3.0 的 AI Studio 做「上层治理」,再配上商业版的 Dashboard 做「闭环」。
对想自建 AI 基础设施的团队来说,这是一条相当务实的路径:先用开源 Gateway 把 MCP 的门禁管起来,再决定要不要为控制台付费。
仓库数据速览:10,870 Stars / 1,170 Forks / 116 位贡献者 / Go 1.26 / MPL-2.0(ee/ 目录商业许可)/ 最新版本 v5.16.0(2026-10-27)/ 未归档。