返回 MCP 目录
public公开dns本地运行

云监控日志MCP服务

一种允许AI助手通过列出日志组和读取日志条目来访问AWS CloudWatch日志的MCP服务器。

article

README

CloudWatch Logs MCP Server

An MCP (Model Context Protocol) server that provides tools for accessing AWS CloudWatch logs. This server allows AI assistants to list log groups and read log entries from AWS CloudWatch.

Available Tools

list_groups

Lists available CloudWatch log groups.

Parameters:

  • prefix (optional): Log group name prefix
  • region (optional): AWS region
  • accessKeyId (optional): AWS access key ID
  • secretAccessKey (optional): AWS secret access key
  • sessionToken (optional): AWS session token

Returns: JSON string with the list of log groups, including logGroupName, creationTime, and storedBytes.

get_logs

Gets CloudWatch logs from a specific log group.

Parameters:

  • logGroupName (required): The name of the log group
  • logStreamName (optional): The name of the log stream
  • startTime (optional): Start time in ISO format or relative time (e.g., "5m", "1h", "1d")
  • endTime (optional): End time in ISO format
  • filterPattern (optional): Filter pattern for the logs
  • region (optional): AWS region
  • accessKeyId (optional): AWS access key ID
  • secretAccessKey (optional): AWS secret access key
  • sessionToken (optional): AWS session token

Returns: JSON string with the log events, including timestamp, message, and logStreamName.

Setup

AWS Credentials

Ensure you have AWS credentials configured. You can set them up using the AWS CLI or by setting environment variables:

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY

Usage with Claude Desktop

Add the following to your 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

If you prefer to run the server in a Docker container, you can set up a Dockerfile and use the following configuration:

{
  "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>",
      }
    }
  }
}

Implementation Details

This server is built using the FastMCP class from the MCP SDK, which provides a simple way to create MCP servers. The server exposes two main tools:

  1. list_groups: Lists available CloudWatch log groups
  2. get_logs: Reads log entries from specific log groups

Each tool is implemented as an async function decorated with @mcp.tool(). The server uses the boto3 library to interact with the AWS CloudWatch Logs API.

License

MIT

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端