AI News HubLIVE
站内改写2 分钟阅读

使用 Amazon Bedrock AgentCore 和 Mistral AI Studio 构建并连接生产级电子商务 MCP 服务器

本文详细介绍了如何使用 Amazon Bedrock AgentCore 和 Mistral AI Studio 构建并连接一个生产就绪的电子商务 MCP(模型上下文协议)服务器。内容涵盖 MCP 工具实现、双层 JWT 认证、AWS CDK 部署、与 Mistral AI Vibe 集成,以及使用 DynamoDB 和 Cognito 管理数据与身份的最佳实践。

来源AWS Machine Learning Blog作者: Ying Hou

当电商团队需要加速 AI 驱动的客户体验上线时,往往面临数周的自定义集成工作,导致发布延迟并增加安全风险。构建生产级 AI 助手通常需要为每个客户端编写自定义 API 代码、管理容器基础设施并实现复杂认证。Amazon Bedrock AgentCore 和 Mistral AI Studio 简化了这一流程。通过 AgentCore Runtime 托管的 MCP 服务器,开发者可以专注于业务逻辑,而无需关心底层运维。

本教程将带领您从头开始构建并连接一个电子商务 MCP 服务器。您将实现 MCP 工具、设置双层 JWT 认证、使用 AWS CDK 部署,并将结果连接到 Mistral AI 的 Vibe 界面。该服务器支持产品搜索、订单下达、评价提交和退货处理,数据存储使用 Amazon DynamoDB,身份管理由 Amazon Cognito 负责。

Amazon Bedrock AgentCore 是一个用于大规模构建、连接和优化 AI 代理的平台。其内部的 AgentCore Runtime 是完全托管的无服务器组件,用于托管代理和 MCP 工作负载,提供会话隔离、长时间请求支持、内置 JWT 验证和可观测性,从而无需管理容器、负载均衡器或认证中间件。本教程中,您将使用 Python 和 FastMCP 构建 MCP 服务器,然后将其部署到 Runtime 进行托管。Amazon Cognito 通过 OAuth 2.1 管理用户身份,确保每个客户的数据隔离。借助 MCP,您只需编写一个服务器,多个 AI 客户端即可连接,而无需为每个客户端单独构建集成。Mistral AI 的 Vibe 在 Web、iOS 和 Android 上为用户提供对话式界面。

解决方案架构

解决方案分为三层:

  • 应用层:基于 FastMCP 构建的 Python MCP 服务器,通过 /mcp 端点暴露六种电商工具,同时提供 /health 健康检查端点。
  • 数据层:五个 DynamoDB 表分别存储产品、客户、订单、评价和退货数据,按需容量自动扩展,全局二级索引支持高效查询。
  • 安全层:双层认证确保数据隐私。Amazon Cognito 作为身份提供商,AgentCore Runtime 在基础设施层验证 JWT 令牌,应用层则提取用户属性以限定数据访问范围。

部署使用 AWS CDK 包含四个基础设施栈:DynamoDBStack 创建数据表,CognitoStack 配置用户池和 OAuth 客户端,DataLoaderStack 通过 Lambda 自定义资源填充测试数据,AgentCoreRuntimeStack 创建 IAM 角色、ECR 存储库和配置参数。

技术实现

定义 MCP 工具时,使用 FastMCP 装饰器将 Python 函数暴露为工具,函数参数和文档字符串自动生成工具模式。例如,get_order_history 工具首先检查用户是否已认证,然后根据客户 ID 查询 DynamoDB 并丰富订单数据。服务器通过 http_app(path="/mcp", stateless_http=True) 配置为无状态,以满足 AgentCore 的负载均衡要求。

双层认证:AgentCore Runtime 在基础设施层验证 JWT 签名和过期时间,应用层则通过调用 Cognito 获取 custom:customer_id 属性,将令牌映射为具体的客户身份,从而确保数据隔离。

部署与连接

完成开发后,使用 agentcore deploy 命令将服务器部署到 AgentCore Runtime,并通过 .bedrock_agentcore.yaml 配置文件指定 Cognito 用户池和授权客户端。部署后,用户通过 Mistral Vibe 登录并发出自然语言请求,例如“显示我最近的订单”,AI 模型会调用相应的 MCP 工具并返回结构化数据,最终以自然语言回复给用户。

本文还提供了完整的 GitHub 仓库链接,包含所有源代码和详细实现步骤,帮助您快速上手。