这是一个提供工具来访问 AWS CloudWatch 日志的 MCP(Model Context Protocol)服务器。该服务器允许 AI 助手列出日志组并从 AWS CloudWatch 读取日志条目。
列出可用的 CloudWatch 日志组。
参数:
prefix
(可选):日志组名称前缀region
(可选):AWS 区域accessKeyId
(可选):AWS 访问密钥 IDsecretAccessKey
(可选):AWS 密钥访问密钥sessionToken
(可选):AWS 会话令牌返回: 包含日志组列表的 JSON 字符串,包括 logGroupName
、creationTime
和 storedBytes
。
从特定的日志组获取 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 CLI 或设置环境变量来完成配置:
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
将以下内容添加到您的 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 容器中运行服务器,可以设置一个 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