在 Amazon Bedrock AgentCore Runtime 上无服务器运行自定义 MCP 代理
引言:MCP 代理的治理需求
当 AI 代理通过模型上下文协议(MCP)连接工具时,它们能够执行数据库查询、API 调用、文件操作乃至第三方服务集成。但在生产环境中,这些交互需要遵循组织的安全策略,包括对工具输入进行清理、生成特定格式的审计轨迹、或在协议层对敏感数据进行脱敏。这些需求源于内部治理标准、行业法规以及生产环境的特殊性。
Amazon Bedrock AgentCore Gateway 的现有方案
Amazon Bedrock AgentCore Gateway 提供了集中化的治理与控制能力,支持语义工具发现、托管凭证和策略执行。对于需要在网关请求路径中嵌入自定义逻辑的组织,Gateway 支持 Lambda 拦截器,允许在每次工具调用时以 AWS Lambda 函数的形式运行验证、转换或过滤代码。这种方式能够将自定义逻辑与网关配置一同管理。
然而,一些组织已经投入资源开发了与内部库或本地合规系统紧密耦合的自定义 MCP 过滤逻辑,他们希望直接在 AgentCore Runtime 上复用这些逻辑,而无需重构为 Lambda 函数。另一些组织则在多个系统或混合环境中运营,将控制逻辑作为独立 MCP 服务器运行,比系统特定的拦截器更具可移植性。
无服务器 MCP 代理的互补模式
对于这些场景,在 AgentCore Runtime 上运行无服务器 MCP 代理提供了一种互补模式。AgentCore Runtime 是一个完全托管的计算环境,用于部署 AI 代理和 MCP 服务器。它提供无服务器基础设施,具备自动扩展、通过 Amazon CloudWatch 和 OpenTelemetry 的内置可观测性,以及用于身份验证和授权的 AgentCore Identity。由于 Runtime 原生支持 MCP 协议,它可以托管 MCP 服务器,包括那些为 MCP 流量添加自定义控制的 MCP 代理。
构建无状态 MCP 代理
本文展示了如何在 AgentCore Runtime 上构建和部署一个无状态 MCP 代理,让你能够在协议层实现可编程的控制层。该代理作为中间件,拦截所有 MCP 请求并执行自定义逻辑(如输入验证、数据脱敏、审计日志记录),然后再转发到后端工具。由于采用无服务器架构,无需管理底层基础设施,代理可根据流量自动伸缩。
关键优势
- 可编程性:通过自定义代码实现任意治理规则,无需重构现有逻辑。
- 可移植性:作为独立 MCP 服务器,可跨不同环境部署。
- 无服务器运维:自动扩展、内置可观测性,降低运维负担。
- 安全性:利用 AgentCore Identity 进行身份验证和授权。
小结
对于需要在 AI 代理与工具之间实施精细化控制的企业,在 Amazon Bedrock AgentCore Runtime 上运行无服务器 MCP 代理是一种灵活且高效的方案。它既保留了现有投资,又提供了生产级的安全性、可观察性和可扩展性。