Skip to main content

CloudWatch Logs MCP Server for accessing AWS CloudWatch logs

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_cloudwatch_logs_mcp-0.1.0.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iflow_mcp_cloudwatch_logs_mcp-0.1.0-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file iflow_mcp_cloudwatch_logs_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_cloudwatch_logs_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_cloudwatch_logs_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c86242cfa67b5891aaf71a03fde06c38fe6b4e1bc717493b2b0983e4a7ad8890
MD5 5924d62ab827093f2a28ad55765e724f
BLAKE2b-256 61ddb04db294b414a2e1f957d4d030077f3695bbb2d3de794d6ae149f0494a8c

See more details on using hashes here.

File details

Details for the file iflow_mcp_cloudwatch_logs_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_cloudwatch_logs_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_cloudwatch_logs_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 723afe76cdac85213ee8c848e86ee3ccf9252d86990f93262573c8052b433fa4
MD5 bcd902824f58b5459998b6f2bcaed927
BLAKE2b-256 9c32eec5838c7d0b46dd07d6e2a1004fd0e3bc10431c9b74b572564ce46f070c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page