Amazon CloudWatch记录MCP服务器
一种模型上下文协议(MCP)服务器,提供与Amazon CloudWatch日志服务交互的工具。此服务器使AI助手能够使用AWS SDK通过标准化接口管理CloudWatch日志。
  ](https://www.npmjs.com/package/@hyorimitsu/amazon-cloudwatch-logs-mcp-server) ](https://github.com/hyorimitsu/mcp-amazon-cloudwatch-logs/pkgs/container/mcp-amazon-cloudwatch-logs)
注: 该项目目前正在积极开发中,尚未准备好投入生产使用。在第一个稳定版本发布之前,功能和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": "",
"AWS_SECRET_ACCESS_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": "",
"AWS_SECRET_ACCESS_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": "",
"AWS_SECRET_ACCESS_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": "",
"AWS_SECRET_ACCESS_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许可证获得许可-请参阅 许可证 文件以获取详细信息。
