云监控日志MCP服务
一种允许AI助手通过列出日志组和读取日志条目来访问AWS CloudWatch日志的MCP服务器。
服务介绍
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 桌面版一起使用
将以下内容添加到您的 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