Amazon Bedrock AgentCore运行时上的MCP服务器(最小自述文件)
这个项目演示了如何 构建、测试和部署MCP(模型上下文协议)服务器 到...上 亚马逊基岩代理核心运行时 和 OAuth(Cognito)身份验证. 它还包括用于测试工具发现和调用的本地和远程MCP客户端。
______________________________________________________________________
特性
- MCP服务器内置 FastMCP
- 三个示例工具:
- add_numbers - multiply_numbers - greet_user
- 用于测试的本地MCP客户端
- Cognito安全的AgentCore运行时部署
- 具有自动JWT刷新功能的远程客户端
- 端到端演示:构建→ 部署→ 验证→ 调用工具
______________________________________________________________________
项目结构
mcp_server_project/
├── mcp_server.py # MCP server implementation
├── my_mcp_client.py # Local testing client
├── my_mcp_client_remote.py # Remote (Cognito-authenticated) client
├── invoke_mcp_tools.py # Remote invocation demo (tool calls)
├── requirements.txt
└── notebooks/
├── hosting_mcp_server.ipynb # Main tutorial notebook
└── runtime_with_strands_and_bedrock.ipynb # Additional runtime examples______________________________________________________________________
地方发展
启动MCP服务器
python mcp_server.py列出可用工具
python my_mcp_client.py______________________________________________________________________
部署到AgentCore运行时
部署是通过 AgentCore入门工具包,其中:
- 生成一个Dockerfile
- 构建容器并将其推送到ECR
- 创建AgentCore运行时
- 通过Cognito配置OAuth
运行随附笔记本中的部署步骤:
- 在Amazon Bedrock AgentCore运行时托管MCP服务器–OAuth入站身份验证
此笔记本创建:
- Cognito用户池+应用客户端
- 基于JWT的授权器配置
- AgentCore运行时实例
- SSM+机密管理器条目,用于连接详细信息
______________________________________________________________________
远程调用
部署后,您可以使用以下方法测试MCP服务器:
python my_mcp_client_remote.py或者调用特定工具:
python invoke_mcp_tools.py客户端自动:
- 从SSM获取代理ARN
- 获取Cognito代币(并在需要时刷新)
- 通过以下方式连接到MCP服务器 可流式传输HTTP
- 执行
initialize,list_tools,以及call_tool运营
______________________________________________________________________
需求
- Python 3.10+
- 已配置AWS凭据
- 码头工人
- 亚马逊基岩代理核心入门工具包
- FastMCP和MCP库
以下列出了完整的依赖关系:
- 需求.txt
笔记本参考:
- AWS Show&Tell环节:AgentCore+Gateway深度探索
- 使用Strands代理的AgentCore运行时教程
______________________________________________________________________
清理
要删除已部署的资源,请使用笔记本中的清理部分:
- 删除AgentCore运行时
- 删除ECR仓库
- 删除SSM参数+机密管理器条目
- 始终通过电子AWS控制台手动检查,以确保清理有效
