Are you the author? Sign in to claim
The headless FinOps intelligence layer: API-first, agent-first cost control for cloud + AI. Ask your whole bill in Claud
See where your cloud and AI bills go, and spend less. Runs in your terminal or inside Claude, Cursor, and VS Code.
You do not need to be a cloud-cost expert. nable does three things:
Built for the engineer who owns the bill, not a dedicated FinOps team. Everything runs on your machine, read-only, and your billing data never leaves it.
uvx nable scan
nable scan · profile prod
account 3521… · this account only
scanning 17 regions …
us-east-1 ......... 3 findings
eu-west-1 ......... 1 finding
────────────────────────────────────────────
$2,140/mo recoverable
$1,200/mo 3 idle NAT gateways, us-east-1
$610/mo 14 unattached EBS volumes (2.1 TB), us-east-1
$330/mo idle RDS instance (db.r5.xlarge, <2% CPU), eu-west-1
run `nable scan --spend` for the spend breakdown (uses Cost Explorer, ~$0.02)
Reads only free cloud APIs, so scanning never adds to your bill. uvx nable scan --demo runs on sample data with no account at all. Add --json for CI, or --spend for a deeper breakdown.

uvx nable runs as a local MCP server inside Claude, Cursor, and VS Code, on your existing Claude or Cursor membership, no API key and no per-token cost. Then ask:
Requires Python 3.11+. Need uv? curl -LsSf https://astral.sh/uv/install.sh | sh (or brew install uv).
uvx nable
The setup wizard finds AWS or GCP credentials already on your machine (an SSO login, a CLI profile, or default credentials), connects the one you pick, and configures your editor. Usually you never type a key.
Cursor one-click: Add nable to Cursor
Free forever for the local tool. A hosted version for teams (dashboards without a terminal, SSO, scheduled reports, always-on agents) is at getnable.com/pricing.
If finops setup doesn't auto-configure, run:
finops setup claude
Or add manually to claude_desktop_config.json:
With uvx (recommended):
{
"mcpServers": {
"nable": { "command": "uvx", "args": ["--python", "3.12", "finops-mcp"] }
}
}
With absolute path:
{
"mcpServers": {
"nable": { "command": "/usr/local/bin/finops-mcp" }
}
}
Use the path from which finops-mcp.
Config file locations:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.jsonWhy uvx? Claude Desktop is a GUI app and doesn't inherit your shell's PATH. uvx runs finops-mcp in its own isolated environment. It's the most reliable option on corporate machines with managed Python installs.
nable is not just tools your agent reads from. It is a pre-action gate your agent calls before it makes a cost-affecting change: it prices the change, checks it against your budget, and offers a cheaper path. It never applies anything itself. Propose-only, your agent proposes and a human approves.
Add one line to your agent's system prompt (Claude Code, Cursor, or any MCP client):
Before you apply any infrastructure change (a terraform apply, a helm upgrade, creating or resizing a resource) or start an expensive job, first call
check_action_policywith the action and the change (a terraform plan, a helm diff, or amonthly_delta_usd). Relay the verdict, the dollar impact, and the cheaper path when one is offered. Never apply ablockor anescalateaction; surface it to the human. nable is advisory and propose-only.
The gate returns allow / warn / block / escalate against your policy, the
monthly and annual dollar impact, and a spot alternative when the change is compute.
One-way doors (delete, terminate, buy a commitment) and over-budget changes always
escalate to a human.
And a budget for the agent itself. Run finops ai-budget once, it asks whether
you are on a flat plan or a metered API and what you pay, then remembers. On a flat
plan it tracks how much subsidized compute you pull for your fixed fee and warns
before you run low; on metered it gates on a dollar spend cap. check_ai_budget does
the same for the agent mid-task. It reads your Claude Code usage locally, nothing
uploaded. Add to your system prompt:
Before starting a large task, call
check_ai_budget. If it returnswarnorover, tell me where I stand before continuing.
It reports your real usage and burn rate against your budget, not a fabricated percentage of a plan's hidden rate limit.
| Provider | What it pulls |
|---|---|
| AWS | Cost Explorer (free tier) · CUR via S3 (Pro: line-item granularity, savings plans, reservations) |
| Azure | Cost Management API · Advisor cost recs · VM rightsizing (Azure Monitor) · native budgets · forecast |
| GCP | Cloud Billing API + BigQuery export |
| Datadog | Usage Metering API v2: real dollar amounts |
| Snowflake | ACCOUNT_USAGE.METERING_HISTORY |
| Langfuse | Daily metrics API: model cost, token usage, trace volume |
| MongoDB Atlas | Invoice API |
| Twilio | Usage Records API |
| Cloudflare | Billing API |
| Vercel | Invoice API (Enterprise) |
| New Relic | Data ingest + user counts |
| Stripe | Fees and billing activity |
| Databricks | DBU usage and SQL warehouse spend |
| OpenAI | API usage and token spend by model |
| Anthropic | Claude API usage and token spend |
Azure roles. The Azure tools span three RBAC roles, granted to the service principal on each subscription (run finops doctor to check):
# repeat per subscription
az role assignment create --assignee <client-id> --role 'Cost Management Reader' --scope /subscriptions/<sub-id>
az role assignment create --assignee <client-id> --role Reader --scope /subscriptions/<sub-id>
az role assignment create --assignee <client-id> --role 'Monitoring Reader' --scope /subscriptions/<sub-id>
Is nable free? Yes. The terminal scan, every cost query, anomaly detection, all waste and rightsizing findings, and every connector are free forever. The agent team, ticket auto-creation, scheduled digests, and commitment recommendations are Pro.
Does my billing data leave my machine? No. nable is local-first and read-only by default. It reads your cost data on your machine and never uploads it, and you can confirm the no-egress behavior in the source.
What clouds and providers does it support? AWS, Azure, GCP, and Vertex; Kubernetes (Kubecost, OpenCost); AI and LLM providers (OpenAI, Anthropic, Bedrock, OpenRouter, LiteLLM, Modal, Together, Replicate, Cohere, Mistral, Langfuse); data platforms (Databricks, Snowflake, MongoDB); and SaaS (Datadog, New Relic, Cloudflare, Twilio, Vercel, Stripe).
How is it different from AWS Cost Explorer? Cost Explorer is AWS-only and console-bound. nable is cross-cloud, runs in your terminal and in Claude/Cursor, covers AI and GPU spend no cloud console shows, and proposes fixes as pull requests. nable scan also makes zero paid API calls by default.
Is there an open-source alternative to Vantage or CloudHealth? nable is an open-source (Apache-2.0), local-first alternative for cost queries, waste detection, rightsizing, and AI/GPU cost, running on your machine instead of a hosted SaaS.
finops-doctor # checks credentials, DB, network, audit log
finops setup claude # re-run editor configuration only
| Symptom | Fix |
|---|---|
| Tools don't appear in Claude | Switch to uvx config or use absolute path |
command not found: finops-mcp | Re-install with pip install finops-mcp or use uvx |
| AWS returns no data | Run finops setup aws |
No matching distribution found for finops-mcp | Your Python is older than 3.11. Install on 3.11+ (uvx nable, or python3.11 -m pip install finops-mcp). |
cryptography build error / maturin failed | uv tried to compile on Python 3.10. Use 3.11+: uvx --python 3.12 nable. |
| Corporate SSL errors | pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org finops-mcp |
| Works at home, not at work | Use uvx (corporate IT often strips custom PATH entries) |
Apache-2.0 in full. The hosted enterprise layer (web dashboard, SSO, control plane) lives in a separate private repo. Full tool list in CAPABILITIES.md.
getnable.com · Docs · Privacy · Security
mcp-name: io.github.getnable/finops-mcp
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Google's universal MCP server supporting PostgreSQL, MySQL, MongoDB, Redis, and 10+ databases
Official GitHub integration for repos, issues, PRs, and CI/CD workflows