AWS Cost Estimator MCP
by vivek-daml
README.md
# AWS Cost Estimator MCP
An end-to-end AWS cost estimation solution for teams. Ask your AI IDE to build an estimate — get a formatted Excel report with real pricing, INR conversion, and best practices. No manual steps.
## What This Does
```
You say: "Generate a cost report for Acme Corp with 3 EC2 m5.large and RDS PostgreSQL in ap-south-1"
AI does: 1. Builds estimate with full validation (Node.js MCP)
2. Saves to calculator.aws → gets shareable URL
3. Opens URL in headless browser → scrapes real costs
4. Generates formatted Excel (.xlsx) with INR pricing
You get: Acme_Corp_Cost_Report.xlsx in your project folder
```
## Two MCP Servers Working Together
| Server | Language | What it does |
|--------|----------|--------------|
| **AWS Pricing Calculator MCP** | Node.js | Searches 436+ AWS services, validates configs, builds estimates, exports to calculator.aws |
| **Cost Report Generator MCP** | Python | Takes the estimate URL, fetches real costs via headless browser, produces formatted Excel |
## Quick Start
See **[SETUP.md](SETUP.md)** for complete step-by-step instructions.
### TL;DR
```bash
# Clone
git clone https://github.com/vivek-daml/aws-cost-estimator-mcp.git
cd aws-cost-estimator-mcp
# Node.js side (estimate creation)
npm install
npm run build
# Python side (report generation)
cd cost-report-mcp
python -m venv .venv
.venv\Scripts\activate # Windows
pip install -r requirements.txt
playwright install chromium
cd ..
```
Add to `~/.kiro/settings/mcp.json` (or equivalent for Claude Desktop / Cursor / VS Code).
Replace `/path/to/aws-cost-estimator-mcp` with the actual folder where you cloned this repo,
and use forward slashes `/` (not backslashes) in the paths:
```json
{
"mcpServers": {
"aws-pricing-calculator-mcp-server": {
"command": "node",
"args": ["/path/to/aws-cost-estimator-mcp/dist/mcp-server.js"],
"disabled": false,
"autoApprove": [
"search_services",
"get_service_fields",
"create_estimate",
"add_service",
"validate_estimate",
"export_estimate",
"build_estimate"
]
},
"aws-cost-report-generator": {
"command": "/path/to/aws-cost-estimator-mcp/cost-report-mcp/.venv/Scripts/python.exe",
"args": ["/path/to/aws-cost-estimator-mcp/cost-report-mcp/server.py"],
"disabled": false,
"autoApprove": [
"generate_cost_report_excel",
"generate_cost_report_from_csv",
"get_exchange_rate"
]
}
}
}
```
## Excel Report Output
The generated report includes:
- **Summary sheet** — total monthly cost in INR
- **AWS Services sheet** — S.NO, Service, Per Month USD, Per Month INR, Per Year INR
- **EC2/RDS details** — Instance Type, vCPU, RAM, OS/Database, Running Hours, Pricing Model
- **Pricing Link** — the calculator.aws URL for reference
- **Notes** — region, exchange rate, per-service configuration descriptions
- **Best Practices** — 5 AI-generated recommendations (via AWS Bedrock Nova Pro)
## Compatible AI Tools
| Tool | Works? |
|------|--------|
| Kiro | Yes |
| Claude Desktop | Yes |
| Cursor | Yes |
| VS Code + GitHub Copilot | Yes |
| Claude Code (CLI) | Yes |
| Windsurf | Yes |
| Amazon Q Developer | Yes |
## Architecture
```
┌──────────────┐ ┌──────────────────────────────┐
│ AI Agent │── MCP (estimate tools) ──│ Node.js Pricing Calculator │
│ (Kiro etc.) │ │ (validation, lint, catalog) │
│ │ └──────────────┬───────────────┘
│ │ │ saves to AWS
│ │ ▼
│ │ ┌──────────────────────────────┐
│ │── MCP (report tool) ─────│ Python Report Generator │
│ │ │ (Playwright + Excel format) │
└──────────────┘ └──────────────────────────────┘
```
## Requirements
- Node.js 18+
- Python 3.10+
- Internet access (AWS CloudFront CDN — no credentials needed for estimates)
- AWS credentials (optional — only for Bedrock-powered best practices)
## License
MIT-0
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessSyncing