# AWS CloudWatch MCP server

> Troubleshoot AWS services with CloudWatch metrics, alarms, PromQL and Logs Insights queries.

- Listing: https://mcp.tc/i/aws-cloudwatch
- Connect: this is a local (stdio) server; install it on your machine (see Install). The listing link is a page, not an MCP endpoint.
- Type: local (stdio)
- Auth: no API key needed
- Category: [Observability & Incidents](https://mcp.tc/c/observability)
- Vendor: Amazon Web Services
- Verified: yes, mcp.tc checked that this is the official server (https://mcp.tc/verify). It says who runs the server, not that it is safe.
- Homepage: <https://awslabs.github.io/mcp/servers/cloudwatch-mcp-server>
- Docs: <https://awslabs.github.io/mcp/servers/cloudwatch-mcp-server/>
- Repository: <https://github.com/awslabs/mcp/tree/main/src/cloudwatch-mcp-server>
- Package: pypi `awslabs.cloudwatch-mcp-server`

## About

Connects to Amazon CloudWatch so an assistant can investigate operational issues. It reads metric data and metadata, analyzes trends, lists active alarms and their history, recommends alarm settings, runs PromQL queries, and runs Logs Insights queries across one or more log groups and regions.

It runs locally over stdio, started with uvx (awslabs.cloudwatch-mcp-server), and must run on the same host as the client. It uses your local AWS credentials, for example through AWS\_PROFILE and AWS\_REGION, and the IAM identity needs CloudWatch read permissions.

## What it can do

- Fetch CloudWatch metric data, including percentiles and math expressions
- Analyze metrics for trend, seasonality and statistics
- Get recommended alarm configurations for a metric
- List active alarms and review alarm state history
- Find log groups and analyze them for anomalies and error patterns
- Run Logs Insights queries, including batches across regions
- Run instant and range PromQL queries and discover labels

## Example prompts

- "Which CloudWatch alarms are active in us-east-1 right now?"
- "Show the p99 latency for my Lambda function over the last 6 hours."
- "Analyze the /aws/lambda/my-app log group for error patterns since yesterday."
- "Recommend alarm settings for the CPUUtilization metric of my EC2 instance."

## Install

### Claude Code

1. Run this in a terminal, in your project folder:

```bash
claude mcp add --transport stdio aws-cloudwatch -- uvx awslabs.cloudwatch-mcp-server@latest
```

2. Start Claude Code and type `/mcp`. **aws-cloudwatch** should show as connected.

Add `--scope user` to make it available in every project.

### Claude Desktop

1. Open **Settings → Developer → Edit Config**. It opens `claude_desktop_config.json`. Add:

`claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "aws-cloudwatch": {
      "command": "uvx",
      "args": [
        "awslabs.cloudwatch-mcp-server@latest"
      ]
    }
  }
}
```

2. Save the file and restart Claude Desktop.

Needs uv (Python) on your computer. The file lives in `~/Library/Application Support/Claude/` on macOS and `%APPDATA%\Claude\` on Windows.

### Cursor

[Add to Cursor](<https://cursor.com/install-mcp?name=aws-cloudwatch&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyJhd3NsYWJzLmNsb3Vkd2F0Y2gtbWNwLXNlcnZlckBsYXRlc3QiXX0%3D>) (opens Cursor)

Or add it by hand to `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (this project):

`mcp.json`:

```json
{
  "mcpServers": {
    "aws-cloudwatch": {
      "command": "uvx",
      "args": [
        "awslabs.cloudwatch-mcp-server@latest"
      ]
    }
  }
}
```

Needs uv (Python) on your computer.

### VS Code

[Install in VS Code](<https://vscode.dev/redirect/mcp/install?name=aws-cloudwatch&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.cloudwatch-mcp-server%40latest%22%5D%7D>) (opens VS Code)

Or from a terminal:

```bash
code --add-mcp '{"name":"aws-cloudwatch","type":"stdio","command":"uvx","args":["awslabs.cloudwatch-mcp-server@latest"]}'
```

Or commit it to the repo in `.vscode/mcp.json`:

`.vscode/mcp.json`:

```json
{
  "servers": {
    "aws-cloudwatch": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "awslabs.cloudwatch-mcp-server@latest"
      ]
    }
  }
}
```

Needs uv (Python) on your computer.

### Devin Desktop

1. Add it to `~/.config/devin/mcp_config.json` (macOS and Linux) or `%APPDATA%\devin\mcp_config.json` (Windows):

`mcp_config.json`:

```json
{
  "mcpServers": {
    "aws-cloudwatch": {
      "command": "uvx",
      "args": [
        "awslabs.cloudwatch-mcp-server@latest"
      ]
    }
  }
}
```

2. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf.

### Codex

```bash
codex mcp add aws-cloudwatch -- uvx awslabs.cloudwatch-mcp-server@latest
```

Or edit `~/.codex/config.toml` directly:

`config.toml`:

```toml
[mcp_servers.aws-cloudwatch]
command = "uvx"
args = ["awslabs.cloudwatch-mcp-server@latest"]
```

Needs uv (Python) on your computer.

### Gemini CLI

```bash
gemini mcp add aws-cloudwatch uvx awslabs.cloudwatch-mcp-server@latest
```

This adds it to the current project. Add `-s user` to use it everywhere.

### Any client

Most clients that start local servers accept this shape:

```json
{
  "mcpServers": {
    "aws-cloudwatch": {
      "command": "uvx",
      "args": [
        "awslabs.cloudwatch-mcp-server@latest"
      ]
    }
  }
}
```

Zed puts servers under `context_servers` in its settings, with the same `command`, `args` and `env` fields.

Needs uv (Python) on your computer.

## Details

- Server version: 0.3.1
- Last checked: 2026-10-03
- Listed: 2026-10-03
- Updated: 2026-10-03

---
Source: https://mcp.tc/i/aws-cloudwatch (mcp.tc is an independent directory, not affiliated with this server's publisher). Corrections: https://mcp.tc/report
