mcp-aws-cost-doctor
Read-only AWS cost diagnostic server that enables AI agents to detect idle resources and orphaned assets, surfacing potential savings via boto3 describe calls.
README
mcp-aws-cost-doctor
MCP-native AWS cost diagnostic server. Exposes a small set of read-only tools that an AI agent (Claude, etc) can call to surface common cost leaks in an AWS account: idle EC2, orphaned EBS volumes, unused Elastic IPs, oversized RDS, NAT gateways in dev VPCs.
Read-only by construction. No delete_*, no modify_*, no
terminate_*. The server can scan an account, never change it.
flowchart LR
A[Claude / MCP client] -- tool call --> S[mcp-aws-cost-doctor]
S -- boto3 describe_* --> AWS[AWS account<br/>IAM ReadOnlyAccess]
AWS --> S
S -- ranked findings + est. monthly waste --> A
Tools exposed (implemented)
| Tool | Returns |
|---|---|
list_orphaned_ebs(region) |
Unattached EBS volumes (billed, never mounted) |
list_old_snapshots(region, min_age_days=90) |
EBS snapshots whose source volume was deleted |
list_unused_eips(region) |
Elastic IPs allocated but not associated |
summarize_findings(region) |
Run all implemented scanners + return ranked summary |
Roadmap
Additional scanners planned (PRs welcome):
list_idle_ec2(region)— EC2 with avg CPU < 5% over last 14 days (needs CloudWatch)list_oversized_rds(region)— RDS with avg CPU < 20% + low connectionslist_s3_no_lifecycle()— S3 buckets with no lifecycle policy on standard storagelist_nat_in_dev_vpcs(region)— NAT gateways in VPCs taggedEnv=dev|staging
Why MCP
aws-cost-optimizer-cli (sibling repo) does the same scan as a
standalone CLI. This server wraps the same scanners as MCP tools so
they can be called by an AI agent inside a conversation:
> Can you scan us-east-1 for cost leaks?
[claude calls list_orphaned_ebs(region="us-east-1") + list_unused_eips(region="us-east-1") + ...]
I found 12 cost leaks totaling ~$340/mo:
- 3 unattached EBS volumes (~$180/mo)
- 4 unused Elastic IPs (~$15/mo)
- 1 oversized RDS db.r6g.xlarge with avg CPU 8% (~$140/mo)
...
Quick start
pip install -e .
# Set AWS credentials however you normally do (profile, env, instance role)
export AWS_PROFILE=mycompany-readonly
# Run the MCP server (stdio transport — wire into Claude Desktop config)
python -m mcp_aws_cost_doctor.server
For Claude Desktop, add to your MCP config:
{
"mcpServers": {
"aws-cost-doctor": {
"command": "python",
"args": ["-m", "mcp_aws_cost_doctor.server"],
"env": {"AWS_PROFILE": "mycompany-readonly"}
}
}
}
Safety
- IAM: server is meant to run with
ReadOnlyAccess(or a tighter custom policy — seeiam/policy.json). It does not attempt to write. - Rate limits: each tool batches
describe_*calls and respects AWS API throttling. - No mutation: tools are named
list_*/summarize_*. There is nodelete_*/terminate_*. By design.
Status
Early — basic tools land first, more arrive as the underlying
aws-cost-optimizer-cli matures. PRs welcome.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.