ExtMCP
agentgateway中的外部gRPC服务扩展接口,在tools/call请求到达上游服务器之前和响应返回后各调用一次,通过CheckRequest和CheckResponse两个RPC实现放行、修改或拒绝请求,从而实现在请求阶段检查路径参数
时间轴 (近 90 天)
ExtMCP是一个外部gRPC服务,agentgateway在tools/call请求到达上游服务器之前调用它,响应返回后再调用一次。
ExtMCP接口定义在ext_mcp.proto中,包含两个RPC:CheckRequest和CheckResponse,各自返回放行、返回修改版本或拒绝并返回错误。
接入ExtMCP的方式是一个mcpGuardrails策略块,其中methods: tools/call: full意味着两个钩子都会为tools/call运行:CheckRequest在文件系统服务器看到调用之前,CheckResponse在它应答之后。
ExtMCP策略服务器大约150行Python代码,CheckRequest解析JSON-RPC的params,提取name和arguments,对带路径的工具将每个路径字符串与拒绝列表比对。
failureMode: failClosed配置使策略服务器进程被杀掉时,网关侧会收到明确的Connection refused而非静默放行。
全部知识事实 (5)
ExtMCP是一个外部gRPC服务,agentgateway在tools/call请求到达上游服务器之前调用它,响应返回后再调用一次。
50%待验证ExtMCP接口定义在ext_mcp.proto中,包含两个RPC:CheckRequest和CheckResponse,各自返回放行、返回修改版本或拒绝并返回错误。
50%待验证接入ExtMCP的方式是一个mcpGuardrails策略块,其中methods: tools/call: full意味着两个钩子都会为tools/call运行:CheckRequest在文件系统服务器看到调用之前,CheckResponse在它应答之后。
50%待验证ExtMCP策略服务器大约150行Python代码,CheckRequest解析JSON-RPC的params,提取name和arguments,对带路径的工具将每个路径字符串与拒绝列表比对。
50%待验证failureMode: failClosed配置使策略服务器进程被杀掉时,网关侧会收到明确的Connection refused而非静默放行。
50%