AWS FinOps MCP Server
Provides comprehensive tools for AWS Financial Operations (FinOps), enabling cost analysis, resource cleanup, capacity right-sizing, and security auditing across dozens of AWS services like EC2, S3, RDS, and Lambda.
Enables auditing of Amazon EKS clusters to identify outdated Kubernetes versions for maintenance and governance.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AWS FinOps MCP Server find unused resources and identify cost saving opportunities in us-east-1"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AWS FinOps MCP Server
Production-Ready Deployment: This MCP server is optimized for deployment on Amazon Bedrock AgentCore Runtime
Model Context Protocol (MCP) server for AWS Financial Operations (FinOps) - providing comprehensive tools for cloud resource optimization, cost management, and performance monitoring.
๐ Quick Start - Deploy to AWS
Deploy to Amazon Bedrock AgentCore (Recommended)
Deploy your MCP server to production in minutes:
# 1. Create ECR repository
./create-ecr-repo.sh
# 2. Update configuration
sed -i 's/ecr: auto/ecr: aws-pillar-mcp-server/' .bedrock_agentcore.yaml
# 3. Deploy to AWS
agentcore launch
# 4. Test your deployment
agentcore invoke '{"prompt": "find unused resources in us-east-1"}'๐ Complete Deployment Guides:
AGENTCORE_DEPLOYMENT_FINAL.md - Complete deployment guide with troubleshooting
AGENTCORE_QUICKSTART.md - Quick 5-minute deployment
AGENTCORE_RUNTIME_REVIEW.md - Status review and next steps
QUICK_FIX_DEPLOYMENT.md - Quick fixes for common issues
MANUAL_AGENTCORE_DEPLOY.md - Manual Docker deployment
Local Development
# Install dependencies
pip install -e .
# Run locally
python -m aws_finops_mcpRelated MCP server: Cloud FinOps Analyst MCP Server
๐ฏ Quick Overview
76 Tools across 14 categories for comprehensive AWS optimization
Category Filtering - Load only the tools you need (NEW!)
Dual Modes - stdio for direct integration, HTTP for remote access
Cost Savings - Identify unused resources and optimization opportunities
Security & Compliance - Find unencrypted resources and security issues
Performance Analysis - Analyze and optimize application performance
Ready-to-Use IAM Policies - Get started in minutes
๐ View Architecture Diagrams - Visual system architecture and data flows
๐ What's New
Category-Based Tool Filtering
Problem: Loading all 76 tools can be slow and overwhelming for MCP clients.
Solution: Use MCP_TOOL_CATEGORIES to enable only the categories you need!
# Load only cost and cleanup tools (25 tools instead of 76)
export MCP_TOOL_CATEGORIES="cleanup,cost"
python -m aws_finops_mcp
# 67% reduction in tool count, faster loading, easier navigationBenefits:
โก 67-89% faster loading for focused use cases
๐ฏ Better organization - see only relevant tools
๐ง Flexible - change categories without code changes
โ Backward compatible - defaults to all tools
๐ See TOOL_CATEGORIES.md for complete guide
New Tools Added
Network: NAT Gateways, VPC Endpoints, Internet Gateways, CloudFront, Route53
Storage: S3 buckets, storage class recommendations
Containers: ECS clusters/services, ECR images, launch templates
Messaging: SQS queues, SNS topics, EventBridge rules
Database: DynamoDB tables and utilization
Monitoring: CloudWatch alarms and dashboards
Performance: Lambda cold starts, API Gateway, DynamoDB throttling, RDS insights, CloudFront cache
Security: Unencrypted resources, public S3 buckets, permissive security groups
Governance: Untagged resources, tag compliance, cost allocation
Capacity: ElastiCache, ECS services, Lambda utilization
Upgrade: Lambda runtimes, EC2 generations, EBS types, RDS/ElastiCache engines, EKS versions
Cost: Savings Plans, Reserved Instances, EBS optimization, snapshots, data transfer, NAT Gateway
๐ Tool Categories
Category | Tools | Description |
๐งน Cleanup | 9 | Find unused resources to delete |
๐ฐ Cost | 16 | Cost optimization and analysis |
๐ Capacity | 9 | Resource utilization and right-sizing |
๐ Security | 5 | Security compliance checks |
โก Performance | 5 | Performance analysis and tuning |
๐ Upgrade | 8 | Outdated resource detection |
๐ Network | 5 | Network resource optimization |
๐พ Storage | 2 | Storage optimization |
๐ฆ Containers | 4 | Container resource management |
๐ฌ Messaging | 3 | Messaging service cleanup |
๐๏ธ Database | 2 | Database optimization |
๐ Monitoring | 3 | Monitoring resource cleanup |
๐ Application | 2 | Application health monitoring |
๐๏ธ Governance | 3 | Tagging and compliance |
Total: 76 tools - Use category filtering to load only what you need!
# Load only cost and cleanup tools (25 tools instead of 76)
export MCP_TOOL_CATEGORIES="cost,cleanup"
python -m aws_finops_mcp๐ See TOOL_CATEGORIES.md for complete documentation
Features
76 Tools Across 14 Categories - Use category filtering to load only what you need!
๐งน Cleanup Tools (9 tools)
Find unused AWS resources to reduce costs:
find_unused_lambda_functions- Lambda functions with no invocationsfind_unused_elastic_ips- Unattached Elastic IPs ($3.60/month each)find_unused_amis- AMIs not used by instances or ASGsfind_unused_load_balancers- Load balancers with no traffic ($22-32/month)find_unused_target_groups- Target groups with no targets or trafficfind_unused_log_groups- CloudWatch Log Groups with no recent eventsfind_unused_snapshots- EBS snapshots not associated with AMIs ($0.05/GB/month)find_unused_security_groups- Security groups not attached to resourcesfind_unused_volumes- Unattached EBS volumes
๐ฐ Cost Tools (16 tools)
Cost optimization, analysis, and savings recommendations:
Cost Optimization Hub:
get_all_cost_optimization_recommendations- All 19 resource typesget_cost_optimization_ec2- EC2 instance recommendationsget_cost_optimization_lambda- Lambda function recommendationsget_cost_optimization_rds- RDS instance recommendationsget_cost_optimization_ebs- EBS volume recommendations
Cost Explorer:
get_cost_by_region- Cost breakdown by AWS regionget_cost_by_service- Cost breakdown by AWS serviceget_cost_by_region_and_service- Combined region and service breakdownget_daily_cost_trend- Daily cost trends with statistics
Savings & Optimization:
get_savings_plans_recommendations- Savings Plans recommendationsget_reserved_instance_recommendations- RI purchase recommendationsanalyze_reserved_instance_utilization- RI utilization and coverageget_ebs_volume_type_recommendations- EBS volume type optimizationget_snapshot_lifecycle_recommendations- Snapshot lifecycle managementanalyze_data_transfer_costs- Data transfer cost analysisget_nat_gateway_optimization_recommendations- NAT Gateway optimization
๐ Capacity Tools (9 tools)
Resource utilization analysis for right-sizing:
Compute:
find_underutilized_ec2_instances- EC2 with low CPU/memory (โค20%)find_overutilized_ec2_instances- EC2 with high CPU/memory (โฅ80%)find_underutilized_lambda_functions- Lambda with low invocations
Database:
find_underutilized_rds_instances- RDS with low CPU (โค20%)find_overutilized_rds_instances- RDS with high CPU (โฅ80%)find_underutilized_dynamodb_tables- DynamoDB with low capacityfind_overutilized_dynamodb_tables- DynamoDB with high capacity (>80%)find_underutilized_elasticache_clusters- ElastiCache with low CPU (<20%)find_overutilized_elasticache_clusters- ElastiCache with high CPU/memory (>80%)
Containers:
find_underutilized_ecs_services- ECS services with low CPU/memory (<20%)
๐ Security Tools (5 tools)
Security compliance and best practices:
find_unencrypted_ebs_volumes- EBS volumes without encryptionfind_unencrypted_s3_buckets- S3 buckets without default encryptionfind_unencrypted_rds_instances- RDS instances without encryptionfind_public_s3_buckets- S3 buckets with public access enabledfind_overly_permissive_security_groups- Security groups with 0.0.0.0/0 rules
โก Performance Tools (5 tools)
Performance analysis and optimization:
analyze_lambda_cold_starts- Lambda cold start analysisanalyze_api_gateway_performance- API Gateway performance metricsanalyze_dynamodb_throttling- DynamoDB throttling issuesanalyze_rds_performance_insights- RDS Performance Insights dataanalyze_cloudfront_cache_hit_ratio- CloudFront cache performance
๐ Upgrade Tools (8 tools)
Identify outdated resources needing upgrades:
Compute:
find_asgs_with_old_amis- Auto Scaling Groups using old AMIsfind_outdated_lambda_runtimes- Lambda with deprecated runtimesfind_ec2_instances_with_old_generations- EC2 using previous generation typesfind_ebs_volumes_with_old_types- EBS using previous generation typesfind_outdated_ecs_platform_versions- ECS not on latest platform version
Database:
find_outdated_rds_engine_versions- RDS not on latest engine versionfind_outdated_elasticache_engine_versions- ElastiCache not on latest version
Containers:
find_outdated_eks_cluster_versions- EKS not on latest Kubernetes version
๐ Network Tools (5 tools)
Network resource optimization:
find_unused_nat_gateways- NAT Gateways with no traffic ($32.40/month)find_unused_vpc_endpoints- VPC Endpoints with no connections ($7.20/month per AZ)find_unused_internet_gateways- Unattached Internet Gatewaysfind_unused_cloudfront_distributions- CloudFront with no requestsfind_unused_route53_hosted_zones- Route53 zones with no queries
๐พ Storage Tools (2 tools)
Storage optimization:
find_unused_s3_buckets- S3 buckets with no activityget_s3_storage_class_recommendations- S3 storage class optimization (30-95% savings)
๐ฆ Container Tools (4 tools)
Container and orchestration resource management:
find_old_ecs_task_definitions- Old ECS task definitions not in usefind_unused_ecr_images- Unused ECR images ($0.10/GB/month)find_unused_launch_templates- EC2 launch templates not in usefind_unused_ecs_clusters_and_services- ECS clusters/services with no activity
๐ฌ Messaging Tools (3 tools)
Messaging service optimization:
find_unused_sqs_queues- SQS queues with no messagesfind_unused_sns_topics- SNS topics with no subscriptions/messagesfind_unused_eventbridge_rules- EventBridge rules with no invocations
๐๏ธ Database Tools (2 tools)
Database resource analysis:
find_unused_dynamodb_tables- DynamoDB tables with no read/write activityfind_underutilized_dynamodb_tables- DynamoDB with low capacity utilization
๐ Monitoring Tools (3 tools)
Monitoring resource cleanup:
find_unused_cloudwatch_alarms- CloudWatch alarms in INSUFFICIENT_DATA statefind_orphaned_cloudwatch_dashboards- Dashboards referencing deleted resourcesfind_orphaned_cloudwatch_alarms- Alarms not associated with active resources
๐ Application Tools (2 tools)
Application health monitoring:
find_target_groups_with_high_error_rate- Target groups with 5XX errors (>5%)find_target_groups_with_high_response_time- Target groups with slow response times (>1s)
๐๏ธ Governance Tools (3 tools)
Resource governance and compliance:
find_untagged_resources- Resources missing required tagsanalyze_tag_compliance- Tag compliance analysis across resourcesgenerate_cost_allocation_report- Cost allocation by tags
โจ Tool Features
All tools include:
โ Comprehensive Details - Full ARNs, configurations, and metadata
โ Cost Estimates - Monthly cost savings potential
โ Complete Tags - Cost allocation and ownership tracking
โ Age Calculations - Prioritize cleanup efforts
โ Security Details - Encryption, KMS keys, ownership
โ Total Savings - Aggregate cost savings per tool
๐ Deployment Modes
Standard Mode (stdio): Direct integration with MCP clients
HTTP Server Mode: Remote access via REST API for distributed deployments
Run on EC2 and connect from anywhere
SSH tunnel for secure development
HTTPS with Nginx for production
AWS Systems Manager for no-SSH access
API endpoints:
/health,/tools,/mcp
Installation
๐ NEW: Deploy to Amazon Bedrock AgentCore
Deploy this MCP server to AWS Bedrock AgentCore for production-ready, scalable agent integration:
# Quick deployment (recommended)
pip install bedrock-agentcore-starter-toolkit
agentcore launchQuick Links:
โก Quick Fix Deployment - Deploy in 5 commands
๐ Manual Deployment Guide - Step-by-step manual process
๐ Complete Documentation - Full deployment guide
โ๏ธ Deployment Comparison - Choose the right method
Two Deployment Methods:
Gateway (Lambda) - Quick setup, serverless, cost-effective
Runtime (Container) - Production-ready, unlimited execution time (use
agentcore launch)
Quick Start (Virtual Environment)
# Automated setup
./setup.sh
# Run the server (stdio mode)
./run.sh
# Run tests
./test.shManual Installation
# Using pip
pip install .
# Using uv
uv pip install .
# For development
pip install -e ".[dev]"Docker Installation
Option 1: Standard Mode (stdio)
# Build and run with Docker
./docker-run.sh run
# Or use Docker Compose
docker-compose up -d
# View logs
docker-compose logs -fOption 2: HTTP Server Mode (Remote Access)
# Run with HTTP server for remote access
docker-compose -f docker-compose-http.yml up -d
# Test the server
curl http://localhost:8000/health
# View logs
docker-compose -f docker-compose-http.yml logs -fSee DEPLOYMENT.md for detailed deployment options including EC2, ECS, Lambda, and Kubernetes.
See REMOTE_ACCESS_GUIDE.md for remote access setup and configuration.
Usage
๐ฏ Tool Category Filtering (NEW!)
Problem: Loading all 76 tools can be slow and overwhelming for clients.
Solution: Use MCP_TOOL_CATEGORIES to enable only the tools you need!
# Enable only cleanup and cost tools (25 tools instead of 76)
export MCP_TOOL_CATEGORIES="cleanup,cost"
python -m aws_finops_mcp
# Enable all tools (default)
export MCP_TOOL_CATEGORIES="all"
python -m aws_finops_mcpAvailable Categories (14 total):
cleanup(9 tools) - Find unused resourcescost(16 tools) - Cost optimization and analysiscapacity(9 tools) - Resource utilization analysissecurity(5 tools) - Security compliance checksperformance(5 tools) - Performance analysisupgrade(8 tools) - Outdated resource detectionnetwork(5 tools) - Network resource optimizationstorage(2 tools) - Storage optimizationcontainers(4 tools) - Container resource managementdatabase(2 tools) - Database optimizationmessaging(3 tools) - Messaging service cleanupmonitoring(3 tools) - Monitoring resource cleanupapplication(2 tools) - Application health monitoringgovernance(3 tools) - Tagging and compliance
๐ See TOOL_CATEGORIES.md for complete documentation and examples
Mode 1: Standard MCP Server (stdio)
Add to your MCP client configuration (e.g., Kiro's mcp.json):
{
"mcpServers": {
"aws-finops": {
"command": "python",
"args": ["-m", "aws_finops_mcp"],
"env": {
"AWS_PROFILE": "your-profile",
"AWS_REGION": "us-east-1",
"MCP_TOOL_CATEGORIES": "cleanup,cost,security"
}
}
}
}Or using uvx:
{
"mcpServers": {
"aws-finops": {
"command": "uvx",
"args": ["aws-pillar-mcp-server"]
}
}
}Mode 2: HTTP Server (Remote Access)
Run the server in HTTP mode for remote access:
# Set environment variable
export MCP_SERVER_MODE=http
export MCP_SERVER_HOST=0.0.0.0
export MCP_SERVER_PORT=8000
# Run the server
python -m aws_finops_mcp
# Or use Docker
docker-compose -f docker-compose-http.yml up -dHTTP API Endpoints
Health Check:
curl http://localhost:8000/healthList Tools:
curl http://localhost:8000/toolsExecute Tool:
curl -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-d '{
"tool": "get_cost_by_region",
"arguments": {
"region_name": "us-east-1"
}
}'Remote Access Options
SSH Tunnel (Recommended for Development):
# On EC2
docker-compose -f docker-compose-http.yml up -d
# On your laptop
ssh -i your-key.pem -L 8000:localhost:8000 ec2-user@your-ec2-ip -N
# Connect to localhost:8000
curl http://localhost:8000/healthHTTPS with Nginx (Recommended for Production):
# Automated setup on EC2
./setup-ec2-remote.sh yes yes your-domain.com
# Access via HTTPS
curl https://your-domain.com/healthSee REMOTE_ACCESS_GUIDE.md for complete remote access setup instructions.
Tool Parameters
All tools accept the following parameters:
AWS Credentials (one of):
profile_name: AWS profile namerole_arn: IAM role ARN to assumeaccess_key+secret_access_key: Direct credentialsaccess_key+secret_access_key+session_token: Temporary credentials
Common Parameters:
region_name: AWS region (default: "us-east-1")period: Lookback period in days (default: 90)max_results: Maximum results to return (default: 100)
Example Tool Calls
stdio Mode (MCP Client)
# Find unused Lambda functions
{
"tool": "find_unused_lambda_functions",
"arguments": {
"profile_name": "production",
"region_name": "us-west-2",
"period": 90
}
}
# Find underutilized EC2 instances
{
"tool": "find_underutilized_ec2_instances",
"arguments": {
"role_arn": "arn:aws:iam::123456789012:role/FinOpsRole",
"region_name": "us-east-1",
"period": 30
}
}
# Get cost optimization recommendations
{
"tool": "get_cost_optimization_ec2",
"arguments": {
"access_key": "AKIA...",
"secret_access_key": "...",
"region_name": "us-east-1"
}
}HTTP Mode (REST API)
# Find unused Lambda functions
curl -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-d '{
"tool": "find_unused_lambda_functions",
"arguments": {
"region_name": "us-west-2",
"period": 90
}
}'
# Get cost by region
curl -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-d '{
"tool": "get_cost_by_region",
"arguments": {
"region_name": "us-east-1"
}
}'
# Find underutilized EC2 instances
curl -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-d '{
"tool": "find_underutilized_ec2_instances",
"arguments": {
"region_name": "us-east-1",
"period": 30
}
}'AWS Permissions Required
Quick Setup
We provide ready-to-use IAM policies for different use cases:
# Automated setup (recommended)
cd iam-policies/examples
./create-iam-role.sh finops-mcp-role full ec2
# Or create IAM user
./create-iam-user.sh finops-mcp-user fullAvailable Policies
Policy | Use Case | Tools Enabled |
Full Policy | Production (recommended) | All 76 tools |
Minimal Policy | Testing/Development | All 76 tools (basic) |
Read-Only Policy | Maximum security | All 76 tools |
Cost-Only Policy | Cost analysis only | 16 cost tools |
Policy Files
iam-policies/finops-full-policy.json- Complete permissions (recommended)iam-policies/finops-minimal-policy.json- Basic permissionsiam-policies/finops-readonly-policy.json- Read-only accessiam-policies/finops-cost-only-policy.json- Cost analysis only
Setup Methods
AWS Console: Copy policy JSON โ Create Policy โ Attach to Role/User
AWS CLI:
aws iam create-policy \
--policy-name FinOpsFullPolicy \
--policy-document file://iam-policies/finops-full-policy.jsonTerraform: See iam-policies/examples/terraform-example.tf
CloudFormation: See iam-policies/examples/cloudformation-example.yaml
๐ Complete Guide: See IAM_SETUP_GUIDE.md for detailed instructions
Architecture
src/aws_finops_mcp/
โโโ __main__.py # Entry point (supports stdio and HTTP modes)
โโโ server.py # FastMCP server with all 76 tools
โโโ server_filtered.py # Filtered server with category support (NEW!)
โโโ tool_categories.py # Category definitions and filtering logic (NEW!)
โโโ http_server.py # HTTP server wrapper for remote access
โโโ session.py # AWS session management
โโโ tools/
โ โโโ cleanup.py # Cleanup tools (9 tools)
โ โโโ capacity.py # Capacity analysis tools (4 tools)
โ โโโ capacity_compute.py # Compute capacity tools (1 tool)
โ โโโ capacity_database.py # Database capacity tools (4 tools)
โ โโโ cost.py # Cost optimization tools (5 tools)
โ โโโ cost_explorer.py # Cost Explorer tools (4 tools)
โ โโโ cost_savings.py # Savings recommendations (3 tools)
โ โโโ cost_storage.py # Storage cost optimization (2 tools)
โ โโโ cost_network.py # Network cost optimization (2 tools)
โ โโโ application.py # Application performance tools (2 tools)
โ โโโ upgrade.py # Upgrade recommendations (1 tool)
โ โโโ upgrade_compute.py # Compute upgrade tools (4 tools)
โ โโโ upgrade_database.py # Database upgrade tools (2 tools)
โ โโโ upgrade_containers.py # Container upgrade tools (1 tool)
โ โโโ network.py # Network optimization tools (5 tools)
โ โโโ storage.py # Storage optimization tools (2 tools)
โ โโโ containers.py # Container management tools (4 tools)
โ โโโ messaging.py # Messaging service tools (3 tools)
โ โโโ database.py # Database optimization tools (2 tools)
โ โโโ monitoring.py # Monitoring resource tools (3 tools)
โ โโโ performance.py # Performance analysis tools (5 tools)
โ โโโ security.py # Security compliance tools (5 tools)
โ โโโ governance.py # Governance and tagging tools (3 tools)
โโโ utils/
โโโ helpers.py # Helper functions
โโโ metrics.py # CloudWatch metrics utilitiesDeployment Modes
stdio Mode (Default):
MCP Client โโ stdin/stdout โโ MCP Server โโ AWS APIsHTTP Mode (Remote Access):
MCP Client โโ HTTP/HTTPS โโ MCP Server โโ AWS APIs
(REST API)Category Filtering (NEW!)
User sets MCP_TOOL_CATEGORIES="cleanup,cost"
โ
__main__.py checks environment variable
โ
Loads server_filtered.py instead of server.py
โ
Only 25 tools registered (cleanup: 9 + cost: 16)
โ
Client sees only relevant toolsDevelopment
# Install with dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Format code
black src/
# Lint
ruff check src/Environment Variables
Server Configuration
# Server Mode
MCP_SERVER_MODE=http # Enable HTTP server mode (default: stdio)
MCP_SERVER_HOST=0.0.0.0 # Host to bind to (default: 0.0.0.0)
MCP_SERVER_PORT=8000 # Port to listen on (default: 8000)
# Tool Filtering (NEW!)
MCP_TOOL_CATEGORIES=cleanup,cost # Enable specific categories (default: all)
# Options: cleanup, cost, capacity, security,
# performance, upgrade, network, storage,
# containers, messaging, database,
# monitoring, application, governance
# AWS Configuration
AWS_REGION=us-east-1 # Default AWS region
AWS_PROFILE=default # AWS profile name
AWS_ACCESS_KEY_ID=... # AWS access key (not recommended)
AWS_SECRET_ACCESS_KEY=... # AWS secret key (not recommended)
# Logging
PYTHONUNBUFFERED=1 # Enable unbuffered outputExample Configurations
stdio Mode with Category Filtering (Recommended):
export MCP_TOOL_CATEGORIES="cleanup,cost,security"
python -m aws_finops_mcpstdio Mode (All Tools):
python -m aws_finops_mcpHTTP Mode with Category Filtering:
export MCP_SERVER_MODE=http
export MCP_SERVER_HOST=0.0.0.0
export MCP_SERVER_PORT=8000
export MCP_TOOL_CATEGORIES="cost,capacity"
python -m aws_finops_mcpDocker HTTP Mode with Filtering:
docker run -e MCP_SERVER_MODE=http \
-e MCP_SERVER_PORT=8000 \
-e MCP_TOOL_CATEGORIES="cleanup,cost" \
-p 8000:8000 \
aws-pillar-mcp-serverLicense
MIT License
Quick Reference
Run Modes
Mode | Command | Use Case |
stdio |
| Direct MCP client integration |
HTTP |
| Remote access, distributed deployments |
Docker Commands
# stdio mode
docker-compose up -d
# HTTP mode
docker-compose -f docker-compose-http.yml up -d
# Test HTTP server
curl http://localhost:8000/healthRemote Access
# SSH tunnel (development)
ssh -i key.pem -L 8000:localhost:8000 ec2-user@ec2-ip -N
# HTTPS setup (production)
./setup-ec2-remote.sh yes yes your-domain.com
# Test connection
./examples/test-remote-connection.sh http://localhost:8000Documentation
Document | Description |
๐ Deploy to Amazon Bedrock AgentCore in 5 minutes | |
๐ Complete AgentCore deployment guide | |
๐ Compare Gateway vs Runtime deployment | |
Complete setup guide with MCP configuration | |
Category filtering guide | |
Quick reference for categories | |
All 76 tools documentation | |
Deployment options (EC2, ECS, Lambda, K8s) | |
HTTP mode and remote access setup | |
IAM permissions and policies | |
System architecture and design | |
Migration guide for category filtering | |
IAM policy templates |
Available Tools
76 toolsanalyze_api_gateway_performanceD
Analyze API Gateway performance metrics.
Inputs: region_name, period, profile_name, role_arn, +3 more. Returns: object
analyze_cloudfront_cache_hit_ratioC
Analyze CloudFront cache hit ratios.
Inputs: region_name, period, profile_name, role_arn, +3 more. Returns: object
analyze_data_transfer_costsC
Analyze data transfer costs using AWS Cost Explorer.
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
analyze_dynamodb_throttlingC
Analyze DynamoDB tables for throttling issues.
Inputs: region_name, period, profile_name, role_arn, +3 more. Returns: object
analyze_lambda_cold_startsC
Analyze Lambda functions for cold start issues.
Inputs: region_name, period, profile_name, role_arn, +3 more. Returns: object
analyze_rds_performance_insightsC
Analyze RDS Performance Insights data.
Inputs: region_name, period, profile_name, role_arn, +3 more. Returns: object
analyze_reserved_instance_utilizationC
Analyze Reserved Instance utilization and coverage.
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
analyze_tag_complianceC
Analyze tag compliance across AWS resources.
Inputs: region_name, required_tags, profile_name, role_arn, +3 more. Returns: object
find_asgs_with_old_amisA
Find Auto Scaling Groups using AMIs older than the specified period.
Args:
region_name: AWS region name
period: Minimum age in days for AMI to be considered old (default: 90)
max_results: Maximum results to return (default: 100)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with ASGs using old AMIs
Inputs: region_name, period, max_results, profile_name, +4 more. Returns: object
find_ebs_volumes_with_old_typesC
Find EBS volumes using previous generation volume types.
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
find_ec2_instances_with_old_generationsC
Find EC2 instances using previous generation instance types.
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
find_old_ecs_task_definitionsC
Find old ECS task definitions not used by any service.
Inputs: region_name, age_days, profile_name, role_arn, +3 more. Returns: object
find_orphaned_cloudwatch_alarmsB
Find CloudWatch alarms not associated with any active AWS resources.
This validates alarms against actual resources across multiple services:
EC2, RDS, ECS, Lambda, SQS, Target Groups, and Load Balancers.
Inputs: region_name, max_results, profile_name, role_arn, +3 more. Returns: object
find_orphaned_cloudwatch_dashboardsC
Find CloudWatch dashboards with widgets referencing deleted resources.
Inputs: region_name, period, profile_name, role_arn, +3 more. Returns: object
find_outdated_ecs_platform_versionsC
Find ECS services not using the latest platform version.
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
find_outdated_eks_cluster_versionsC
Find EKS clusters not running the latest Kubernetes version.
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
find_outdated_elasticache_engine_versionsC
Find ElastiCache clusters not running the latest engine version.
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
find_outdated_lambda_runtimesC
Find Lambda functions with deprecated or outdated runtimes.
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
find_outdated_rds_engine_versionsC
Find RDS instances not running the latest engine version.
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
find_overly_permissive_security_groupsC
Find security groups with overly permissive rules (0.0.0.0/0 or ::/0).
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
find_overutilized_dynamodb_tablesC
Find DynamoDB tables with high capacity utilization (>80%).
Inputs: region_name, period, profile_name, role_arn, +3 more. Returns: object
find_overutilized_ec2_instancesA
Find EC2 instances with high CPU or memory utilization (โฅ80%).
Args:
region_name: AWS region name
period: Lookback period in days (default: 30)
max_results: Maximum results to return (default: 100)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with overutilized EC2 instances
Inputs: region_name, period, max_results, profile_name, +4 more. Returns: object
find_overutilized_elasticache_clustersC
Find ElastiCache clusters with high CPU or memory utilization (>80%).
Inputs: region_name, period, profile_name, role_arn, +3 more. Returns: object
find_overutilized_rds_instancesA
Find RDS instances with high CPU utilization (โฅ80%).
Args:
region_name: AWS region name
period: Lookback period in days (default: 30)
max_results: Maximum results to return (default: 100)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with overutilized RDS instances
Inputs: region_name, period, max_results, profile_name, +4 more. Returns: object
find_public_s3_bucketsC
Find S3 buckets with public access enabled.
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
find_target_groups_with_high_error_rateA
Find target groups with high error rates (5XX errors).
Args:
region_name: AWS region name
period: Lookback period in days (default: 7)
error_threshold: Error rate threshold percentage (default: 5.0)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with target groups having high error rates
Inputs: region_name, period, error_threshold, profile_name, +4 more. Returns: object
find_target_groups_with_high_response_timeB
Find target groups with high response times.
Args:
region_name: AWS region name
period: Lookback period in days (default: 7)
response_time_threshold: Response time threshold in seconds (default: 1.0)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with target groups having high response times
Inputs: region_name, period, response_time_threshold, profile_name, +4 more. Returns: object
find_underutilized_dynamodb_tablesC
Find DynamoDB tables with low capacity utilization.
Inputs: region_name, period, profile_name, role_arn, +3 more. Returns: object
find_underutilized_ec2_instancesA
Find EC2 instances with low CPU and memory utilization (โค20%).
Args:
region_name: AWS region name
period: Lookback period in days (default: 30)
max_results: Maximum results to return (default: 100)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with underutilized EC2 instances
Inputs: region_name, period, max_results, profile_name, +4 more. Returns: object
find_underutilized_ecs_servicesC
Find ECS services with low CPU and memory utilization (<20%).
Inputs: region_name, period, profile_name, role_arn, +3 more. Returns: object
find_underutilized_elasticache_clustersC
Find ElastiCache clusters with low CPU utilization (<20%).
Inputs: region_name, period, profile_name, role_arn, +3 more. Returns: object
find_underutilized_lambda_functionsC
Find Lambda functions with low invocation rates or high error rates.
Inputs: region_name, period, profile_name, role_arn, +3 more. Returns: object
find_underutilized_rds_instancesA
Find RDS instances with low CPU utilization (โค20%).
Args:
region_name: AWS region name
period: Lookback period in days (default: 30)
max_results: Maximum results to return (default: 100)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with underutilized RDS instances
Inputs: region_name, period, max_results, profile_name, +4 more. Returns: object
find_unencrypted_ebs_volumesC
Find EBS volumes without encryption enabled.
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
find_unencrypted_rds_instancesC
Find RDS instances without encryption enabled.
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
find_unencrypted_s3_bucketsC
Find S3 buckets without default encryption enabled.
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
find_untagged_resourcesC
Find AWS resources missing required tags.
Inputs: region_name, required_tags, profile_name, role_arn, +3 more. Returns: object
find_unused_amisA
Find AMIs not used by any EC2 instances, ASGs, or Spot Fleet Requests.
Args:
region_name: AWS region name
period: Minimum age in days for AMI to be considered unused (default: 90)
max_results: Maximum results to return (default: 100)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with unused AMIs
Inputs: region_name, period, max_results, profile_name, +4 more. Returns: object
find_unused_cloudfront_distributionsC
Find CloudFront distributions with no requests in the specified period.
Inputs: region_name, period, profile_name, role_arn, +3 more. Returns: object
find_unused_cloudwatch_alarmsC
Find CloudWatch alarms in INSUFFICIENT_DATA state for extended period.
Inputs: region_name, period, profile_name, role_arn, +3 more. Returns: object
find_unused_dynamodb_tablesC
Find DynamoDB tables with no read/write activity.
Inputs: region_name, period, profile_name, role_arn, +3 more. Returns: object
find_unused_ecr_imagesC
Find unused ECR images older than specified days.
Inputs: region_name, age_days, profile_name, role_arn, +3 more. Returns: object
find_unused_ecs_clusters_and_servicesA
Find ECS clusters and services with no activity in the specified period.
Identifies:
- Clusters with no active services, tasks, or scheduled tasks
- Services with zero running tasks and no recent CloudWatch activity
Inputs: region_name, period, profile_name, role_arn, +3 more. Returns: object
find_unused_elastic_ipsB
Find unattached Elastic IPs.
Args:
region_name: AWS region name
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with unused Elastic IPs
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
find_unused_eventbridge_rulesC
Find EventBridge rules with no invocations.
Inputs: region_name, period, profile_name, role_arn, +3 more. Returns: object
find_unused_internet_gatewaysC
Find Internet Gateways not attached or attached to VPCs with no resources.
Inputs: region_name, max_results, profile_name, role_arn, +3 more. Returns: object
find_unused_lambda_functionsA
Find Lambda functions with no invocations in the specified period.
Args:
region_name: AWS region name
period: Lookback period in days (default: 90)
max_results: Maximum results to return (default: 100)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with unused Lambda functions
Inputs: region_name, period, max_results, profile_name, +4 more. Returns: object
find_unused_launch_templatesB
Find EC2 launch templates not used by any Auto Scaling Group or instance.
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
find_unused_load_balancersA
Find load balancers with no traffic in the specified period.
Args:
region_name: AWS region name
period: Lookback period in days (default: 90)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with unused load balancers
Inputs: region_name, period, profile_name, role_arn, +3 more. Returns: object
find_unused_log_groupsA
Find CloudWatch Log Groups with no recent log events.
Args:
region_name: AWS region name
period: Lookback period in days (default: 90)
max_results: Maximum results to return (default: 50)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with unused log groups
Inputs: region_name, period, max_results, profile_name, +4 more. Returns: object
find_unused_nat_gatewaysC
Find NAT Gateways with no traffic in the specified period.
Inputs: region_name, period, max_results, profile_name, +4 more. Returns: object
find_unused_route53_hosted_zonesC
Find Route53 hosted zones with no query activity.
Inputs: region_name, period, profile_name, role_arn, +3 more. Returns: object
find_unused_s3_bucketsC
Find S3 buckets with no activity in the specified period.
Inputs: region_name, period, profile_name, role_arn, +3 more. Returns: object
find_unused_security_groupsB
Find security groups not attached to any resources.
Args:
region_name: AWS region name
max_results: Maximum results to return (default: 100)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with unused security groups
Inputs: region_name, max_results, profile_name, role_arn, +3 more. Returns: object
find_unused_snapshotsA
Find EBS snapshots not associated with any AMI or volume.
Args:
region_name: AWS region name
period: Minimum age in days for snapshot to be considered unused (default: 90)
max_results: Maximum results to return (default: 100)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with unused snapshots
Inputs: region_name, period, max_results, profile_name, +4 more. Returns: object
find_unused_sns_topicsC
Find SNS topics with no subscriptions or no messages published.
Inputs: region_name, period, profile_name, role_arn, +3 more. Returns: object
find_unused_sqs_queuesC
Find SQS queues with no messages sent or received.
Inputs: region_name, period, profile_name, role_arn, +3 more. Returns: object
find_unused_target_groupsA
Find target groups with no registered targets or no traffic.
This function identifies target groups that are:
1. Not attached to any load balancer, OR
2. Have no registered targets, OR
3. Have registered targets but no traffic in the specified period
Args:
region_name: AWS region name
period: Lookback period in days for traffic check (default: 7)
max_results: Maximum results to return (default: 100)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with unused target groups
Inputs: region_name, period, max_results, profile_name, +4 more. Returns: object
find_unused_volumesA
Find EBS volumes that are not attached to any instance.
Args:
region_name: AWS region name
max_results: Maximum results to return (default: 100)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with unused EBS volumes
Inputs: region_name, max_results, profile_name, role_arn, +3 more. Returns: object
find_unused_vpc_endpointsC
Find VPC Endpoints with no connections in the specified period.
Inputs: region_name, period, max_results, profile_name, +4 more. Returns: object
generate_cost_allocation_reportC
Generate cost allocation report based on resource tags.
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
get_all_cost_optimization_recommendationsA
Get all cost optimization recommendations from AWS Cost Optimization Hub.
Returns recommendations for all resource types (19 types total).
Args:
region_name: AWS region to filter recommendations (optional)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
List of dictionaries with cost optimization recommendations by resource type
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: result
get_cost_by_regionA
Get cost breakdown by AWS region for the specified period.
Args:
start_date: Start date in YYYY-MM-DD format (default: first day of last month)
end_date: End date in YYYY-MM-DD format (default: first day of current month)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with cost breakdown by region
Inputs: start_date, end_date, profile_name, role_arn, +3 more. Returns: object
get_cost_by_region_and_serviceA
Get cost breakdown by AWS region and service for the specified period.
Args:
start_date: Start date in YYYY-MM-DD format (default: first day of last month)
end_date: End date in YYYY-MM-DD format (default: first day of current month)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with cost breakdown by region and service
Inputs: start_date, end_date, profile_name, role_arn, +3 more. Returns: object
get_cost_by_serviceA
Get cost breakdown by AWS service for the specified period.
Args:
start_date: Start date in YYYY-MM-DD format (default: first day of last month)
end_date: End date in YYYY-MM-DD format (default: first day of current month)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with cost breakdown by service
Inputs: start_date, end_date, profile_name, role_arn, +3 more. Returns: object
get_cost_optimization_ebsC
Get EBS volume cost optimization recommendations.
Args:
region_name: AWS region to filter recommendations (optional)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with EBS cost optimization recommendations
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
get_cost_optimization_ec2C
Get EC2 instance cost optimization recommendations.
Args:
region_name: AWS region to filter recommendations (optional)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with EC2 cost optimization recommendations
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
get_cost_optimization_lambdaC
Get Lambda function cost optimization recommendations.
Args:
region_name: AWS region to filter recommendations (optional)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with Lambda cost optimization recommendations
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
get_cost_optimization_rdsB
Get RDS instance cost optimization recommendations.
Args:
region_name: AWS region to filter recommendations (optional)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with RDS cost optimization recommendations
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
get_daily_cost_trendB
Get daily cost trend for the specified number of days.
Args:
days: Number of days to look back (default: 30)
profile_name: AWS profile name (optional)
role_arn: IAM role ARN to assume (optional)
access_key: AWS access key ID (optional)
secret_access_key: AWS secret access key (optional)
session_token: AWS session token for temporary credentials (optional)
Returns:
Dictionary with daily cost trend and statistics
Inputs: days, profile_name, role_arn, access_key, +2 more. Returns: object
get_ebs_volume_type_recommendationsC
Get recommendations for optimizing EBS volume types based on usage patterns.
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
get_nat_gateway_optimization_recommendationsC
Get recommendations for optimizing NAT Gateway costs.
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
get_reserved_instance_recommendationsC
Get Reserved Instance purchase recommendations from AWS Cost Explorer.
Inputs: region_name, service, profile_name, role_arn, +3 more. Returns: object
get_s3_storage_class_recommendationsC
Get S3 storage class optimization recommendations.
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
get_savings_plans_recommendationsC
Get Savings Plans recommendations from AWS Cost Explorer.
Inputs: region_name, profile_name, role_arn, access_key, +2 more. Returns: object
get_snapshot_lifecycle_recommendationsC
Get recommendations for snapshot lifecycle management and cleanup.
Inputs: region_name, retention_days, profile_name, role_arn, +3 more. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogโฆ
TDQS
Scored across 76 tools
Tools are highly specific to different AWS services and optimization aspects, with clear distinctions like 'find_unused_ebs_volumes' vs. 'find_ebs_volumes_with_old_types'. However, some overlap exists, such as multiple 'find_unused_' tools across services that could be conceptually similar, though descriptions clarify the target resource.
All tools follow a consistent snake_case pattern with clear verb_noun structures: 'analyze_', 'find_', 'generate_', 'get_'. This uniformity makes the tool set predictable and easy to navigate, despite the large number of tools.
With 76 tools, the count is excessive for an MCP server, making it overwhelming for agents to manage. While AWS FinOps is a broad domain, this many tools suggests fragmentation rather than a well-scoped set, likely leading to confusion and inefficiency.
The tool set comprehensively covers AWS FinOps, including cost analysis, resource optimization, performance monitoring, and security compliance across numerous services. There are no obvious gaps; tools address both proactive recommendations and reactive findings for cost savings and efficiency.
Maintenance
Related MCP Connectors
Lowers your AWS bill by helping you clean up and optimize your setup
Cloud cost, inventory and governance on AWS/Azure/GCP. Read-only by default, optional scoped writes
FinOps assistant: query AWS, GCP and Azure cost, commitments, budgets and reports.
Query cloud, AI and SaaS spend across 25+ providers: costs, budgets, anomalies, unit economics.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables natural language analysis of AWS costs, automated FinOps waste audits, and budget monitoring across multiple profiles and regions while keeping credentials secure locally.48 PyPI184MIT
- AlicenseAqualityCmaintenanceEnables analyzing AWS cloud costs through natural language queries, providing cost summaries, anomaly detection, idle resource identification, rightsizing recommendations, and tagging compliance via Claude.1019 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables natural language analysis of AWS cloud costs, waste audits, and budget insights across multiple profiles and regions.MIT
- FlicenseNot gradedqualityAmaintenanceEnables natural-language analysis of AWS cloud costs, waste and savings audits, and budget monitoring across multiple accounts and regions while keeping credentials local.-