Integrates with various AWS services including Cost Explorer, Cost Optimization Hub, Compute Optimizer, Trusted Advisor, and Performance Insights to analyze AWS costs and provide optimization recommendations
Supports integration with Git for version control of the MCP server code and configuration
Hosts the MCP server code repository, allowing users to clone and contribute to the project
Supports Markdown format for report generation, enabling detailed cost optimization reports to be produced in a human-readable format
Uses Python to integrate with AWS services and implement cost optimization analysis capabilities
CFM Tips - Cost Optimization MCP Server
A comprehensive Model Context Protocol (MCP) server for AWS cost analysis and optimization recommendations, designed to work seamlessly with Amazon Q CLI and other MCP-compatible clients.
ā Features
Core AWS Services Integration
Cost Explorer - Retrieve cost data and usage metrics
Cost Optimization Hub - Get AWS cost optimization recommendations
Compute Optimizer - Right-sizing recommendations for compute resources
Trusted Advisor - Cost optimization checks and recommendations
Performance Insights - RDS performance metrics and analysis
Cost Optimization Playbooks
š§ EC2 Right Sizing - Identify underutilized EC2 instances
š¾ EBS Optimization - Find unused and underutilized volumes
šļø RDS Optimization - Identify idle and underutilized databases
ā” Lambda Optimization - Find overprovisioned and unused functions
šŖ£ S3 Optimization - Comprehensive S3 cost analysis and storage class optimization
š CloudWatch Optimization - Analyze logs, metrics, alarms, and dashboards for cost efficiency
š CloudTrail Optimization - Analyze and optimize CloudTrail configurations
š Comprehensive Analysis - Multi-service cost analysis
Advanced Features
Real CloudWatch Metrics - Uses actual AWS metrics for analysis
Multiple Output Formats - JSON and Markdown report generation
Cost Calculations - Estimated savings and cost breakdowns
Actionable Recommendations - Priority-based optimization suggestions
Related MCP server: CodeAnalysis MCP Server
š Project Structure
š Security and Permissions - Least Privileges
The MCP tools require specific AWS permissions to function.
Create a read-only IAM role - Restricts LLM agents from modifying AWS resources. This prevents unintended create, update, or delete actions.
Enable CloudTrail - Tracks API activity across your AWS account for security monitoring.
Follow least-privilege principles - Grant only essential read permissions (Describe*, List*, Get*) for required services.
The below creates an IAM policy with for list, read and describe actions only:
š ļø Installation
Prerequisites
Python 3.11 or higher
AWS CLI configured with appropriate credentials
Amazon Q CLI (for MCP integration) - https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-installing.html
Setup Steps
Clone the Repository
git clone https://github.com/aws-samples/sample-cfm-tips-mcp.git cd sample-cfm-tips-mcpInstall Dependencies
pip install -r requirements.txtConfigure AWS Credentials
aws configure # Or set environment variables: # export AWS_ACCESS_KEY_ID=your_access_key # export AWS_SECRET_ACCESS_KEY=your_secret_key # export AWS_DEFAULT_REGION=us-east-1Apply IAM Permissions
Create an IAM policy with the permissions listed above
Attach the policy to your IAM user or role
Install the MCP Configurations
python3 setup.pyUsage Option 1: Using the Q CLI Chat
q chat Show me cost optimization recommendationsUsage Option 2: Integrate with Amazon Q Developer Plugin or Kiro
Open Amazon Q Developer Plugin on your IDE
Click on Chat -> š ļø Configure MCP Servers -> ā Add new MCP
Use the following configuration
- Scope: Global - Name: cfm-tips - Transport: stdio - Command: python3 - Arguments: <replace-with-path-to-folder>/mcp_server_with_runbooks.py - Timeout: 60
š§ Available Tools
Cost Analysis Tools
get_cost_explorer_data- Retrieve AWS cost and usage datalist_coh_enrollment- Check Cost Optimization Hub enrollmentget_coh_recommendations- Get cost optimization recommendationsget_coh_summaries- Get recommendation summariesget_compute_optimizer_recommendations- Get compute optimization recommendations
EC2 Optimization
ec2_rightsizing- Analyze EC2 instances for right-sizing opportunitiesec2_report- Generate detailed EC2 optimization reports
EBS Optimization
ebs_optimization- Analyze EBS volumes for optimizationebs_unused- Identify unused EBS volumesebs_report- Generate EBS optimization reports
RDS Optimization
rds_optimization- Analyze RDS instances for optimizationrds_idle- Identify idle RDS instancesrds_report- Generate RDS optimization reports
Lambda Optimization
lambda_optimization- Analyze Lambda functions for optimizationlambda_unused- Identify unused Lambda functionslambda_report- Generate Lambda optimization reports
S3 Optimization
s3_general_spend_analysis- Analyze overall S3 spending patterns and usages3_storage_class_selection- Get guidance on choosing cost-effective storage classess3_storage_class_validation- Validate existing data storage class appropriatenesss3_archive_optimization- Identify and optimize long-term archive data storages3_api_cost_minimization- Minimize S3 API request charges through optimizations3_multipart_cleanup- Identify and clean up incomplete multipart uploadss3_governance_check- Implement S3 cost controls and governance compliances3_comprehensive_analysis- Run comprehensive S3 cost optimization analysis
CloudWatch Optimization
cloudwatch_general_spend_analysis- Analyze CloudWatch cost breakdown across logs, metrics, alarms, and dashboardscloudwatch_metrics_optimization- Identify custom metrics cost optimization opportunitiescloudwatch_logs_optimization- Analyze log retention and ingestion cost optimizationcloudwatch_alarms_and_dashboards_optimization- Identify monitoring efficiency improvementscloudwatch_comprehensive_optimization_tool- Run comprehensive CloudWatch optimization with intelligent orchestrationget_cloudwatch_cost_estimate- Get detailed cost estimate for CloudWatch optimization analysis
CloudTrail Optimization
get_management_trails- Get CloudTrail management trailsrun_cloudtrail_trails_analysis- Run CloudTrail trails analysis for optimizationgenerate_cloudtrail_report- Generate CloudTrail optimization reports
Comprehensive Analysis
comprehensive_analysis- Multi-service cost analysis
Additional Tools
get_trusted_advisor_checks- Get Trusted Advisor recommendationsget_performance_insights_metrics- Get RDS Performance Insights data
š Example Usage
Basic Cost Analysis
Resource Optimization
Report Generation
Multi-Service Analysis
š Troubleshooting
Common Issues
Cost Optimization Hub Not Working
python3 diagnose_cost_optimization_hub_v2.pyNo Metrics Found
Ensure resources have been running for at least 14 days
Verify CloudWatch metrics are enabled
Check that you're analyzing the correct region
Permission Errors
Verify IAM permissions are correctly applied
Check AWS credentials configuration
Ensure Cost Optimization Hub is enabled in AWS Console
Import Errors
# Check Python path and dependencies python3 -c "import boto3, mcp; print('Dependencies OK')"
Getting Help
Check the RUNBOOKS_GUIDE.md for detailed usage instructions
Run the diagnostic script:
python3 diagnose_cost_optimization_hub_v2.pyRun integration tests:
python3 test_runbooks.py
š§© Add-on MCPs
Add-on AWS Pricing MCP Server MCP server for accessing real-time AWS pricing information and providing cost analysis capabilities https://github.com/awslabs/mcp/tree/main/src/aws-pricing-mcp-server
šŖ£ S3 Optimization Features
The S3 optimization module provides comprehensive cost analysis and optimization recommendations:
Storage Class Optimization
Intelligent Storage Class Selection - Get recommendations for the most cost-effective storage class based on access patterns
Storage Class Validation - Analyze existing data to ensure optimal storage class usage
Cost Breakeven Analysis - Calculate when to transition between storage classes
Archive Optimization - Identify long-term data suitable for Glacier or Deep Archive
Cost Analysis & Monitoring
General Spend Analysis - Comprehensive S3 spending pattern analysis over 12 months
Bucket-Level Cost Ranking - Identify highest-cost buckets and optimization opportunities
Usage Type Breakdown - Analyze costs by storage, requests, and data transfer
Regional Cost Distribution - Understand spending across AWS regions
Operational Optimization
Multipart Upload Cleanup - Identify and eliminate incomplete multipart uploads
API Cost Minimization - Optimize request patterns to reduce API charges
Governance Compliance - Implement cost controls and policy compliance checking
Lifecycle Policy Recommendations - Automated suggestions for lifecycle transitions
Advanced Analytics
Real-Time Pricing Integration - Uses AWS Price List API for accurate cost calculations
Trend Analysis - Identify spending growth patterns and anomalies
Efficiency Metrics - Calculate cost per GB and storage efficiency ratios
Comprehensive Reporting - Generate detailed optimization reports in JSON or Markdown
šÆ Key Benefits
Immediate Cost Savings - Identify unused resources for deletion
Right-Sizing Opportunities - Optimize overprovisioned resources
Real Metrics Analysis - Uses actual CloudWatch data
Actionable Reports - Clear recommendations with cost estimates
Comprehensive Coverage - Analyze EC2, EBS, RDS, Lambda, S3, and more
Easy Integration - Works seamlessly with Amazon Q CLI
š Expected Results
The CFM Tips cost optimization server can help you:
Identify cost savings on average across all AWS services
Find unused resources costing hundreds of dollars monthly
Right-size overprovisioned instances for optimal performance/cost ratio
Optimize storage costs through volume type and storage class recommendations
Eliminate idle resources that provide no business value
Reduce S3 costs by 30-60% through intelligent storage class transitions
Clean up storage waste from incomplete multipart uploads and orphaned data
Optimize API request patterns to minimize S3 request charges
Reduce CloudWatch costs through log retention and metrics optimization
Eliminate unused alarms and dashboards reducing monitoring overhead
š¤ Contributing
We welcome contributions! Please see our contributing guidelines:
Fork the repository
Create a feature branch
Make your changes
Add tests for new functionality
Submit a pull request
š License
This project is licensed under the MIT License - see the LICENSE file for details.