项目简介

Amazon Bedrock AgentCore Starter Toolkit 是一个功能强大的工具包,旨在帮助开发者在 Amazon Bedrock AgentCore 上高效地部署和管理AI Agent应用。它提供了创建和配置AI Agent、集成工具(包括MCP工具)、管理内存和身份验证等功能,同时支持本地开发和云端部署(通过AWS CodeBuild)。特别是,它能够配置 Bedrock AgentCore Gateway 作为一个托管的MCP服务器,将API和Lambda函数转换为LLM可用的MCP工具。

主要功能点

  • Agent部署与管理: 简化AI Agent的配置、构建(本地或云端CodeBuild)、部署和更新到Bedrock AgentCore Runtime。
  • MCP服务器配置: 作为核心功能,能够通过CLI命令创建和管理 Amazon Bedrock AgentCore Gateway,这是一个托管的Model Context Protocol (MCP) 服务器,用于将API和Lambda函数转换为LLM可用的MCP工具。
  • 工具集成: 支持将Lambda函数、OpenAPI规范和Smithy模型转换为MCP工具,并通过Gateway暴露给LLM。
  • 记忆管理: 配置Agent的短期和长期记忆,支持上下文感知交互。
  • 身份与授权: 协助设置OAuth2授权,确保Agent访问的安全。
  • 可观测性: 集成OpenTelemetry,帮助追踪、调试和监控Agent性能。
  • 迁移工具: 提供从现有Amazon Bedrock Agents迁移到LangChain/LangGraph或Strands框架的工具,并自动集成AgentCore原语。

安装步骤

  1. 安装Python: 确保您的系统上安装了Python 3.8或更高版本。
  2. 安装'uv': 推荐使用'uv'工具进行依赖管理,因为它速度快且功能强大。如果未安装,请运行:
    pip install uv
  3. 安装工具包: 克隆仓库并使用'uv'安装项目依赖:
    git clone https://github.com/aws/bedrock-agentcore-starter-toolkit.git
    cd bedrock-agentcore-starter-toolkit
    uv sync
  4. 配置AWS凭证: 确保您的AWS凭证已正确配置(例如通过'aws configure'),以便工具包能够访问您的AWS账户资源。
  5. 可选:安装Docker/Finch/Podman: 如果您计划在本地运行Agent或进行本地构建,需要安装Docker、Finch或Podman中的任意一个。

MCP服务器配置

MCP客户端需要MCP服务器的启动命令及其参数才能建立连接。此工具包用于配置托管在AWS上的MCP服务器(即 Amazon Bedrock AgentCore Gateway)。您无需直接运行服务器代码,而是通过CLI命令配置AWS服务。

配置信息(JSON格式)示例:

{
  "server_name": "MyMCPGateway",
  "command": "aws",
  "args": [
    "bedrock-agentcore-control",
    "get-gateway",
    "--gateway-identifier",
    "gw-xxxxxxxxxx"
  ],
  "notes": "此配置用于获取托管MCP服务器(Amazon Bedrock AgentCore Gateway)的Endpoint URL。实际调用时,MCP客户端将通过此URL与Gateway通信。Gateway会自动处理JSON-RPC请求,并将请求路由到您配置的Lambda函数或OpenAPI工具。"
}
  • server_name: 您在AWS Bedrock AgentCore Gateway中创建的MCP Gateway的名称。
  • command: 'aws'。
  • args: AWS CLI命令参数,用于获取Gateway的Endpoint URL。
    • 'bedrock-agentcore-control': AWS Bedrock AgentCore控制平面的服务名称。
    • 'get-gateway': 获取Gateway详细信息的CLI操作。
    • '--gateway-identifier': 您的MCP Gateway的唯一标识符(在创建Gateway后获得)。客户端可以从返回的JSON中提取'gatewayUrl'进行通信。
  • notes: 提供额外说明,指导MCP客户端如何理解和使用这些信息。

基本使用方法

  1. 创建MCP Gateway: 使用以下命令创建托管的MCP服务器。这会自动设置所需的IAM角色和OAuth授权。
    agentcore gateway create-mcp-gateway --name MyMCPGateway --region us-west-2
    此命令将返回一个包含'gatewayId'和'gatewayUrl'的JSON响应。'gatewayId'是MCP客户端连接到此MCP服务器所需的关键信息。
  2. 创建MCP Gateway Target (工具): 将Lambda函数或OpenAPI规范转换为MCP工具并添加到您的Gateway。
    agentcore gateway create-mcp-gateway-target \
      --gateway-arn "arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/MyMCPGateway" \
      --gateway-url "https://my-mcp-gateway.us-west-2.amazonaws.com" \
      --role-arn "arn:aws:iam::123456789012:role/MyGatewayExecutionRole" \
      --name MyLambdaTool \
      --target-type lambda
    上述命令会自动创建一个示例Lambda函数,并将其注册为MCP工具。您也可以指定'--target-type openApiSchema'并提供'--target-payload'来注册您自己的API。
  3. 开发Agent应用: 编写您的AI Agent应用(例如使用LangChain或Strands框架),并利用 Bedrock AgentCore Gateway 提供的MCP工具。
  4. 部署Agent应用: 使用'launch'命令将您的Agent应用部署到Bedrock AgentCore Runtime。
    # 配置Agent应用
    agentcore configure --entrypoint my_agent.py --execution-role MyAgentExecutionRole --name MyAgentApp
    # 部署Agent应用(默认使用CodeBuild在云端构建和部署)
    agentcore launch
  5. 调用Agent应用: 使用'invoke'命令向已部署的Agent发送请求。
    agentcore invoke '{"message": "Hello Agent!"}'

信息

分类

AI与计算