mcpField
C
CloudWatch Logs MCP Server

CloudWatch Logs MCP Server

本地服务
github.com/serkanh开发工具2783 周前更新

关于 CloudWatch Logs MCP Server

CloudWatch Logs MCP Server 是访问 AWS CloudWatch 日志的 MCP 服务,允许 AI 助手列出日志组并读取日志条目。项目基于 FastMCP 和 boto3 实现。

主要功能

  1. 01列出 CloudWatch 日志组
  2. 02按时间范围和过滤模式读取日志
  3. 03支持显式传入 AWS 凭据和区域
  4. 04基于 FastMCP 实现

适用场景

  1. 01让 AI 助手查询应用的 CloudWatch 日志
  2. 02按时间范围排查日志中的错误信息
  3. 03在 Claude Desktop 中接入 AWS 日志

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 list_groups 和 get_logs 两个工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

CloudWatch Logs MCP 服务

一个用于访问 AWS CloudWatch 日志的 MCP(Model Context Protocol)服务。此服务允许 AI 助手列出日志组并读取 AWS CloudWatch 中的日志条目。

可用工具

list_groups

列出可用的 CloudWatch 日志组。

参数:

  • prefix(可选):日志组名称前缀
  • region(可选):AWS 区域
  • accessKeyId(可选):AWS 访问密钥 ID
  • secretAccessKey(可选):AWS 秘密访问密钥
  • sessionToken(可选):AWS 会话令牌

**返回:**包含日志组列表的 JSON 字符串,其中包括 logGroupName、creationTime 和 storedBytes。

get_logs

获取指定日志组中的 CloudWatch 日志。

参数:

  • logGroupName(必填):日志组名称
  • logStreamName(可选):日志流名称
  • startTime(可选):ISO 格式或相对时间的开始时间(例如,“5m”、“1h”、“1d”)
  • endTime(可选):ISO 格式的结束时间
  • filterPattern(可选):日志筛选模式
  • region(可选):AWS 区域
  • accessKeyId(可选):AWS 访问密钥 ID
  • secretAccessKey(可选):AWS 秘密访问密钥
  • sessionToken(可选):AWS 会话令牌

**返回:**包含日志事件的 JSON 字符串,其中包括 timestamp、message 和 logStreamName。

设置

AWS 凭证

确保已配置 AWS 凭证。你可以使用 AWS CLI 配置凭证,也可以设置环境变量:

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY
与 Claude Desktop 搭配使用

将以下内容添加到 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

如果你更倾向于在 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 服务的简便方式。此服务公开了两个主要工具:

  1. list_groups:列出可用的 CloudWatch 日志组
  2. get_logs:读取指定日志组中的日志条目

每个工具都通过 @mcp.tool() 装饰器修饰的异步函数实现。此服务使用 boto3 库与 AWS CloudWatch Logs API 交互。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。