关于 Amazon CloudWatch Logs MCP Server
这是一个通过 AWS SDK 让 AI 助手管理 Amazon CloudWatch Logs 的 MCP 服务,支持日志组、日志流、事件和 Logs Insights 查询;项目仍在开发中,不适合生产环境。
主要功能
- 01管理日志组和日志流
- 02上传与读取日志事件
- 03按模式或时间筛选事件
- 04运行 Logs Insights 查询
- 05可选只读模式
适用场景
- 01检查 CloudWatch 日志事件
- 02创建或删除日志组和日志流
- 03使用 CloudWatch Logs Insights 查询日志
MCP 相关
它向 MCP 客户端提供 CloudWatch Logs 操作工具,包括日志管理和 Insights 查询。设置 READONLY=true 可禁用写操作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Amazon CloudWatch Logs MCP Server
一个用于与 Amazon CloudWatch Logs 服务交互的模型上下文协议(MCP)服务。此服务通过 AWS SDK 提供工具,让 AI 助手能够通过标准化接口管理 CloudWatch 日志。
注意: 此项目目前仍在积极开发中,尚未达到可用于生产环境的状态。首次稳定版发布前,功能和 API 可能会有重大变化。
概述
此 MCP 服务允许 AI 助手通过模型上下文协议与 Amazon CloudWatch Logs 交互。它提供用于执行各种 CloudWatch Logs 操作的标准化接口,支持全面管理和监控日志数据。
快速开始
前置条件
- 可访问 CloudWatch Logs 的 AWS 账户
- 具有适当权限的 AWS 访问密钥和秘密密钥
- Node.js(用于通过 npm 安装)或 Docker
安装
选择以下任一安装方式:
选项 1:npm 包
# Install the package
npm install -g @hyorimitsu/amazon-cloudwatch-logs-mcp-server
# Configure in your AI assistant's configuration
# See Configuration section below
选项 2:Docker 镜像
# Pull the Docker image
docker pull ghcr.io/hyorimitsu/mcp-amazon-cloudwatch-logs:latest
# Configure in your AI assistant's configuration
# See Configuration section below
选项 3:本地开发构建
# Clone the repository
git clone https://github.com/hyorimitsu/mcp-amazon-cloudwatch-logs.git
cd mcp-amazon-cloudwatch-logs
# Install dependencies
pnpm install
# Build the project
pnpm run build
# Configure in your AI assistant's configuration
# See Configuration section below
配置
将此服务添加到 AI 助手的配置中:
npm 安装
{
"mcpServers": {
"amazon-cloudwatch-logs": {
"command": "amazon-cloudwatch-logs-mcp-server",
"env": {
"AWS_REGION": "us-east-1",
"AWS_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY>",
"AWS_SECRET_ACCESS_KEY": "<YOUR_SECRET_KEY>"
}
}
}
}
Docker 安装
{
"mcpServers": {
"amazon-cloudwatch-logs": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"AWS_REGION",
"-e",
"AWS_ACCESS_KEY_ID",
"-e",
"AWS_SECRET_ACCESS_KEY",
"ghcr.io/hyorimitsu/mcp-amazon-cloudwatch-logs"
],
"env": {
"AWS_REGION": "us-east-1",
"AWS_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY>",
"AWS_SECRET_ACCESS_KEY": "<YOUR_SECRET_KEY>"
}
}
}
}
本地开发构建
{
"mcpServers": {
"amazon-cloudwatch-logs": {
"command": "node",
"args": ["/path/to/mcp-amazon-cloudwatch-logs/build/index.js"],
"env": {
"AWS_REGION": "us-east-1",
"AWS_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY>",
"AWS_SECRET_ACCESS_KEY": "<YOUR_SECRET_KEY>"
}
}
}
}
环境变量
| 变量 | 必填 | 说明 | 默认值 |
|---|---|---|---|
| AWS_REGION | 否 | CloudWatch Logs 资源所在的 AWS 区域 | us-east-1 |
| AWS_ACCESS_KEY_ID | 是 | 用于身份验证的 AWS 访问密钥 ID | - |
| AWS_SECRET_ACCESS_KEY | 是 | 用于身份验证的 AWS 秘密访问密钥 | - |
| READONLY | 否 | 设置为 "true" 时,仅允许读取操作 | false |
只读模式
将 READONLY 环境变量设为 "true",即可启用只读模式:
"env": {
"AWS_REGION": "us-east-1",
"AWS_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY>",
"AWS_SECRET_ACCESS_KEY": "<YOUR_SECRET_KEY>",
"READONLY": "true"
}
在只读模式下:
- 仅提供 READ 操作(用于检索或查询信息的工具)
- 禁用 WRITE 操作(用于创建、修改或删除资源的工具)
此模式适用于允许查看日志但禁止修改 CloudWatch Logs 资源的场景。
可用工具
日志组操作
| 工具名称 | 操作类型 | 描述 |
|---|---|---|
| create_log_group | WRITE | 使用指定名称创建日志组。每个账户在每个区域最多可创建 1,000,000 个日志组。 |
| describe_log_groups | READ | 列出指定的日志组。您可以列出所有日志组,也可以按前缀筛选结果。结果按日志组名称以 ASCII 顺序排序。 |
| delete_log_group | WRITE | 删除指定的日志组,并永久删除与该日志组关联的所有已归档日志事件。 |
日志流操作
| 工具名称 | 操作类型 | 描述 |
|---|---|---|
| create_log_stream | WRITE | 为指定的日志组创建日志流。日志流是一系列源自单一来源的日志事件,例如应用程序实例或正在监控的资源。 |
| describe_log_streams | READ | 列出指定日志组的日志流。您可以列出所有日志流,也可以按前缀筛选结果。还可以控制结果的排序方式。 |
| delete_log_stream | WRITE | 删除指定的日志流,并永久删除与该日志流关联的所有已归档日志事件。 |
日志事件操作
| 工具名称 | 操作类型 | 描述 |
|---|---|---|
| put_log_events | WRITE | 将一批日志事件上传到指定的日志流。 |
| get_log_events | READ | 列出指定日志流中的日志事件。您可以列出所有日志事件,也可以按时间范围筛选。 |
| filter_log_events | READ | 列出指定日志组中的日志事件。您可以列出所有日志事件,也可以按以下一项或多项条件筛选结果:筛选模式、时间范围或日志流名称(或与多个日志流匹配的日志流名称前缀)。 |
Insights 操作
| 工具名称 | 操作类型 | 描述 |
|---|---|---|
| start_query | READ | 使用 CloudWatch Logs Insights 启动对一个或多个日志组的查询。指定要查询的日志组和时间范围,以及要使用的查询字符串。 |
| stop_query | READ | 停止正在进行的 CloudWatch Logs Insights 查询。如果查询已结束,该操作会返回错误,提示指定的查询未在运行。 |
| get_query_results | READ | 返回指定查询的结果。 |
| describe_queries | READ | 返回此账户中已排期、正在运行或近期运行过的 CloudWatch Logs Insights 查询列表。你可以请求所有查询,也可以将范围限制为特定日志组的查询或具有特定状态的查询。 |
有关每个工具的详细文档(包括参数和示例),请参阅 TOOLS.md。
开发
有关开发和扩展此项目的信息,请参阅 CONTRIBUTING.md。
许可证
本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。