Agentgateway 代理 MCP 流量初探

关于Agentgateway代理MCP流量,它的核心定位是为AI Agent场景(特别是MCP/A2A协议)提供企业级的治理、安全、可观测与协议转换。

📌 核心概念

MCP (模型上下文协议):一个标准化协议,让AI Agent能以统一、结构化、安全的方式发现并调用外部工具和数据源。其本身不解决企业级的安全、治理和规模化管理问题。

Agentgateway的定位:它正是一个MCP网关,填补了MCP协议在企业应用中的治理空白。它作为代理层,为多后端MCP服务器的访问提供统一入口,并集中处理认证、授权、速率限制、日志审计等事务。

🔧 代理MCP流量配置实践

Agentgateway主要通过YAML配置文件来定义路由。这里是一个整合了基础配置与安全策略的示例:

binds:

  • port: 3101

listeners:

  • name: mcp-listener

hostname: localhost

routes:

示例1: 代理一个基于STDIO的本地MCP服务器(如Prometheus)

  • name: prometheus-route

matches:

  • path:

pathPrefix: "/mcp/prometheus" # 前端通过此路径访问

backends:

  • mcp:

targets:

  • name: prometheus

stdio:

cmd: docker

args: ["run", "-i", "--rm", "ghcr.io/pab1it0/prometheus-mcp-server:latest"]

示例2: 代理一个支持HTTP的远程MCP服务器(如Home Assistant)

  • name: home-assistant-route

matches:

  • path:

pathPrefix: "/mcp/home-assistant"

backends:

  • mcp:

targets:

  • name: home-assistant

mcp:

host: http://192.168.1.68:8123/api/mcp

为了能在浏览器等前端环境中顺利调试,通常需要在每个路由的 `policies` 下配置 `cors`(跨域资源共享)和 `csrf`(跨站请求伪造)策略。

配置项 核心作用 适用场景
stdio 将本地命令行(CLI)工具转换为可通过网络访问的MCP服务器。 代理仅支持本地STDIO通信的MCP工具。
mcp (HTTP) 代理一个已经通过网络提供服务的MCP服务器。 代理支持SSE或流式HTTP的远程MCP服务器。

安全与治理功能(企业级价值)

这是Agentgateway作为网关的核心优势,具体功能包括:

统一认证与授权:支持基于OAuth等标准的统一认证,并可通过CEL表达式定义细粒度的工具调用授权策略。

多路复用 (Multiplexing):当配置了多个后端MCP服务器时,Agentgateway可以自动将它们合并成一个"复合"后端。Agent调用工具时,Agentgateway负责将请求路由到正确的真实后端。

会话 (Session) 管理:默认以有状态方式处理MCP连接,维护会话上下文。社区有讨论指出,未来可能向默认无状态演进,并支持通过会话ID进行一致性哈希路由,以实现多实例下的会话保持。

可观测性:提供请求指标和日志,但社区反馈其MCP相关指标(如各工具调用耗时)目前可能还不够丰富。

相关推荐
风象南6 小时前
普通人用AI加持赚到的第一个100块
人工智能·后端
牛奶6 小时前
2026年大模型怎么选?前端人实用对比
前端·人工智能·ai编程
牛奶6 小时前
前端人为什么要学AI?
前端·人工智能·ai编程
罗西的思考9 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
冬奇Lab10 小时前
OpenClaw 源码精读(2):Channel & Routing——一条消息如何找到它的 Agent?
人工智能·开源·源码阅读
冬奇Lab10 小时前
一天一个开源项目(第38篇):Claude Code Telegram - 用 Telegram 远程用 Claude Code,随时随地聊项目
人工智能·开源·资讯
格砸11 小时前
从入门到辞职|从ChatGPT到OpenClaw,跟上智能时代的进化
前端·人工智能·后端
可观测性用观测云11 小时前
可观测性 4.0:教系统如何思考
人工智能
sunny86512 小时前
Claude Code 跨会话上下文恢复:从 8 次纠正到 0 次的工程实践
人工智能·开源·github
小笼包包仔12 小时前
OpenClaw 多Agent软件开发最佳实践指南
人工智能