# AWS Billing and Cost Management MCP server

> Analyze AWS costs, budgets, Savings Plans, invoices and cost-optimization recommendations from your assistant.

- Listing: https://mcp.tc/i/aws-billing
- 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: [Cloud & DevOps](https://mcp.tc/c/cloud-devops)
- 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/billing-cost-management-mcp-server>
- Docs: <https://awslabs.github.io/mcp/servers/billing-cost-management-mcp-server/>
- Repository: <https://github.com/awslabs/mcp/tree/main/src/billing-cost-management-mcp-server>
- Package: pypi `awslabs.billing-cost-management-mcp-server`

## About

Wraps AWS Billing and Cost Management APIs through boto3. It covers Cost Explorer analysis and forecasts, budgets, cost anomalies, Free Tier usage, Compute Optimizer and Cost Optimization Hub recommendations, Reserved Instances and Savings Plans, S3 Storage Lens queries, cost categories, allocation tags, invoices, Billing Conductor and Enterprise Support charges.

Runs locally over stdio with uvx (awslabs.billing-cost-management-mcp-server). It uses your local AWS credentials or profile, so all calls follow your account's permissions and AWS service limits. Requires uv and Python 3.10 or newer.

## What it can do

- Analyze historical and forecasted costs with Cost Explorer
- Check budgets, cost anomalies and Free Tier usage
- Get Compute Optimizer and Cost Optimization Hub recommendations
- Review Savings Plans and Reserved Instance coverage and purchase options
- Query S3 Storage Lens metrics for storage cost savings
- Compare cost and usage between periods and linked accounts
- List invoices, cost categories and cost allocation tags
- Inspect Billing Conductor groups and Enterprise Support charges

## Example prompts

- "Compare my AWS costs this month with last month and show the main drivers"
- "Which of my budgets are close to their limit?"
- "Recommend Savings Plans purchases based on my recent usage"
- "Find EC2 instances that could move to Graviton"

## Install

### Claude Code

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

```bash
claude mcp add --transport stdio aws-billing -- uvx awslabs.billing-cost-management-mcp-server@latest
```

2. Start Claude Code and type `/mcp`. **aws-billing** 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-billing": {
      "command": "uvx",
      "args": [
        "awslabs.billing-cost-management-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-billing&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyJhd3NsYWJzLmJpbGxpbmctY29zdC1tYW5hZ2VtZW50LW1jcC1zZXJ2ZXJAbGF0ZXN0Il19>) (opens Cursor)

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

`mcp.json`:

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

Needs uv (Python) on your computer.

### VS Code

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

Or from a terminal:

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

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

`.vscode/mcp.json`:

```json
{
  "servers": {
    "aws-billing": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "awslabs.billing-cost-management-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-billing": {
      "command": "uvx",
      "args": [
        "awslabs.billing-cost-management-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-billing -- uvx awslabs.billing-cost-management-mcp-server@latest
```

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

`config.toml`:

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

Needs uv (Python) on your computer.

### Gemini CLI

```bash
gemini mcp add aws-billing uvx awslabs.billing-cost-management-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-billing": {
      "command": "uvx",
      "args": [
        "awslabs.billing-cost-management-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.0.39
- Last checked: 2026-10-03
- Listed: 2026-10-03
- Updated: 2026-10-03

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