AWS展示如何在Bedrock AgentCore Runtime上运行无服务器MCP代理以实现治理与审计
AWS于2026年4月29日发布了在Amazon Bedrock AgentCore Runtime上运行自定义Model Context Protocol(MCP)代理的参考架构。该代理位于AI智能体与上游MCP服务器之间,无需修改现有服务器即可添加治理、审计追踪和输入清洗功能。演示使用FastMCP和三层身份验证。
AWS于2026年4月29日发布了详细的参考架构,介绍如何在Amazon Bedrock AgentCore Runtime上将无状态MCP代理作为无服务器工作负载运行。高级解决方案架构师Nizar Kheir将该代理描述为”AI智能体与上游MCP服务器之间的可编程层”,使企业客户无需重构现有基础设施即可应用自己的安全和合规控制。
代理如何工作?
该代理基于FastMCP Python库,启动时动态发现上游MCP服务器(如AgentCore Gateway、自有MCP服务器或第三方)的工具,然后通过注入自定义逻辑重新暴露给客户端。AWS文章提供了具体代码片段,展示如何生成工具处理器,在转发调用的同时支持注入令牌化、验证或过滤:
def _make_tool_handler(tool_name: str):
def handler(**kwargs) -> str:
result = _send_gateway_request("tools/call", ...)
# 自定义逻辑:令牌化、验证、过滤
return result
三层身份验证
架构定义了三个独立的身份验证层。客户端到代理使用AgentCore Identity(IAM或JWT/OAuth 2.0令牌),代理到上游服务器使用AWS SigV4或OAuth客户端凭据,上游到外部工具使用AgentCore凭据提供商管理OAuth令牌和API密钥。
典型应用场景
AWS列举了五种典型场景:后端接收工具调用前的输入清洗、生成符合合规要求的审计追踪、协议层的敏感数据编辑、基于调用者身份的工具级访问控制,以及工具调用参数中PII的令牌化。所有这些都无需对上游服务器进行任何修改。
代码可用性
完整演示可在GitHub仓库aws-samples/sample-mcp-proxy-agentcore-runtime中获取。setup_and_deploy.py脚本配合deploy_config.json自动化部署,后者定义了上游网关端点、认证方式、区域和可选的Cognito凭据。
常见问题
- 什么是MCP代理?
- MCP代理是位于MCP客户端(智能体)和上游MCP服务器之间的可编程层,通过拦截工具调用来添加治理控制、审计记录和数据清洗,无需修改上游服务器本身。
- 支持哪些身份验证方式?
- 三个独立层次:智能体到代理通过AgentCore Identity(IAM或JWT/OAuth 2.0),代理到上游通过AWS SigV4或OAuth客户端凭据,上游到工具通过AgentCore凭据提供商管理OAuth令牌和API密钥。
- 代理如何满足企业合规需求?
- 在后端接收工具调用前进行输入清洗、生成合规审计追踪、编辑敏感数据、工具级访问控制以及对工具调用参数中的PII进行令牌化。
本文由人工智能基于一手来源生成。