MCP服务器部署工具

该项目展示了如何在Amazon Bedrock AgentCore Runtime上构建、测试和部署带有OAuth(Cognito)认证的MCP服务器,并提供本地和远程MCP客户端用于测试工具发现和调用。

  • by mkingopng
  • HTML
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 mkingopng/build_club_mcp

使用说明

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控制台手动检查,以确保清理有效