项目简介
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原语。
安装步骤
- 安装Python: 确保您的系统上安装了Python 3.8或更高版本。
- 安装'uv': 推荐使用'uv'工具进行依赖管理,因为它速度快且功能强大。如果未安装,请运行:
pip install uv - 安装工具包: 克隆仓库并使用'uv'安装项目依赖:
git clone https://github.com/aws/bedrock-agentcore-starter-toolkit.git cd bedrock-agentcore-starter-toolkit uv sync - 配置AWS凭证: 确保您的AWS凭证已正确配置(例如通过'aws configure'),以便工具包能够访问您的AWS账户资源。
- 可选:安装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客户端如何理解和使用这些信息。
基本使用方法
- 创建MCP Gateway: 使用以下命令创建托管的MCP服务器。这会自动设置所需的IAM角色和OAuth授权。
此命令将返回一个包含'gatewayId'和'gatewayUrl'的JSON响应。'gatewayId'是MCP客户端连接到此MCP服务器所需的关键信息。agentcore gateway create-mcp-gateway --name MyMCPGateway --region us-west-2 - 创建MCP Gateway Target (工具): 将Lambda函数或OpenAPI规范转换为MCP工具并添加到您的Gateway。
上述命令会自动创建一个示例Lambda函数,并将其注册为MCP工具。您也可以指定'--target-type openApiSchema'并提供'--target-payload'来注册您自己的API。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 - 开发Agent应用: 编写您的AI Agent应用(例如使用LangChain或Strands框架),并利用 Bedrock AgentCore Gateway 提供的MCP工具。
- 部署Agent应用: 使用'launch'命令将您的Agent应用部署到Bedrock AgentCore Runtime。
# 配置Agent应用 agentcore configure --entrypoint my_agent.py --execution-role MyAgentExecutionRole --name MyAgentApp # 部署Agent应用(默认使用CodeBuild在云端构建和部署) agentcore launch - 调用Agent应用: 使用'invoke'命令向已部署的Agent发送请求。
agentcore invoke '{"message": "Hello Agent!"}'
信息
分类
AI与计算