内容
# MCP on AWS Bedrock
一个简单明了的示例,用于实现和理解Anthropic的MCP(在AWS Bedrock上)。
<a href="https://glama.ai/mcp/servers/cuhom1oc17">
<img width="380" height="200" src="https://glama.ai/mcp/servers/cuhom1oc17/badge" />
</a>
> 对于多个MCP服务器的管理,可以参考[这个小项目Q-2001](https://github.com/davidshtian/Q-2001)~
## 概述
本项目演示了如何在AWS Bedrock上实现和使用Anthropic的模型上下文协议(Model Context Protocol,MCP)。它提供了一个客户端实现,可以通过AWS Bedrock的运行时服务与启用MCP的工具进行交互。
## 更新 2025-05-10: 可流式传输的HTTP
- 添加对[可流式传输的HTTP](https://github.com/modelcontextprotocol/python-sdk/releases/tag/v1.8.0)的支持
- 重写了URL获取MCP服务器`fetch_url_mcp_server.py`,演示不同的传输类型
### 使用说明
使用默认的标准输入输出设置运行服务器(无传输参数):
```bash
uv run fetch_url_mcp_server.py
# 客户端
uv run client_stdio.py
```
使用可流式传输的HTTP在默认端口(8000)运行:
```bash
python fetch_url_mcp_server.py --transport streamable-http
# 客户端
uv run client_streamablehttp.py
```
在自定义端口上使用可流式传输的HTTP运行:
```bash
python fetch_url_mcp_server.py --transport streamable-http --port 8080
```
## 先决条件
- Python 3.10或更高版本
- 具有Bedrock访问权限的AWS账户
- 配置好的AWS凭证
- UV包管理器
## 特性
- 使用Converse API与AWS Bedrock运行时的无缝集成
- 为Bedrock兼容性进行工具格式转换
- 异步通信处理
- 结构化日志记录以便调试
## 贡献
欢迎提交问题和拉取请求,以改善实现。
## 许可证
MIT许可证
## 参考资料
- [Anthropic MCP](https://modelcontextprotocol.io/)
- [MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk)
- [AWS Bedrock](https://aws.amazon.com/bedrock/)