SuperAPI AI 工具集

agentcore-mcp-oauth-facade

智能体与模型

查看项目

更新于 10-16 05:00

技能介绍

用途:在 Bedrock AgentCore Gateway 或 Runtime 前架设一个无状态 Lambda 门面(CloudFront → HTTP API → Lambda),桥接严格 MCP 客户端的 OAuth 2.0 与 MCP 协议要求,同时不改动令牌签发与校验链路。

主要能力:一、OAuth 发现与 Cognito 补缺:在根域提供 RFC 9728 受保护资源元数据、RFC 8414 授权服务器元数据与 OIDC openid-configuration(含路径插入变体),issuer 与 jwks_uri 仍指向真实 Cognito;实现伪 DCR(POST /register 返回预置公共客户端 ID);用 HMAC-SHA256 签名的 state 重写 redirect_uri,保持无状态;在 /oauth/authorize 注入资源服务器 scope。二、MCP 会话与协议桥接:每个请求生成 ≥33 字符的路由键 X-Amzn-Bedrock-AgentCore-Runtime-Session-Id,抑制上游回显的 mcp-session-id,合成稳定的 Mcp-Session-Id,将 JSON 重包为 SSE、以空 SSE 流响应 GET /mcp,把 scope 403 转为 401 + WWW-Authenticate。三、Gateway 分页与 schema 限制:服务端遍历 tools/list 游标合并为单页、去掉并还原 {targetName}___ 工具名前缀、按 Gateway 接受范围精简入参 schema、调用前丢弃 null 参数。

使用方式:先实现三份 well-known 文档再排查其他问题;不破坏令牌链,交互端点走门面、issuer/jwks_uri 保持真实 IdP;同时处理两种 session-id;假定客户端不分页;用真实严格 MCP 客户端而非 curl 测试;工具面变化时重新生成工具载荷。

适用场景:为第三方 MCP 客户端接入 AgentCore Gateway/Runtime、客户端连接向导失败(发现链断裂)、工具数超过 30 后缺失、迁移后出现 404 无有效会话或 -32602 未知工具、Cognito 需支持 DCR 或任意 redirect_uri。

限制:不适用于一般性 AgentCore 服务配置(Gateway 目标、Runtime 部署、IAM),此类需求应参考 aws-agentic-ai 技能。具体代码与安装命令资料中暂未提供。