An MCP server focused on querying AWS Cost and Usage Report (CUR) data through Amazon Athena. This server provides tools to analyze AWS cost data efficiently through the Model Context Protocol.
- Query AWS Cost and Usage Report data through Athena
- More cost-effective than Cost Explorer API (pay only for the queries you run)
- Access to detailed, raw cost data with granular resource-level insights
- Access to historical data to do in-depth cost trend analysis
- No API rate limits or throttling constraints
- Execute and manage Athena queries
- Python 3.10+
- AWS credentials configured with access to Athena and CUR
- AWS Cost and Usage Reports set up with Athena integration
-
Clone the repository:
git clone https://github.com/CRED-CLUB/aws-cost-mcp.git cd aws-cost-mcp
-
Run the setup script:
chmod +x setup.sh ./setup.sh
The setup script will:
- Create a Python virtual environment
- Install required dependencies
- Create a
.env
file from.env.example
-
Configure your environment:
Edit the
.env
file with your settings:# MCP Server Configuration MCP_SERVER_HOST=localhost MCP_SERVER_PORT=5004 MCP_LOG_LEVEL=INFO # AWS Configuration AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=your_access_key AWS_SECRET_ACCESS_KEY=your_secret_key # Athena Configuration (Optional - used as defaults if not provided in queries) ATHENA_OUTPUT_LOCATION=s3://your-bucket/athena-results/ ATHENA_DATABASE=your_cur_database ATHENA_TABLE=your_cur_table ATHENA_WORKGROUP=primary ATHENA_CATALOG=your_cur_catalog(AwsDataCatalog)
To connect this MCP server to Cline, you need to update the cline_mcp_settings.json
file.
Add a configuration like the following to the mcpServers
section:
{
"mcpServers": {
"aws": {
"command": "absolute_path..../aws-cost-mcp/venv/bin/python",
"args": [
"absolute_path..../aws-cost-mcp/src/server.py"
],
"env": {},
"disabled": false,
"autoApprove": [],
"workingDirectory": "absolute_path..../aws-cost-mcp"
}
}
}
You can configure CLINE with the Custom Instructions available in cline_custom_instructions.txt to receive a detailed cost analysis.
Example query:
Using only the configured aws-cost-mcp server's resources and tools, analyze the ec2 cost trend across jan and feb 2025.
Cline response:

Use the MCP CLI's development mode, which provides interactive testing capabilities:
mcp dev src/server.py
Use the MCP CLI's run command:
mcp run src/server.py
By default, the server will use the configuration in the .env
file:
MCP_SERVER_HOST=127.0.0.1
MCP_SERVER_PORT=8080
MCP_LOG_LEVEL=INFO
The project documentation is organized in the cline_docs
directory:
projectRoadmap.md
: Project goals, features, and progress trackingcurrentTask.md
: Current objectives and next stepstechStack.md
: Technology choices and architecture decisionscodebaseSummary.md
: Project structure and component overview
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the terms of the LICENSE file.