article
README
🚀 AWS Bedrock日志分析工具(通过Anthropic的MCP协议)
这是一个命令行界面和API工具,借助Anthropic的模型控制协议(Model Control Protocol,MCP),可对亚马逊网络服务(AWS)Bedrock的使用情况和日志进行分析,为用户提供便捷的日志分析途径。
🚀 快速开始
该工具提供了一种方便的方式来分析AWS Bedrock模型调用日志,并通过Anthropic的Claude模型作为交互式界面。它充当一个MCP服务器,将AWS CloudWatch Logs API的功能暴露给Claude,使您能够通过自然语言查询和分析您的Bedrock使用数据。
✨ 主要特性
- 模型使用分析:查看Bedrock模型使用的详细统计信息以及令牌消耗情况
- 用户分析:按用户分析使用模式和成本
- 每日使用报告:跟踪每日使用趋势和模型调用情况
- 令牌消耗指标:监控输入、完成和总令牌的使用情况
- 交互式界面:通过自然语言查询Bedrock使用数据,使用Claude进行交互
📦 安装指南
环境要求
- Python 3.13+版本
- 具备CloudWatch Logs访问权限的AWS凭证
- Anthropic API访问权限(用于Claude集成)
安装步骤
-
安装
uv:# 在macOS和Linux上 curl -LsSf https://astral.sh/uv/install.sh | sh# 在Windows上 powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" -
克隆此仓库:
git clone https://github.com/dheerajoruganty/aws-bedrock-logs-mcp-server.git cd aws-bedrock-logs-mcp-server -
设置Python虚拟环境并安装依赖项:
uv venv && source .venv/bin/activate && uv pip sync pyproject.toml对于Windows:
uv venv && .venv\Scripts\activate && uv pip sync pyproject.toml -
配置您的AWS凭证:
mkdir -p ~/.aws # 在~/.aws/credentials和~/.aws/config中设置您的凭证
💻 使用示例
启动服务器
运行以下命令启动服务器:
python cloudwatch_mcp_server.py
默认情况下,服务器使用stdio传输与MCP客户端通信。
Claude桌面配置
在Claude Desktop中配置此工具:
{
"mcpServers": {
"aws_bedrock_logs": {
"command": "uv",
"args": [
"--directory",
"/path/to/aws-bedrock-logs-mcp",
"run",
"cloudwatch_mcp_server.py"
]
}
}
}
请确保将目录路径替换为系统上的实际路径。
可用工具
服务器向Claude公开了以下可以使用的工具:
get_bedrock_logs_df:检索原始Bedrock调用日志作为pandas DataFrameget_model_usage_stats:按模型获取使用统计信息get_user_usage_stats:按用户获取使用统计信息get_daily_usage_stats:获取每日使用统计信息和趋势
示例查询
一旦通过MCP支持的界面连接到Claude,您可以提出以下问题:
- "显示过去7天的Bedrock使用统计"
- "各个模型的平均令牌消耗是多少?"
- "按总令牌数排名的Bedrock主要用户是谁?"
- "给我提供一个每日模型调用分解"
🔧 技术细节
项目结构
cloudwatch_mcp_server.py:实现MCP工具的主要服务器代码pyproject.toml:项目依赖项和元数据Dockerfile:部署的容器定义
依赖项
关键依赖项包括:
boto3:用于与AWS交互的Python SDKmcp[cli]:Anthropic的模型控制协议库pandas:数据操作和分析pydantic:使用Python类型注解进行数据验证
📄 许可证
致谢
- 该工具使用了Anthropic的MCP框架
- 基于AWS CloudWatch Logs API构建
- 使用FastMCP实现服务器端
微信扫一扫