{"name":"io.github.getnable/finops-mcp","slug":"getnable-finops-mcp","title":"nable","description":"See where your cloud and AI bills go, and spend less. Local-first, in your terminal or editor.","url":"https://mcp.market/server/getnable-finops-mcp","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":30,"stars":18,"forks":1,"downloads_week":null,"last_push_at":"2026-09-17T01:13:49.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/getnable/finopsmcp","website":"https://getnable.com","version":"0.8.216","remotes":[],"packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"finops-mcp","version":"0.8.216","runtimeHint":"uvx","transport":{"type":"stdio"}}],"tools":[{"name":"acknowledge_anomaly","description":"Mark an anomaly as acknowledged (dismissed). It will no longer appear in active anomalies.","write_action":false,"price_micros":0,"input_schema":null},{"name":"audit_aws_waste","description":"Deep AWS waste audit: scans EC2, EBS, RDS, Lambda, NAT Gateways, CloudWatch Logs, S3, and CloudTrail for waste. Returns findings sorted by monthly savings.","write_action":false,"price_micros":0,"input_schema":null},{"name":"audit_azure_reservation_scope","description":"Find Azure reservations locked to one subscription while a sibling subscription pays full price for the same capacity.","write_action":false,"price_micros":0,"input_schema":null},{"name":"audit_cloudwatch_logs_ia_opportunities","description":"Finds CloudWatch Log groups to migrate to Infrequent Access class. IA cuts ingestion cost 50% ($0.075 to $0.0375/GB). Candidates: groups older than 30 days with >1 GB/month still on STANDARD. Note: IA does not support metric filters or subscription filters.","write_action":false,"price_micros":0,"input_schema":null},{"name":"audit_cloudwatch_metric_cardinality","description":"Audits CloudWatch custom metric cardinality. Custom metrics above the 10,000 free-tier threshold cost $0.30/metric/month. High-cardinality dimensions like pod_id or request_id can cause thousands of metrics per microservice.","write_action":false,"price_micros":0,"input_schema":null},{"name":"audit_cloudwatch_orphaned_alarms","description":"Finds CloudWatch alarms on deleted resources. Standard alarms cost $0.10/month, composite $0.30/month. Terminated instances and deleted queues leave alarms stuck in INSUFFICIENT_DATA indefinitely.","write_action":false,"price_micros":0,"input_schema":null},{"name":"audit_duplicate_spend","description":"Find places where you're paying for the same capability through two different services or providers at once, the kind of waste a plain cost breakdown never surfaces because every line item looks legitimate on its own. Covers three patterns: multiple LLM inference paths active at the same time (e.g. AWS Bedrock Claude AND a direct Anthropic API key), multiple managed search/retrieval services (Kend","write_action":false,"price_micros":0,"input_schema":null},{"name":"audit_ebs_snapshot_replication","description":"Audits cross-region EBS snapshot replication for waste. Replicated snapshots cost $0.05/GB-month in each region. Finds orphaned copies (source volume deleted), excessive copies (more than 3 regions), and old copies where a newer copy exists.","write_action":false,"price_micros":0,"input_schema":null},{"name":"audit_efs_cross_az_mounts","description":"Finds EC2 instances mounting EFS from a different AZ. Cross-AZ mounts cost $0.02/GB in hidden transfer charges. Fix by adding a mount target per AZ.","write_action":false,"price_micros":0,"input_schema":null},{"name":"audit_nlb_cross_zone_costs","description":"Finds NLBs with cross-zone load balancing enabled. Cross-zone LB charges $0.01/GB for cross-AZ traffic. Safe to disable when AZs have equal capacity.","write_action":false,"price_micros":0,"input_schema":null},{"name":"audit_public_ipv4_addresses","description":"Audits public IPv4 addresses across AWS. Since Feb 2024, AWS charges $3.60/month per IP including stopped instances. Finds unattached Elastic IPs and IPs on stopped instances with release recommendations.","write_action":false,"price_micros":0,"input_schema":null},{"name":"audit_rds_manual_snapshots","description":"Audits RDS manual snapshots for waste. Manual snapshots never auto-expire and cost $0.095/GB-month. Finds orphaned snapshots (source DB deleted) and old snapshots past the retention threshold.","write_action":false,"price_micros":0,"input_schema":null},{"name":"audit_s3_intelligent_tiering","description":"Finds S3 buckets using Intelligent-Tiering where the monitoring fee exceeds savings. IT costs $0.0025/1,000 objects, making it more expensive than S3 Standard for objects smaller than 128KB.","write_action":false,"price_micros":0,"input_schema":null},{"name":"audit_s3_transfer_acceleration","description":"Finds S3 buckets with Transfer Acceleration enabled that won't benefit. TA adds $0.04-0.08/GB and is often forgotten. Flags buckets as waste if volume is under 1 GB/month, bucket is in us-east-1, or it is behind CloudFront. Returns a CLI disable command for each flagged bucket.","write_action":true,"price_micros":0,"input_schema":null},{"name":"audit_spot_diversification","description":"Audits ASGs using spot for instance type diversification. ASGs with fewer than 3 types are HIGH_RISK. Best practice: 5+ types with capacity-optimized allocation to avoid correlated interruptions.","write_action":false,"price_micros":0,"input_schema":null},{"name":"audit_terraform_tags","description":"Scan Terraform state for resources missing required tags. Runs `terraform show -json` in tf_dir (or reads state_path directly). Required tags configured via FINOPS_REQUIRED_TAGS env var (comma-separated, default: team,environment,service).","write_action":false,"price_micros":0,"input_schema":null},{"name":"audit_textract_environment_waste","description":"Analyzes Textract spend by environment to find non-production API calls. Textract charges per page, QA and staging environments often call it unnecessarily. Identifies which Lambda functions or services are calling Textract in non-prod and estimates the monthly waste.","write_action":false,"price_micros":0,"input_schema":null},{"name":"benchmark_costs","description":"Compare this account's spend profile against anonymised peer group medians.","write_action":false,"price_micros":0,"input_schema":null},{"name":"check_budget_status","description":"Check current spend against budgets. Shows how much has been spent, what's remaining, and whether any budgets are in warning or exceeded status.","write_action":false,"price_micros":0,"input_schema":null},{"name":"cleanup_idle_resources","description":"Propose cleanup for idle AWS resources. nable never deletes anything: this returns the resources, the dollars, and the exact command for each, and the operator runs them. There is no mode in which this tool executes.","write_action":false,"price_micros":0,"input_schema":null},{"name":"connect_aws","description":"Connect an AWS account from inside your MCP client, no terminal needed.","write_action":false,"price_micros":0,"input_schema":null},{"name":"connect_azure","description":"Guide connecting Azure while keeping the service-principal secret off the model.","write_action":false,"price_micros":0,"input_schema":null},{"name":"delete_budget","description":"Delete (deactivate) a budget by ID so it stops alerting and gating agent actions.","write_action":true,"price_micros":0,"input_schema":null},{"name":"estimate_change_cost","description":"Cost preflight for a proposed change: what it costs and whether it fits budget.","write_action":false,"price_micros":0,"input_schema":null},{"name":"estimate_terraform_cost","description":"Estimate the monthly AWS cost change from a Terraform plan BEFORE applying it.","write_action":false,"price_micros":0,"input_schema":null},{"name":"explain_cost_change","description":"Explain what recent cost changes actually mean for the business.","write_action":false,"price_micros":0,"input_schema":null},{"name":"forecast_azure_costs","description":"Forecast Azure spend using Azure Cost Management's own forecast model.","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate_terraform_tag_fixes","description":"Generate HCL patches for all open tag violations in tf_dir. Shows a unified diff per .tf file, does NOT write to disk. Run audit_terraform_tags first to populate violations.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_account_anomalies","description":"Detect accounts with unusual spend changes versus their prior period. Returns accounts that significantly spiked or dropped in cost. Requires a Pro plan (org_reports).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_agent_team","description":"The nable agent team: Budget Guard, Savings Analyst, and the Ledger, with each agent's status on this install and the one step that finishes its setup.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_anomalies","description":"Return active (unacknowledged) cost anomalies detected from historical baselines.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_azure_advisor_recommendations","description":"Azure Advisor cost recommendations, with Microsoft-computed annual savings.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_azure_budgets","description":"Read the budgets you already set in Azure and report consumption against each.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_azure_cost_by_dimension","description":"Break Azure spend down by any dimension: service, resource group, location, or meter.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_azure_reservation_utilization","description":"Fetch Azure reservation utilization summaries from the Capacity API.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_azure_vm_rightsizing","description":"Find idle and oversized Azure VMs from Azure Monitor CPU, with real dollar cost.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_bedrock_costs","description":"Break down Amazon Bedrock costs by model and token type.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_business_metrics","description":"Return stored business metrics and trend over time.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_commitment_analysis","description":"Analyze Reserved Instance and Savings Plan coverage, utilization, and waste. Coverage %, utilization, and waste figures are free. Purchase recommendations with $ amounts require a Pro plan (commitment_recommendations).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_commitment_coverage_by_tag","description":"Estimate RI/SP commitment coverage for a specific tag slice, even when tagging is incomplete.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_cost_history","description":"Return historical daily cost data for a specific provider + service. Used for trend analysis and understanding anomaly context.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_cost_summary","description":"Get total spend summarized by service, account, and region.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_cost_summary_all_accounts","description":"Fan out cost queries across ALL configured AWS accounts and return a combined view sorted by total spend. Shows each account's total and top services.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_cost_trends","description":"Cost trends over time broken down by day or month.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_costs_by_service","description":"Cost breakdown by service, optionally filtered to a keyword.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_costs_by_team","description":"Return cloud costs broken down by engineering team, using tag attribution rules.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_credit_status","description":"Track AWS promotional-credit (Activate) burn-down and detect the moment billing flips from credits to cash, the cliff where an early startup first feels cost pain. AWS sends no native alert for this.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_data_transfer_costs","description":"Identify significant data transfer cost line items from AWS Cost Explorer.","write_action":true,"price_micros":0,"input_schema":null},{"name":"get_documentdb_costs","description":"Analyze Amazon DocumentDB costs by cluster, with rightsizing recommendations.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_ecr_cleanup_recommendations","description":"Find ECR repositories with old untagged container images consuming storage.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_ecs_rightsizing_recommendations","description":"Find ECS Fargate services with over-provisioned CPU allocations.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_effective_rate_profile","description":"Auto-detect the account's effective private rates by comparing actual billed amounts against public on-demand prices.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_efficiency_scorecard","description":"FinOps efficiency scorecard, a 0–100 score with letter grade across 5 dimensions: compute efficiency, waste reduction, commitment coverage, tag hygiene, and anomaly response. Tracked over time so you can see if you're improving.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_idle_load_balancers","description":"Detect ALBs, NLBs, and Classic ELBs with near-zero traffic over the past 14 days.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_idle_rds_instances","description":"Find RDS instances with near-zero database connections over the past 14 days.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_instance_deep_analysis","description":"Deep CloudWatch analysis for a specific EC2 instance. Returns CPU, network, and disk utilization percentiles, a rightsizing recommendation, and the Compute Optimizer recommendation if available.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_kendra_costs","description":"Analyze Amazon Kendra costs by index, with edition and usage flags.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_label_costs","description":"Aggregate Kubernetes costs by any pod label across all namespaces. Great for chargeback: see spend by team, environment, app, or any label.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_marketplace_costs","description":"Break down AWS Marketplace costs by product and vendor.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_org_cost_summary","description":"Get a cost rollup across all AWS Organization accounts: total spend, per-account breakdown sorted by spend, and top services per account. Requires a Pro plan (org_reports).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_ou_cost_breakdown","description":"Break costs down by AWS Organizational Unit (OU). When OUs map to departments or teams, this gives you a clean chargeback report. Requires a Pro plan (org_reports).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_rds_rightsizing_recommendations","description":"Detect over-provisioned RDS instances with low CPU utilization.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_resource_cost_breakdown_aws","description":"Return per-resource AWS cost detail from the Cost and Usage Report (CUR) via Athena. Includes unblended cost, on-demand equivalent, and effective savings from Savings Plans or Reserved Instances.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_resource_cost_breakdown_azure","description":"Return per-resource Azure cost detail via the Cost Management Query API.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_ri_waste_detail","description":"Identify wasted Reserved Instance spend from CUR RIFee line items.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_rightsizing_recommendations","description":"Analyze EC2 instances with low CPU utilization over the past 14 days and return rightsizing recommendations with projected monthly savings.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_s3_incomplete_multipart_uploads","description":"Find S3 buckets with incomplete multipart uploads older than the threshold.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_saas_spend_summary","description":"Dedicated summary of all SaaS tool spending (Datadog, Snowflake, GitHub, etc.). Useful for understanding your software vendor bill separate from cloud infrastructure.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_savings_plan_showback","description":"Show exactly how much each team saved from Savings Plans and Reserved Instances.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_storage_info","description":"Show the current storage backend (SQLite local or Postgres shared). Helps teams understand whether they're in single-engineer or shared mode.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_tag_cost_breakdown_cur","description":"Break AWS costs down by a resource tag using CUR line-item data via Athena.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_team_scorecards","description":"Efficiency scorecard for every team, side by side. Teams are discovered from your cost attribution tags (team=X). Shows which teams are leading and which need help.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_textract_costs","description":"Analyze AWS Textract costs by API type (sync vs async).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_top_cost_drivers","description":"Return the top N most expensive services across all configured providers.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_top_spending_accounts","description":"Show the highest-spending AWS accounts in the organization. Requires a Pro plan (org_reports).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_total_spend_all_sources","description":"Grand total across ALL connected sources, cloud infrastructure + SaaS tools combined. The true \"total technology spend\" number.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_traffic_cost_breakdown","description":"Break down AWS network/data-transfer spend: how much, and where it goes.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_unit_economics","description":"Connect your total cloud and SaaS spend to business metrics.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_workload_costs","description":"Detailed Kubernetes workload cost breakdown with efficiency grades. Supports filtering by namespace and workload kind, sorting by cost or waste.","write_action":false,"price_micros":0,"input_schema":null},{"name":"identify_nonprod_scheduling_opportunities","description":"Finds non-production EC2 instances (dev/staging/test) running 24/7. Scheduling to business hours only saves 60-70% on compute costs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_aws_accounts","description":"List all AWS accounts configured in ~/.finops-mcp/accounts.yaml.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_budgets","description":"List all configured budgets with their limits and scopes.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_idle_resources","description":"Scan for idle/wasted AWS resources that are costing money but doing nothing.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_org_accounts","description":"List all AWS Organization member accounts, discovering them via the AWS Organizations API. Syncs account metadata to local DB for future queries. Account listing is free. Detailed cost rollup across accounts requires a Pro plan.","write_action":false,"price_micros":0,"input_schema":null},{"name":"load_plugins","description":"Discover and register every ``finops.plugins`` entry point against ``mcp``.","write_action":false,"price_micros":0,"input_schema":null},{"name":"open_rightsizing_pr","description":"Apply rightsizing recommendations to Terraform source, optionally opening a GitHub PR.","write_action":false,"price_micros":0,"input_schema":null},{"name":"open_terraform_tag_pr","description":"Apply tag fixes to .tf files and open a GitHub PR. Requires GITHUB_TOKEN env var and a git remote configured for github_repo.","write_action":false,"price_micros":0,"input_schema":null},{"name":"recommend_database_savings_plans","description":"Recommends AWS Database Savings Plans for RDS and Aurora spend. Database SPs (re:Invent 2025) offer up to 45% savings, separate from Compute SPs. Sizes a 1-year no-upfront plan to uncovered baseline spend.","write_action":false,"price_micros":0,"input_schema":null},{"name":"recommend_lambda_snapstart","description":"Finds Java Lambda functions that should use SnapStart. SnapStart eliminates cold starts for free, replacing expensive provisioned concurrency.","write_action":false,"price_micros":0,"input_schema":null},{"name":"recommend_spot_adoption","description":"Finds on-demand EC2 instances to migrate to spot for 60-80% savings. Uses env tags, ASG membership, CPU variance, and Spot Advisor interruption data. Returns RECOMMENDED, POSSIBLE, or NOT_RECOMMENDED per instance.","write_action":false,"price_micros":0,"input_schema":null},{"name":"run_attribution_now","description":"Fetch tagged cost data from AWS/Azure/GCP and store team attributions. Run this after setting up tag_rules.yaml to populate team cost data.","write_action":true,"price_micros":0,"input_schema":null},{"name":"scan_cloudwatch_waste","description":"Finds CloudWatch Log Groups with no retention policy (infinite retention costs $0.03/GB-month). Returns groups, estimated monthly cost, recommended retention periods by log type, and CLI commands to fix top offenders.","write_action":false,"price_micros":0,"input_schema":null},{"name":"scan_graviton_migration_opportunities","description":"Finds EC2 instances that can migrate to Graviton (arm64) for 20-40% savings. Returns ranked candidates with estimated monthly savings per instance.","write_action":false,"price_micros":0,"input_schema":null},{"name":"scan_lambda_concurrency_waste","description":"Scans Lambda functions with provisioned concurrency for waste. Provisioned concurrency costs money even when idle. Returns functions below 50% avg utilization with savings estimates.","write_action":false,"price_micros":0,"input_schema":null},{"name":"scan_s3_bucket_key_opportunities","description":"Finds S3 buckets using KMS encryption without Bucket Keys enabled. Bucket Keys reduce KMS API calls by up to 99%. Returns affected buckets with the CLI command to fix each one.","write_action":false,"price_micros":0,"input_schema":null},{"name":"scan_waste_patterns","description":"Scan for cloud cost waste patterns using nable's proprietary pattern library.","write_action":false,"price_micros":0,"input_schema":null},{"name":"set_budget","description":"Create or update a spending budget. Budgets fire Slack alerts when spend crosses alert_at_pct, and fail CI checks when it crosses block_at_pct.","write_action":true,"price_micros":0,"input_schema":null},{"name":"set_business_metrics","description":"Store your business metrics so nable can connect cloud costs to business outcomes.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sync_budgets_from_yaml","description":"Import budgets from a budget.yml file. Idempotent, running twice is safe. Use this to version-control your spending limits alongside your infrastructure code.","write_action":false,"price_micros":0,"input_schema":null},{"name":"take_snapshot_now","description":"Manually trigger a cost snapshot right now (fetches yesterday's costs from all providers). Normally this runs automatically at 01:00 UTC daily.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":92,"grade":"A","scanned_at":"2026-09-20T11:40:25.900Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T11:40:25.836Z","components":{"code":{"score":25,"max":25,"notes":["258 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 3 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"finops-mcp","version":"0.8.216","found":true,"license":"Apache-2.0","dependencyCount":51,"publishedAt":"2026-09-04T20:09:54.359302Z","repositoryUrl":"https://github.com/getnable/finopsmcp"}],"repo":{"found":true,"owner":"getnable","repo":"finopsmcp","archived":false,"pushedAt":"2026-09-17T01:13:49Z","stars":18,"forks":1,"openIssues":8,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/63214337?v=4","ownerCreatedAt":"2020-04-05T23:52:13Z","license":"Apache-2.0"},"icon":{"url":"https://getnable.com/nable-icon-512.png","source":"registry","width":512,"height":512},"presence":{"stars":18,"forks":1,"downloadsWeek":null,"license":"Apache-2.0","lastPushAt":"2026-09-17T01:13:49.000Z","score":30}}}},"grade_history":[],"reviews":[]}