AWS发布推送式架构:自动同步MCP服务器在Agent Registry中的工具元数据
AWS机器学习博客介绍了一套基于CloudTrail、EventBridge、Lambda和AgentCore Identity的事件驱动方案,用于在MCP服务器更新后自动刷新AWS Agent Registry中的记录;该方案只更新已存在记录,且更新后记录会退回Draft状态等待审批。
AI解读:AWS博客作者Prachi Kulkarni发布的方案,目标是在MCP服务器新增工具或更改schema时,自动把变化同步到AWS Agent Registry,避免消费者看到过期元数据。
架构使用五个AWS服务:CloudTrail捕获UpdateAgentRuntime API调用,EventBridge转发事件,Lambda查询MCP服务器并比对差异,Agent Registry存储记录,AgentCore Identity负责OAuth令牌交换。
多账号场景下,MCP服务器所在账号B的事件经EventBridge转发到注册表账号A,由账号A的Lambda完成查询与更新;单账号则直接在同一账号事件总线内流转。
方案依赖记录已在初始导入时预注册:Lambda只更新现有记录,不生成新记录;且只处理Approved状态的记录。
更新后记录会自动退回Draft状态,消费者仍看到之前的已批准版本,需策展人或管理员重新审批后才会发布新工具定义。
AWS机器学习博客发布了一篇技术方案,介绍如何用事件驱动架构自动同步AWS Agent Registry中MCP服务器的工具元数据。作者Prachi Kulkarni称,当MCP服务器新增工具或更新schema时,若不自动更新注册表记录,消费者会继续看到过期元数据,导致应用使用旧schema调用工具,出现运行时异常或工作流静默偏离。
方案组成与事件流
方案依赖五个AWS服务:AWS CloudTrail捕获对UpdateAgentRuntime API的调用,并将其作为管理事件记录;Amazon EventBridge按规则将事件路由到Lambda,支持跨账号转发;AWS Lambda查询MCP服务器获取最新工具列表,与注册表记录比对后更新;AWS Agent Registry存储MCP服务器记录及工具schema;AgentCore Identity负责brokered OAuth令牌交换,使Lambda无需在环境变量中存储客户端密钥。
在跨账号部署中,MCP服务器所在的账号B调用UpdateAgentRuntime后,CloudTrail记录事件(博客称事件投递延迟约 5 到 15 分钟),EventBridge将匹配事件转发到账号A的事件总线,触发账号A中的同步Lambda。Lambda从事件中提取运行时ARN,动态构造MCP服务器的调用URL,再通过AgentCore Identity获取OAuth bearer token,依次调用MCP的initialize和tools/list方法获取最新工具信息。
- EventBridge规则匹配模式:source为aws.bedrock-agentcore,detail-type为API Call via AWS CloudTrail,eventName为UpdateAgentRuntime。
- Lambda从CloudTrail事件的responseElements.agentRuntimeArn提取运行时ARN,解析账号ID和区域后构造MCP调用端点。
- 单账号部署可跳过跨账号转发步骤,所有资源位于同一账号,事件直接在同一EventBridge总线内流转。
记录匹配与更新条件
Lambda在Agent Registry中查找与运行时ARN匹配的记录,匹配策略包括解码后的ARN、URL编码后的ARN以及完整MCP URL。找到记录后,Lambda将注册表中的工具列表与MCP服务器返回的工具列表按名称排序,并比较name、description和inputSchema三个字段;只有检测到差异时才会调用update_registry_record写入新工具定义。
该方案假设注册表中已经存在初始导入时创建的预注册记录。博客明确说明,示例Lambda只更新现有记录,不生成新记录,并且会跳过状态为DRAFT的记录,只处理Approved记录。
- 工具列表比对前会归一化:按工具名称排序,提取name、description、inputSchema。
- 无差异时Lambda返回no_change,不执行写操作;有差异时记录新增或移除的工具名称,并推送完整工具定义。
- 匹配不到记录时返回skipped,不创建新记录。
治理与审批边界
AWS Agent Registry对每条记录执行治理生命周期:Draft、Pending Approval、Approved,也可能进入Rejected或Deprecated。管理员在注册表级别配置审批设置,决定哪些内容可以发布、由谁审核、是否需要人工审批后才能被消费者发现。只有Approved状态的记录会通过搜索、目录浏览或注册表MCP端点对消费者可见。
当Lambda用新工具定义更新记录后,记录会自动退回Draft状态,消费者继续看到此前已批准的版本,需要策展人或管理员重新审批后新版本才会发布。博客原文在描述该流程时于此处截断,未给出审批完成后的进一步操作说明。
- 审批设置控制发布范围、审核人和是否强制人工审批。
- 更新触发记录状态回退至Draft,已批准版本对消费者保持可见。
- 方案未提供自动审批或绕过审批的选项。