关于 CloudWatch Logs MCP Server
CloudWatch Logs MCP Server 是访问 AWS CloudWatch 日志的 MCP 服务,允许 AI 助手列出日志组并读取日志条目。项目基于 FastMCP 和 boto3 实现。
主要功能
- 01列出 CloudWatch 日志组
- 02按时间范围和过滤模式读取日志
- 03支持显式传入 AWS 凭据和区域
- 04基于 FastMCP 实现
适用场景
- 01让 AI 助手查询应用的 CloudWatch 日志
- 02按时间范围排查日志中的错误信息
- 03在 Claude Desktop 中接入 AWS 日志
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 list_groups 和 get_logs 两个工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
CloudWatch Logs MCP 服务
一个用于访问 AWS CloudWatch 日志的 MCP(Model Context Protocol)服务。此服务允许 AI 助手列出日志组并读取 AWS CloudWatch 中的日志条目。
可用工具
list_groups
列出可用的 CloudWatch 日志组。
参数:
prefix(可选):日志组名称前缀region(可选):AWS 区域accessKeyId(可选):AWS 访问密钥 IDsecretAccessKey(可选):AWS 秘密访问密钥sessionToken(可选):AWS 会话令牌
**返回:**包含日志组列表的 JSON 字符串,其中包括 logGroupName、creationTime 和 storedBytes。
get_logs
获取指定日志组中的 CloudWatch 日志。
参数:
logGroupName(必填):日志组名称logStreamName(可选):日志流名称startTime(可选):ISO 格式或相对时间的开始时间(例如,“5m”、“1h”、“1d”)endTime(可选):ISO 格式的结束时间filterPattern(可选):日志筛选模式region(可选):AWS 区域accessKeyId(可选):AWS 访问密钥 IDsecretAccessKey(可选):AWS 秘密访问密钥sessionToken(可选):AWS 会话令牌
**返回:**包含日志事件的 JSON 字符串,其中包括 timestamp、message 和 logStreamName。
设置
AWS 凭证
确保已配置 AWS 凭证。你可以使用 AWS CLI 配置凭证,也可以设置环境变量:
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY
与 Claude Desktop 搭配使用
将以下内容添加到 claude_desktop_config.json:
{
"mcpServers": {
"cloudwatch-logs": {
"command": "python3",
"args": ["/path/to/cloudwatch-logs-mcp/main.py"],
"env": {
"AWS_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY_ID>",
"AWS_SECRET_ACCESS_KEY": "<YOUR_SECRET_ACCESS_KEY>",
},
"disabled": false,
"autoApprove": []
}
}
}
Docker
如果你更倾向于在 Docker 容器中运行此服务,可以设置 Dockerfile 并使用以下配置:
{
"mcpServers": {
"cloudwatch-logs": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"AWS_ACCESS_KEY_ID",
"-e",
"AWS_SECRET_ACCESS_KEY",
"mcp/cloudwatch-logs"
],
"env": {
"AWS_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY_ID>",
"AWS_SECRET_ACCESS_KEY": "<YOUR_SECRET_ACCESS_KEY>",
}
}
}
}
实现详情
此服务使用 MCP SDK 中的 FastMCP 类构建,该类提供了一种创建 MCP 服务的简便方式。此服务公开了两个主要工具:
list_groups:列出可用的 CloudWatch 日志组get_logs:读取指定日志组中的日志条目
每个工具都通过 @mcp.tool() 装饰器修饰的异步函数实现。此服务使用 boto3 库与 AWS CloudWatch Logs API 交互。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。