首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
首页
学习
活动
专区
圈层
工具
MCP广场
MCP广场 >详情页
cloudwatch-logs-mcp2025-05-210分享
github
一种允许AI助手通过列出日志组和读取日志条目来访问AWS CloudWatch日志的MCP服务器。
By serkanh
2025-05-210
github
详情内容

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 字符串,包括 logGroupNamecreationTimestoredBytes

get_logs

从特定的日志组获取 CloudWatch 日志。

参数:

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

返回: 包含日志事件的 JSON 字符串,包括 timestampmessagelogStreamName

设置

AWS 凭证

确保您已经配置了 AWS 凭证。您可以使用 AWS CLI 或设置环境变量来完成配置:

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY

与 Claude 桌面版一起使用

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

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档