CloudWatch日志管理服务器

一个提供与Amazon CloudWatch Logs服务交互工具的MCP服务器,使AI助手能够通过标准化接口管理CloudWatch日志。

  • by hyorimitsu
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 hyorimitsu/mcp-amazon-cloud-watch-logs

使用说明

Amazon CloudWatch记录MCP服务器

一种模型上下文协议(MCP)服务器,提供与Amazon CloudWatch日志服务交互的工具。此服务器使AI助手能够使用AWS SDK通过标准化接口管理CloudWatch日志。

注: 该项目目前正在积极开发中,尚未准备好投入生产使用。在第一个稳定版本发布之前,功能和API可能会发生重大变化。

概述

此MCP服务器允许AI助手通过模型上下文协议与Amazon CloudWatch日志进行交互。它为执行各种CloudWatch日志操作提供了一个标准化的接口,实现了对日志数据的全面管理和监控。

快速开始

先决条件

  • 具有CloudWatch日志访问权限的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日志资源所在的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日志资源进行任何修改的场景非常有用。

可用工具

日志组操作

工具名称 操作类型 描述
create_log_group WRITE 创建具有指定名称的日志组。每个区域每个帐户最多可以创建1000000个日志组。
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_avents READ 列出指定日志流中的日志事件。您可以列出所有日志事件或使用时间范围进行筛选。
filter_log_events READ 列出指定日志组中的日志事件。您可以列出所有日志事件,或通过以下一项或多项筛选结果:筛选模式、时间范围或日志流名称(或与多个日志流匹配的日志流名称前缀)。

洞察运营

工具名称 操作类型 描述
start_query READ 使用CloudWatch Logs Insights启动对一个或多个日志组的查询。您可以指定要查询的日志组和时间范围以及要使用的查询字符串。
stop_query READ 停止正在进行的CloudWatch Logs Insights查询。如果查询已经结束,操作将返回一个错误,指示指定的查询未运行。
get_query_results READ 返回指定查询的结果。
describe_queries READ 返回此帐户中已计划、正在运行或最近已运行的CloudWatch Logs Insights查询的列表。您可以请求所有查询,也可以将其限制为特定日志组的查询或具有特定状态的查询。

有关每个工具的详细文档,包括参数和示例,请参阅 TOOLS.md.

发展

有关开发和扩展此项目的信息,请参阅 贡献.md.

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。