nable Docs / Tool reference

Tool reference

Every tool nable exposes to Claude, Cursor, and any MCP client. You never call these by name, just ask, and nable picks the right one. This page is generated from the source of finops-mcp on every release.

185 of 185 tools · read-only unless marked · PRO = paid tier

Cost visibility 23

benchmark_costs

Compare this account's spend profile against anonymised peer group medians.

(account_id?, vertical?, days?)
compare_providersPRO

Side-by-side cost comparison across all configured providers.

(category?, start_date?, end_date?)
explain_cost_changePRO

Explain what recent cost changes actually mean for the business.

(compare_days?)
explain_recent_cost_drivers

Explain what drove cost changes across all connected providers in the last N days.

(days?, top_n?)
get_cost_history

Return historical daily cost data for a specific provider + service. Used for trend analysis and understanding anomaly context.

(provider, service, account_id, days?)
get_cost_summary

Get total spend summarized by service, account, and region.

(provider?, category?, start_date?, end_date?, granularity?, account?)
get_cost_trends

Cost trends over time broken down by day or month.

(provider?, category?, days?, granularity?)
get_costs_by_service

Cost breakdown by service, optionally filtered to a keyword.

(service_filter?, provider?, category?, start_date?, end_date?, account?)
get_data_transfer_costs

Identify significant data transfer cost line items from AWS Cost Explorer.

(start_date?, end_date?, threshold_usd?)
get_documentdb_costs

Analyze Amazon DocumentDB costs by cluster, with rightsizing recommendations.

(days?, account?)
get_focus_costs

Return unified cost data in FOCUS 1.2 format across all connected providers, clouds plus supported usage-based SaaS (e.g. Snowflake).

(start_date?, end_date?, provider?, group_by?)
get_marketplace_costs

Break down AWS Marketplace costs by product and vendor.

(days?, account?)
get_resource_cost_breakdown_awsPRO

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.

(start_date?, end_date?, service?, account_id?, min_cost_usd?, limit?)
get_saas_spend_summary

Dedicated summary of all SaaS tool spending (Datadog, Snowflake, GitHub, etc.). Useful for understanding your software vendor bill separate from cloud infrastructure.

(start_date?, end_date?)
get_service_cost

Get cost breakdown for any named cloud service on AWS, Azure, or GCP.

(service_name, provider?, start_date?, end_date?, granularity?)
get_storage_info

Show the current storage backend (SQLite local or Postgres shared). Helps teams understand whether they're in single-engineer or shared mode.

get_top_cost_drivers

Return the top N most expensive services across all configured providers.

(limit?, provider?, category?, start_date?, end_date?, account?)
get_total_spend_all_sourcesPRO

Grand total across ALL connected sources, cloud infrastructure + SaaS tools combined. The true "total technology spend" number.

(start_date?, end_date?)
get_traffic_cost_breakdown

Break down AWS network/data-transfer spend: how much, and where it goes.

(days?)
list_active_services

List every cloud service that has spend in the period, across AWS, Azure, and GCP.

(provider?, start_date?, end_date?)
list_connected_providers

List every cloud, SaaS, and LLM provider nable knows, each marked connected or not-configured, plus the active plan. The starting point for "what am I connected to" and for spotting which connector still needs credentials (each not-configured entry names the setup command to run).

run_full_cost_audit

Run a full cost optimization audit across all connected AWS resources. Use this when the user explicitly asks for a full audit, cost scan, or optimization sweep. For simple cost questions ("what did I spend last month?") prefer get_cost_summary or get_costs_by_service, they are faster and cheaper.

(regions?, top_n?)
slice_costs

Slice cloud cost any way you want. This is the flexible, moldable cost query: group and filter by ANY combination of dimensions, over any date range, instead of a fixed set of canned reports. Returns both the numbers and a `card` describing how to chart them (which the UI can render and pin to the dashboard).

(dimensions?, filters?, exclusions?, metric?, granularity?, order_by?, …)

Waste & rightsizing 35

audit_aws_waste

Deep AWS waste audit: scans EC2, EBS, RDS, Lambda, NAT Gateways, CloudWatch Logs, S3, and CloudTrail for waste. Returns findings sorted by monthly savings.

(regions?, checks?, account_id?)
audit_cloudwatch_logs_ia_opportunities

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.

(regions?)
audit_cloudwatch_metric_cardinality

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.

(regions?)
audit_cloudwatch_orphaned_alarms

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.

(regions?, max_results?)
audit_duplicate_spend

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 (Kendra + OpenSearch), and two data platforms at once (Databricks + Snowflake).

(days?)
audit_ebs_snapshot_replication

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.

(regions?, max_results?)
audit_efs_cross_az_mounts

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.

(regions?)
audit_nlb_cross_zone_costs

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.

(regions?)
audit_public_ipv4_addresses

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.

(regions?)
audit_rds_manual_snapshots

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.

(regions?, age_threshold_days?)
audit_s3_intelligent_tiering

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.

(regions?, max_results?)
audit_s3_transfer_acceleration

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.

audit_spot_diversification

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.

(regions?)
audit_terraform_tags

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).

(tf_dir, state_path?)
audit_textract_environment_waste

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.

(days?)
cleanup_idle_resources

Delete or release idle AWS resources. This is a REAL ACTION that terminates EC2 instances, releases EBS volumes, and frees Elastic IPs. Always runs in dry_run=True mode first so you can review what will be deleted. Requires explicit confirmation before setting dry_run=False.

(resource_ids?, resource_types?, regions?, min_idle_days?, dry_run?)
get_ecr_cleanup_recommendations

Find ECR repositories with old untagged container images consuming storage.

(older_than_days?, regions?)
get_ecs_rightsizing_recommendations

Find ECS Fargate services with over-provisioned CPU allocations.

(cpu_threshold?, regions?)
get_idle_load_balancers

Detect ALBs, NLBs, and Classic ELBs with near-zero traffic over the past 14 days.

(regions?, request_threshold?)
get_idle_rds_instances

Find RDS instances with near-zero database connections over the past 14 days.

(regions?)
get_instance_deep_analysis

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.

(instance_id, region?, lookback_days?)
get_rds_rightsizing_recommendations

Detect over-provisioned RDS instances with low CPU utilization.

(cpu_threshold?, regions?)
get_ri_waste_detailPRO

Identify wasted Reserved Instance spend from CUR RIFee line items.

(start_date?, end_date?, min_waste_usd?)
get_rightsizing_recommendations

Analyze EC2 instances with low CPU utilization over the past 14 days and return rightsizing recommendations with projected monthly savings.

(avg_cpu_threshold?, max_cpu_threshold?)
get_s3_incomplete_multipart_uploads

Find S3 buckets with incomplete multipart uploads older than the threshold.

(older_than_days?)
identify_nonprod_scheduling_opportunities

Finds non-production EC2 instances (dev/staging/test) running 24/7. Scheduling to business hours only saves 60-70% on compute costs.

(regions?, max_results?)
list_idle_resources

Scan for idle/wasted AWS resources that are costing money but doing nothing.

(resource_types?, regions?, min_idle_days?)
recommend_database_savings_plans

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.

recommend_lambda_snapstart

Finds Java Lambda functions that should use SnapStart. SnapStart eliminates cold starts for free, replacing expensive provisioned concurrency.

(regions?)
recommend_spot_adoption

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.

(regions?)
scan_cloudwatch_waste

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.

(regions?)
scan_graviton_migration_opportunities

Finds EC2 instances that can migrate to Graviton (arm64) for 20-40% savings. Returns ranked candidates with estimated monthly savings per instance.

(regions?)
scan_lambda_concurrency_waste

Scans Lambda functions with provisioned concurrency for waste. Provisioned concurrency costs money even when idle. Returns functions below 50% avg utilization with savings estimates.

(regions?)
scan_s3_bucket_key_opportunities

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.

scan_waste_patterns

Scan for cloud cost waste patterns using nable's proprietary pattern library.

(account_id?, min_monthly_waste?, categories?)

Savings & commitments 12

dismiss_recommendation

Dismiss a recommendation you've decided not to act on (won't fix, accepted risk, etc.). Dismissed recommendations won't appear in open potential savings.

(recommendation_id, reason?)
get_commitment_analysisPRO

Analyze Reserved Instance and Savings Plan coverage, utilization, and waste. Coverage %, utilization, and waste figures are free. Purchase recommendations with $ amounts require a Team plan (commitment_recommendations).

get_commitment_coverage_by_tag

Estimate RI/SP commitment coverage for a specific tag slice, even when tagging is incomplete.

(tag_key, tag_value, tag_coverage_pct?)
get_effective_rate_profile

Auto-detect the account's effective private rates by comparing actual billed amounts against public on-demand prices.

get_recommendation_learning

What nable has learned about how YOU use recommendations, and how it adapts.

get_recommendation_quality

The recommendation-quality flywheel: per recommendation type, how often recs get acted on and how close the predicted savings were to the measured realized savings. The verified-savings proof, and the signal for which recommendation types actually pay off.

get_savings_ledger

Shows a clean summary of savings found, acted on, and verified.

(days?, account_id?)
get_savings_plan_showbackPRO

Show exactly how much each team saved from Savings Plans and Reserved Instances.

(tag_key?, start_date?, end_date?, include_ri?)
get_savings_summary

Show the realized-savings dashboard: how much nable has recommended, how much has been acted on, and how much has been verified as actually saved.

list_savings_recommendations

List tracked recommendations with their current status.

(status?, source?, limit?)
mark_recommendation_acted_on

Mark a savings recommendation as acted on (you've implemented the change). nable will then attempt to verify the change next time verify_savings() runs.

(recommendation_id)
verify_savings

Auto-verify acted-on recommendations by checking if changes were actually implemented in AWS (EC2 instance type changes, etc.).

AI & LLM spend 17

get_ai_billing_blind_spots

Flag AWS AI/Marketplace spend that bypasses AWS Cost Anomaly Detection, Bedrock (bills through Marketplace), other Marketplace AI/SaaS, and SageMaker. These line items are invisible to AWS's own anomaly detector, so a spike goes unnoticed until the invoice lands. nable watches them directly.

(days?)
get_ai_engineering_reportPRO

What your AI coding tools actually shipped, by model, and what it cost.

(days?, repos?, unit?)
get_ai_kpisPRO

Full AI cost health dashboard with actionable KPIs.

(days?, infra_total_usd?)
get_ai_spend_monitorPRO

On-demand view of what nable's daily AI-spend monitor watches: a spike or drop on your token-spend series, plus commitment contracts that need attention (capacity under-utilized, enterprise minimum shortfall, commitment expiring). The scheduler runs this daily and alerts via Slack; this returns the same view on demand.

(days?)
get_bedrock_costs

Break down Amazon Bedrock costs by model and token type.

(days?, account?)
get_gpu_infra_costs

Report spend status across serverless-GPU / inference-infra providers, Modal, Together, and Replicate. For the model-builder slice of AI startups this is the single largest variable cost, billed per GPU-second inside each vendor's own dashboard and invisible to any cloud bill.

(days?, start_date?, end_date?)
get_kendra_costs

Analyze Amazon Kendra costs by index, with edition and usage flags.

(account?)
get_langfuse_model_costs

Break down LLM spend and token usage by model from Langfuse observability data.

(days?, start_date?, end_date?)
get_langfuse_trace_volume

Daily trace and observation counts from Langfuse, usage volume over time.

(days?, start_date?, end_date?)
get_llm_commitment_analysis

Optimize token spend against committed AI contracts: prepaid credits, Azure OpenAI PTUs, AWS Bedrock Provisioned Throughput, and enterprise rate cards. This is Reserved-Instance analysis for tokens. nable prices you against your ACTUAL negotiated terms, not list, which a provider dashboard cannot do.

(days?)
get_llm_cost_by_model

Break down AI/LLM costs by individual model with efficiency metrics.

(days?, provider?)
get_llm_costs

Aggregate AI/LLM spend across all configured providers, OpenAI, Anthropic, AWS Bedrock, Azure OpenAI, and Vertex AI.

(days?, start_date?, end_date?)
get_llm_unit_economicsPRO

Calculate cost per unit of business value from AI APIs.

(metric_name?, metric_count?, days?)
get_llm_unit_economics_fullPRO

AI cost unit economics: cost per customer, MAU, API request, and gross margin impact.

(customers?, mau?, mrr?, api_requests?, days?)
get_textract_costs

Analyze AWS Textract costs by API type (sync vs async).

(days?, account?)
optimize_ai_spend

Ranked, dollar-quantified plan to cut your AI/LLM bill, across OpenAI, Anthropic, AWS Bedrock, Azure OpenAI, and Vertex.

(days?)
recommend_bedrock_model_routing

Analyzes Bedrock model usage to find invocations that could route to cheaper models without quality loss. Sonnet costs 20x more than Haiku. Classification, extraction, and short-context tasks rarely need Sonnet.

(days?)

Agent cost gate 5

check_action_policy

Advisory policy gate: should a proposed remediation action proceed?

(action_type, terraform_plan_json?, terraform_plan_file?, tf_dir?, helm_diff?, monthly_delta_usd?, …)
delete_alert_policy

Remove a custom alert policy. The service will revert to the default threshold.

(policy_id)
estimate_change_cost

Cost preflight for a proposed change: what it costs and whether it fits budget.

(terraform_plan_json?, terraform_plan_file?, tf_dir?, helm_diff?, monthly_delta_usd?, budget_name?)
estimate_terraform_cost

Estimate the monthly AWS cost change from a Terraform plan BEFORE applying it.

(plan_json?, plan_file?, tf_dir?)
set_alert_policyPRO

Set a custom alert policy for anomaly detection on a specific provider or service.

(provider?, service_pattern?, muted?, min_pct_change?, min_usd_change?, note?)

Kubernetes 12

compare_kubernetes_clusters

Compare costs and efficiency across all configured Kubernetes clusters. Useful for multi-cluster setups (prod vs staging, region vs region).

create_kubernetes_waste_ticketsPRO

Create tickets for Kubernetes waste findings: idle nodes, over-provisioned workloads, and orphaned Helm releases.

(min_monthly_waste?)
estimate_helm_diff_cost

Estimate the monthly cost impact of a helm diff or values.yaml change. Handles replicaCount, CPU/memory requests, instanceType, and nodeCount changes.

(diff_text, release_name?, current_replicas?, current_cpu_request?, current_memory_request?)
get_cluster_efficiency

Kubernetes cluster efficiency score (0-100) with letter grade, per-namespace breakdown, and prioritised recommendations ranked by dollar impact.

(context?)
get_databricks_cluster_efficiency

Audit all Databricks clusters for efficiency issues and cost waste.

get_helm_release_costs

Cost breakdown by Helm release, shows what each release actually costs rather than raw deployment names. Detects orphaned releases wasting money.

(context?, namespace?)
get_kubernetes_cost_trends

Kubernetes cost trend over time from stored daily snapshots. Shows whether cluster spend is growing, shrinking, or stable.

(days?, cluster?, namespace?, granularity?)
get_kubernetes_costs

Full Kubernetes cost breakdown -- node costs attributed to namespaces, workloads, and labels. Detects wasted spend and rightsizing opportunities.

(context?, namespace?)
get_kubernetes_namespace_breakdown

Deep-dive cost breakdown for a single Kubernetes namespace. Shows every workload, pod count, CPU/memory efficiency, and waste.

(namespace)
get_label_costs

Aggregate Kubernetes costs by any pod label across all namespaces. Great for chargeback: see spend by team, environment, app, or any label.

(label_key?, context?)
get_workload_costs

Detailed Kubernetes workload cost breakdown with efficiency grades. Supports filtering by namespace and workload kind, sorting by cost or waste.

(namespace?, kind?, sort_by?, context?, limit?)
list_kubernetes_contexts

List all Kubernetes contexts available in the local kubeconfig, and show which one is currently active. Use this to discover what to pass as the 'context' argument to get_kubernetes_costs.

Budgets 6

check_budget_status

Check current spend against budgets. Shows how much has been spent, what's remaining, and whether any budgets are in warning or exceeded status.

(budget_name?)
delete_budget

Delete (deactivate) a budget by ID so it stops alerting and gating agent actions.

(budget_id)
get_credit_status

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.

(months?)
list_budgets

List all configured budgets with their limits and scopes.

set_budget

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.

(name, limit_usd, scope_type?, scope_value?, period?, alert_at_pct?, …)
sync_budgets_from_yaml

Import budgets from a budget.yml file. Idempotent, running twice is safe. Use this to version-control your spending limits alongside your infrastructure code.

(yaml_path)

Anomalies & alerts 6

acknowledge_anomaly

Mark an anomaly as acknowledged (dismissed). It will no longer appear in active anomalies.

(anomaly_id)
check_notification_config

Check which notification channels (Slack, Teams) are configured and active, returning each channel's status and what is missing when one is not set up. Use it to verify where anomaly alerts and digests will be delivered before relying on them.

create_anomaly_ticketsPRO

Create tickets in Jira, Linear, or GitHub Issues for all active high/medium anomalies that don't already have a ticket. Uses the first configured ticketing provider.

(limit?)
get_account_anomaliesPRO

Detect accounts with unusual spend changes versus their prior period. Returns accounts that significantly spiked or dropped in cost. Requires a Team plan (org_reports).

(days_back?)
get_anomalies

Return active (unacknowledged) cost anomalies detected from historical baselines.

(provider?, severity?, limit?, account?)
list_alert_policies

List all custom alert policies for anomaly detection.

Forecasting 3

forecast_azure_costsPRO

Forecast Azure spend using Azure Cost Management's own forecast model.

(subscription_id?, end_date?)
forecast_costsPRO

Forecast future cloud spend using Holt-Winters time-series modelling.

(account_id?, service?, horizon_days?, history_days?)
forecast_llm_costsPRO

Forecast AI/LLM token spend and, if you give a balance, the date your credits or commitment run out. Uses nable's per-account forecaster (Holt-Winters with linear and naive fallbacks by history length) on your daily token-cost series.

(horizon_days?, balance_usd?)

Teams & attribution 8

get_business_metricsPRO

Return stored business metrics and trend over time.

(history_days?)
get_costs_by_team

Return cloud costs broken down by engineering team, using tag attribution rules.

(start_date?, end_date?, provider?)
get_efficiency_scorecard

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.

(scope?, team?, environment?, provider?)
get_tag_cost_breakdown_curPRO

Break AWS costs down by a resource tag using CUR line-item data via Athena.

(tag_key?, start_date?, end_date?, cost_type?)
get_team_scorecards

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.

get_unit_economicsPRO

Connect your total cloud and SaaS spend to business metrics.

(period_days?)
run_attribution_now

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.

(start_date?, end_date?)
set_business_metricsPRO

Store your business metrics so nable can connect cloud costs to business outcomes.

(arr_usd?, mrr_usd?, mau?, dau?, paying_customers?, api_calls_monthly?, …)

Organizations & accounts 8

generate_account_dashboard

Generate a cost dashboard for the account and open it in your browser.

(account_id?, open_browser?, push_to_notion?)
get_cost_summary_all_accounts

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.

(start_date?, end_date?, granularity?)
get_org_cost_summaryPRO

Get a cost rollup across all AWS Organization accounts: total spend, per-account breakdown sorted by spend, and top services per account. Requires a Team plan (org_reports).

(days_back?)
get_ou_cost_breakdownPRO

Break costs down by AWS Organizational Unit (OU). When OUs map to departments or teams, this gives you a clean chargeback report. Requires a Team plan (org_reports).

(days_back?)
get_top_spending_accountsPRO

Show the highest-spending AWS accounts in the organization. Requires a Team plan (org_reports).

(limit?, days_back?)
list_accounts

List all cloud accounts, subscriptions, and SaaS org IDs that nable can see, grouped by provider: AWS account ids, Azure subscriptions, GCP billing accounts, and each SaaS provider's org. Use it to find the account id or name other tools accept as their account argument.

(provider?)
list_aws_accounts

List all AWS accounts configured in ~/.finops-mcp/accounts.yaml.

list_org_accounts

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 Team plan.

Azure 6

get_azure_advisor_recommendations

Azure Advisor cost recommendations, with Microsoft-computed annual savings.

(subscription_id?, limit?)
get_azure_budgets

Read the budgets you already set in Azure and report consumption against each.

(subscription_id?)
get_azure_cost_by_dimension

Break Azure spend down by any dimension: service, resource group, location, or meter.

(dimension, start_date?, end_date?, subscription_id?, limit?)
get_azure_reservation_utilizationPRO

Fetch Azure reservation utilization summaries from the Capacity API.

(start_date?, end_date?)
get_azure_vm_rightsizing

Find idle and oversized Azure VMs from Azure Monitor CPU, with real dollar cost.

(subscription_id?, lookback_days?, limit?, max_vms_scanned?)
get_resource_cost_breakdown_azurePRO

Return per-resource Azure cost detail via the Cost Management Query API.

(start_date?, end_date?, subscription_id?, resource_group?, min_cost_usd?, limit?)

GCP 2

audit_gcp_waste

Deep GCP waste audit: scans Compute Engine across all zones/regions for unattached persistent disks, reserved-but-idle static IPs, old snapshots, and idle VMs (CPU joined from Cloud Monitoring). Returns findings sorted by estimated monthly savings.

(projects?, checks?, idle_days?, snapshot_age_days?)
get_gcp_recommendations

Pull Google's native Recommender API cost recommendations for your GCP projects.

(projects?, recommenders?)

Databricks 3

get_databricks_costs

Return Databricks workspace cost breakdown for the given date range.

(start_date?, end_date?)
get_databricks_dbu_breakdown

Show DBU (Databricks Unit) consumption by cluster, job, and cluster type.

(start_date?, end_date?)
get_databricks_job_costs

Show cost and DBU breakdown by Databricks job run.

(start_date?, end_date?, top_n?)

Tickets & PRs 6

create_rightsizing_ticketsPRO

Create tickets for rightsizing recommendations, over-provisioned EC2, RDS, and other resources that could be downsized to save money.

(min_monthly_savings?, provider?)
create_scorecard_ticketsPRO

Create tickets for scorecard dimensions scoring below a threshold. Helps teams track and remediate FinOps efficiency gaps.

(score_threshold?, team?)
create_ticketPRO

Create a ticket in the configured ticketing system (Jira, Linear, or GitHub Issues) with a custom title and body. Use this for any finding, recommendation, or action item that doesn't fit a specific category.

(title, body, priority?, labels?)
generate_terraform_tag_fixes

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.

(tf_dir)
open_rightsizing_prPRO

Apply rightsizing recommendations to Terraform source, optionally opening a GitHub PR.

(tf_dir, github_repo?, recommendation_ids?, resource_overrides?, branch?, base_branch?, …)
open_terraform_tag_prPRO

Apply tag fixes to .tf files and open a GitHub PR. Requires GITHUB_TOKEN env var and a git remote configured for github_repo.

(tf_dir, github_repo, branch?, base_branch?, pr_title?)

Reports & exports 17

cancel_report_subscription

Cancel (deactivate) a scheduled report subscription.

(subscription_id)
export_board_summaryPRO

Generate the cost section of a board / investor update as markdown.

(period_days?)
export_cost_report

Export a cost report as HTML (printable to PDF) and/or CSV. Saved to ~/.finops/exports/. No Claude Desktop required to open.

(title?, sections?, formats?, start_date?, end_date?, open_file?)
export_cost_report_csv

Runs the full cost audit and exports results to a CSV file.

(output_path?, regions?, top_n?)
fetch_invoice_emails

Fetch unread invoice emails from the configured IMAP mailbox, extract amounts, and store them as cost entries. Solves the billing API gap for vendors like PagerDuty, New Relic, and GitHub Enterprise.

get_tableau_connection_info

Returns the Tableau Web Data Connector URL for connecting Tableau Desktop to nable.

(port?)
list_report_subscriptions

List all active report subscriptions, their names, schedules, sections, and delivery channels.

publish_cost_report_to_notion

Runs the full cost audit and publishes results to your team's Notion page.

(regions?)
push_to_n8nPRO

Runs the cost audit and pushes results to your n8n workflow via webhook.

(event_type?, regions?)
push_weekly_insightPRO

Push a rich weekly cost intelligence summary to Slack right now.

send_digest_nowPRO

Manually trigger a cost digest to Slack and/or Teams right now. Normally this sends automatically at 09:00 UTC daily.

send_onboarding_email

Send an onboarding email to a specific address.

(to_email, variant?, days_left?)
send_report_nowPRO

Trigger a report subscription immediately, regardless of its schedule.

(subscription_id)
send_weekly_digest_nowPRO

Immediately send the weekly email digest to the configured recipient. Includes spend summary, anomalies, and top rightsizing recommendations. Works without Claude, pure standalone email.

start_dashboard_server

Starts a local web dashboard you can open in a browser. Binds to localhost by default. Pass expose=true to bind all interfaces so others on your network can reach it (plain HTTP, so only do this on a trusted network or behind a TLS proxy).

(port?, host?, expose?)
subscribe_to_reportPRO

Create a scheduled report subscription. Reports are delivered automatically to Slack channels and/or email addresses on the configured schedule.

(name, sections, frequency?, slack_channels?, email_addresses?, team?, …)
take_snapshot_now

Manually trigger a cost snapshot right now (fetches yesterday's costs from all providers). Normally this runs automatically at 01:00 UTC daily.

Saved views 6

get_pinned_view

Re-run a pinned view by id and return fresh cost data plus its rendered card. Read-only: nothing is modified, the saved definition is executed against current data.

(view_id)
get_view

Run a pre-built cost view by name. These are standard reports your whole team can share.

(view, tag_key?, tag_value?, provider?, days?)
list_pinned_views

List the cost cards pinned to the dashboard: every saved view with its id, title, template, metric and dimensions, so you can re-run one with get_pinned_view(id) or remove one with unpin_view(id).

list_views

List all pre-built cost views available to your team.

pin_view

Pin a cost slice to the dashboard as a saved card. Takes the same slicing arguments as slice_costs (dimensions / filters / exclusions / metric / etc.), plus a title and a rolling lookback `days`. The pinned card re-runs its slice live on each dashboard load over the trailing `days`, so it always shows fresh numbers. scope: "instance" (shared on this nable) or "me". Read-only on the cloud: this only saves a view definition locally. Args: title: Card title shown on the dashboard. dimensions: Fields to group by (as in slice_costs). filters: Include-filters, {field: [values]}. exclusions: Exclude-filters, {field: [values]}. metric: "cost" (default) or another supported metric. granularity: "DAILY" or "MONTHLY". order_by: Sort field, defaults to the metric descending. limit: Max rows in the card. days: Look-back window in days (default 30). scope: "instance" (default) pins for this machine.

(title, dimensions?, filters?, exclusions?, metric?, granularity?, …)
unpin_view

Remove a pinned cost card from the dashboard by id, so the dashboard stops tracking that saved view. The underlying saved view is not deleted, only unpinned; pin_view() puts it back.

(view_id)

Platform & admin 9

check_connector_health

Actively test every configured connector with a real API call. Reports health status, last successful data time, and fix instructions for failures.

create_api_key

Create a new API key for a team member. Requires admin role in shared mode.

(name, role?, email?, scope_team?, scope_provider?)
get_nable_roi

Shows the return on investment from using nable: savings found, acted on, and verified versus the cost of the tool itself.

(period_days?)
list_api_keys

List all active API keys (names, roles, scopes). Raw keys are never shown. Requires admin role in shared mode.

list_profiles

List all configured nable profiles (for multi-account or multi-client setups).

list_vault_credentials

List the names of credentials stored in the encrypted vault (never the values).

revoke_api_key

Revoke an API key by ID. The key is soft-deleted, it stops working immediately. Requires admin role. Use list_api_keys to find the key ID first.

(key_id)
what_can_nable_do

Show everything nable can do, tailored to what you've connected.

(detailed?)
whoami

Show the current identity and access level. Works in both permissive and shared auth mode.

Other 1

nable_setup_status

Agent-driven onboarding: what is connected, what credentials are already on this machine, and the exact command to connect each remaining provider.