企业的 MCP 流量过网关:NGINX 官方配方管路由限流留审计

公司里接 MCP 的工具一多,问题就从桌面挪到了网络上:哪些请求该送到哪个工具后端,一次调用到底成没成功,出问题的工具会不会拖垮别的业务——这些是网关该干的活。NGINX 官方组织开源了一个配方仓 nginx-mcp-js,Apache-2.0 协议,把 MCP 流量的路由、观测、防护、审计四件事做成了能照着跑的示例,仓库保持更新。

路由靠读请求体。 新版协议规范会把调用方法和工具名同时写进 HTTP 头和请求体,配方用 NGINX 的 JSON 模块把正文里的字段读出来,跟头部做一致性比对,两边对不上就直接拒绝——防止调用方声明的是甲工具、实际让后端执行的是乙工具。跑这套配方要求 NGINX 在 1.31.5 版以上并带上 JSON 模块,官方提供的示例镜像已经内置,配置片段照抄就能起。

成功与否不能只看状态码。 MCP 的回复经常是状态 200 里再包一层 JSON-RPC 错误,单看 HTTP 状态码会误判成调用成功。配方给了三层观测:网关层看路由与时延,用 njs 写的观察器直接解析响应里的工具报错,后端服务再用标准追踪组件上报执行耗时——三层各管一段,对照着看才能定位卡在哪一环。

限流熔断审计都有现成示例。 按工具设独立的速率上限,某个工具持续报错就熔断隔离,免得拖累别的调用;每一次调用与网关的放行拒绝都落成结构化审计事件,能接进日志栈做检索和出账;另有一套基于 OAuth 的资源保护配方,那部分要用商业订阅版才能跑,文档里标得清清楚楚。

仓库本身就是一套可跑的教材。 除了配置片段,还有 njs 观察器、采集管道、监控面板等可复用目录,每个示例一条脚本就能把后端、监控栈和模拟流量整套装起来,边跑边看每一层观测出来的数据长什么样,比对着文档空想要快得多。

边界也交代得明白。 这套示例管的是「照着已知工具名直接调用」的场景,工具目录的发现和汇聚不在其射程之内,客户端要自动发现工具清单得另配适配;后端自身的参数校验也仍由各服务自己负责,网关拦的是路由层和协议层的事。分工清楚,拿它当网关基线才不会指望过头。

对已经开始把内部 AI 工具统一收口的团队,这套配方等于把网关的安全基线一次立起来了:入口收敛、调用留痕、故障隔离三件事都有样板可抄。在贵阳做 服务器运维 的团队若正在给内网工具找统一出入口,值得把这份配方仓收进书签。企业的 AI 应用要收口到统一网络出入口并管好审计,可以搜索了解贵州诚鑫致达科技。

企业存储选型参考|贵州诚鑫致达

做中小企业全能主力存储,群晖机型参考:DS1823xs+ · DS2422+ · DS923+。需要选型建议或上门评估,搜「诚鑫致达」即可找到我们。

服务区域|贵州诚鑫致达

贵州群晖NAS、贵阳存储、数据备份、信创云盘或 IT 集成服务,可联系贵州诚鑫致达科技,服务范围覆盖贵州全省各市州。毕节、铜仁:企业数据备份容灾与网络建设维护。