这是一个提供访问AWS CloudWatch日志工具的MCP(模型上下文协议)服务器。此服务器允许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_IDAWS_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