工程 / 工程
在 Amazon Bedrock AgentCore 上搭建可投产的电商 MCP 服务器
AWS 与 Mistral 联合展示了一套生产级电商 MCP 服务器方案。开发者用 Python 与 FastMCP 编写六个电商工具,覆盖商品搜索、下单、评价与退货。Amazon Bedrock AgentCore Runtime 负责无服务器托管、内置 JWT 校验与会话隔离,Amazon Cognito 通过 OAuth 2.1 管理用户身份,Amazon DynamoDB 存储商品、订单、评价与退货数据。整套基础设施通过 AWS CDK 四个栈一键部署并预填测试数据。Mistral AI 的 Vibe 作为对话前端,验证后即可通过自然语言调用电商能力。由于遵循 MCP 标准,其他兼容客户端也能接入。
整套方案由 AWS Bedrock AgentCore 与 Mistral AI Studio 共同支撑。AgentCore Runtime 是托管代理与 MCP 工作负载的无服务器组件,提供会话隔离、长请求支持、内置 JWT 校验与可观测性,开发者无需管理容器、负载均衡或鉴权中间件。MCP 协议则让一套服务器同时服务多个 AI 客户端,避免为每个客户端重复编写集成代码。
在数据与身份层,五个 Amazon DynamoDB 表按需容量存储商品、客户、订单、评价和退货,并通过全局二级索引支持高效查询。Amazon Cognito 作为身份提供方,遵循 OAuth 2.1 协议签发令牌,配合应用层提取的用户属性,将每次数据访问严格限定在当前登录客户范围内,实现租户级隔离。
安全上采用双重 JWT 校验。Mistral Vibe 完成 OAuth 2.1 登录后获得令牌,并在每次 MCP 请求中以 Bearer 形式携带。AgentCore 在基础设施层先校验签名、过期时间与客户端授权,再把请求交给容器;MCP 服务器随后调用 Cognito 取得客户 ID,将 DynamoDB 查询限制在该客户的数据上。
部署侧用 AWS CDK 拆成四个栈:DynamoDBStack 创建数据表与索引,CognitoStack 配置带自定义属性的用户池与 Vibe 客户端,DataLoaderStack 通过 Lambda 写入 50 个商品、10 个客户、50 个订单以及评价和退货样本,AgentCoreRuntimeStack 负责 IAM 角色、ECR 仓库与配置参数。AgentCore Runtime 在云端通过 CodeBuild 构建容器镜像,本地开发不再依赖 Docker。
电商服务器最终暴露六个 FastMCP 工具以及 /health 探活端点。当用户向 Vibe 提问“显示我最近的订单”时,模型调用 get_order_history 工具,经过鉴权与身份绑定后从 DynamoDB 取出该客户的订单,并以自然语言回复结果。同一套服务器可被任何 MCP 兼容客户端复用,便于后续扩展。
对希望缩短 AI 客服上线周期的电商团队而言,这套参考实现把鉴权、容器、数据接入、对话前端整合为一个可重复的模板,开发者可以基于此改造订单、库存或推荐等业务工具,而无需重新设计底层协议与安全链路。
要点
- Amazon Bedrock AgentCore Runtime 提供托管容器、内置 JWT 校验与会话隔离,免去自建基础设施成本。
- MCP 协议让单一服务器同时服务 Mistral Vibe 与其他 AI 客户端,避免为每个前端重复集成。
- Amazon Cognito + DynamoDB 的组合在 OAuth 2.1 框架下实现按客户的数据隔离与多租户安全。
- AWS CDK 四个栈覆盖数据表、身份、样本数据与运行时,AgentCore 通过 CodeBuild 在云端构建镜像,本地无需 Docker。
- FastMCP 框架以极小代码量暴露商品搜索、下单、评价与退货等电商能力,可作为业务工具扩展模板。
原始标题:Building and connecting a production-ready ecommerce MCP server using Amazon Bedrock AgentCore and Mistral AI Studio
本文由 DataHub 基于公开来源整理,用于信息发现与摘要阅读;具体事实、数据和后续更新以原始来源为准。