Skip to main content
Glama
sarteta

mcp-cloudwatch-explorer

by sarteta

mcp-cloudwatch-explorer

MCP-native AWS CloudWatch explorer. Lets an AI agent (Claude, etc) query metrics, alarms, and logs over MCP — read-only by design — so you can ask "what's wrong with prod?" in a chat and get a useful answer instead of a 4-tab CloudWatch console session.

flowchart LR
    A[Claude / MCP client] -- tool call --> S[mcp-cloudwatch-explorer]
    S -- boto3 cloudwatch / logs --> CW[CloudWatch metrics<br/>alarms · logs]
    CW --> S
    S -- ranked findings --> A

Tools exposed (implemented)

Tool

Returns

list_alarms_in_alarm(region)

All CloudWatch alarms currently in ALARM state

get_metric_stats(namespace, metric, dimensions, period_min, hours)

Datapoints for a metric over the last N hours

recent_log_errors(log_group, hours)

Recent ERROR / Exception lines from a log group

summarize_health(region)

One-shot health snapshot: alarms in ALARM + count by namespace

Related MCP server: AWS MCP Server

Roadmap

  • top_metrics_by_breach(region, hours) — metrics that breached their threshold most in last N hours (needs CloudWatch metric history aggregation)

Why MCP

Standard CloudWatch usage:

  1. SSH or open Console.

  2. Click through dashboards.

  3. Filter by service.

  4. Try to remember the metric name.

  5. Eyeball the graph.

With MCP:

> Hey, looks like prod is slow. Anything alarming?

[claude calls list_alarms_in_alarm + summarize_health]

Yes — 2 alarms in ALARM right now in us-east-1:
- ALB-5xx-rate (api-prod) breached 3 times in last hour
- RDS-CPUUtilization (db-prod-1) at 87% sustained

Top recent log errors in /aws/lambda/api-prod:
- ConnectionPool exhausted (47x)
- DDB throttling on Users.GetItem (12x)

Probable root cause: connection pool saturation under high traffic
caused by the 5xx rate.

That's a 30-second triage instead of 5 minutes of console-clicking.

Quick start

pip install -e .

# AWS creds via your usual mechanism
export AWS_PROFILE=mycompany-readonly

python -m mcp_cloudwatch_explorer.server

For Claude Desktop, add to your MCP config:

{
  "mcpServers": {
    "cloudwatch-explorer": {
      "command": "python",
      "args": ["-m", "mcp_cloudwatch_explorer.server"],
      "env": {"AWS_PROFILE": "mycompany-readonly"}
    }
  }
}

Safety

  • Scoped IAM: needs only cloudwatch:Describe*, cloudwatch:Get*, logs:Describe*, logs:FilterLogEvents. Never write.

  • No mutation tools. By design.

  • Pagination + AWS API throttle handling on every describe_* call.

The three together cover Postgres + AWS cost + AWS observability for one agent session — a single Claude conversation can audit your DB, your spend, and your alarms.

License

MIT

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sarteta/mcp-cloudwatch-explorer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server