{
  "markdown": "# nable\n\n**See where your cloud and AI bills go, and spend less. Runs in your terminal or inside Claude, Cursor, and VS Code.**\n\n[![PyPI](https://img.shields.io/pypi/v/finops-mcp?label=pypi&color=4db8d4)](https://pypi.org/project/finops-mcp/)\n[![PyPI Downloads](https://static.pepy.tech/personalized-badge/finops-mcp?period=total&units=INTERNATIONAL_SYSTEM&left_color=BLACK&right_color=GREEN&left_text=downloads)](https://pepy.tech/projects/finops-mcp)\n[![Tests](https://github.com/getnable/finopsmcp/actions/workflows/test.yml/badge.svg)](https://github.com/getnable/finopsmcp/actions/workflows/test.yml)\n[![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-4db8d4)](LICENSE)\n[![MCP Toplist](https://mcptoplist.com/badge/io.github.getnable%2Ffinops-mcp.svg)](https://mcptoplist.com/server/io.github.getnable%2Ffinops-mcp)\n\nYou do not need to be a cloud-cost expert. nable does three things:\n\n- **Shows what you spend** across AWS, Azure, GCP, Kubernetes, and 15+ AI and SaaS providers, in one place.\n- **Finds what you are wasting** (idle servers, oversized databases, forgotten storage) and puts a dollar figure on each one.\n- **Fixes it, with your approval,** by opening a pull request, then checks your next bill to prove the saving was real.\n\nEverything runs on your machine, read-only, and your billing data never leaves it.\n\n## Try it\n\n```bash\nuvx nable scan\n```\n\n```text\nnable scan · profile prod\naccount 3521… · this account only\nscanning 17 regions …\n  us-east-1 ......... 3 findings\n  eu-west-1 ......... 1 finding\n────────────────────────────────────────────\n$2,140/mo recoverable\n    $1,200/mo  3 idle NAT gateways, us-east-1\n      $610/mo  14 unattached EBS volumes (2.1 TB), us-east-1\n      $330/mo  idle RDS instance (db.r5.xlarge, <2% CPU), eu-west-1\nrun `nable scan --spend` for the spend breakdown (uses Cost Explorer, ~$0.02)\n```\n\nReads 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.\n\n![nable demo: a sample bill in seconds](https://raw.githubusercontent.com/getnable/finopsmcp/main/docs/demo.gif)\n\n## Use it in your editor\n\n`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:\n\n- \"Why did our AWS bill jump last month?\"\n- \"How much are we spending on OpenAI and Anthropic?\"\n- \"Which instances should we downsize?\"\n- \"Open a Jira ticket for any waste over $200/mo\"\n\n## Setup\n\nRequires Python 3.11+. Need `uv`? `curl -LsSf https://astral.sh/uv/install.sh | sh` (or `brew install uv`).\n\n```bash\nuvx nable\n```\n\nThe 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.\n\n**Cursor one-click:** [`Add nable to Cursor`](cursor://anysphere.cursor-deeplink/mcp/install?name=nable&config=eyJjb21tYW5kIjogInV2eCIsICJhcmdzIjogWyItLXB5dGhvbiIsICIzLjEyIiwgImZpbm9wcy1tY3AiXX0=)\n\nFree 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](https://getnable.com/pricing).\n\n<details>\n<summary><b>Manual editor config</b> — only needed if setup didn't auto-configure</summary>\n\nIf `finops setup` doesn't auto-configure, run:\n\n```bash\nfinops setup claude\n```\n\nOr add manually to `claude_desktop_config.json`:\n\n**With uvx (recommended):**\n```json\n{\n  \"mcpServers\": {\n    \"nable\": { \"command\": \"uvx\", \"args\": [\"--python\", \"3.12\", \"finops-mcp\"] }\n  }\n}\n```\n\n**With absolute path:**\n```json\n{\n  \"mcpServers\": {\n    \"nable\": { \"command\": \"/usr/local/bin/finops-mcp\" }\n  }\n}\n```\nUse the path from `which finops-mcp`.\n\nConfig file locations:\n- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n- **Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n- **Linux**: `~/.config/Claude/claude_desktop_config.json`\n\n> **Why 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.\n\n</details>\n\n<details>\n<summary><b>Give your agent cost controls</b> — a pre-action budget gate for coding agents</summary>\n\nnable is not just tools your agent reads from. It is a pre-action gate your agent\ncalls **before** it makes a cost-affecting change: it prices the change, checks it\nagainst your budget, and offers a cheaper path. It never applies anything itself.\nPropose-only, your agent proposes and a human approves.\n\nAdd one line to your agent's system prompt (Claude Code, Cursor, or any MCP client):\n\n> Before you apply any infrastructure change (a terraform apply, a helm upgrade,\n> creating or resizing a resource) or start an expensive job, first call\n> `check_action_policy` with the action and the change (a terraform plan, a helm\n> diff, or a `monthly_delta_usd`). Relay the verdict, the dollar impact, and the\n> cheaper path when one is offered. Never apply a `block` or an `escalate` action;\n> surface it to the human. nable is advisory and propose-only.\n\nThe gate returns `allow` / `warn` / `block` / `escalate` against your policy, the\nmonthly and annual dollar impact, and a spot alternative when the change is compute.\nOne-way doors (delete, terminate, buy a commitment) and over-budget changes always\nescalate to a human.\n\n**And a budget for the agent itself.** Run `nable ai-budget` once, it asks whether\nyou are on a flat plan or a metered API and what you pay, then remembers. On a flat\nplan it tracks how much subsidized compute you pull for your fixed fee and warns\nbefore you run low; on metered it gates on a dollar spend cap. `check_ai_budget` does\nthe same for the agent mid-task. It reads your Claude Code usage locally, nothing\nuploaded. Add to your system prompt:\n\n> Before starting a large task, call `check_ai_budget`. If it returns `warn` or\n> `over`, tell me where I stand before continuing.\n\nIt reports your real usage and burn rate against your budget, not a fabricated\npercentage of a plan's hidden rate limit.\n\n</details>\n\n<details>\n<summary><b>Connectors (17)</b> — every provider and what it pulls, plus Azure roles</summary>\n\n| Provider | What it pulls |\n|---|---|\n| AWS | Cost Explorer (free tier) · CUR via S3 (Pro: line-item granularity, savings plans, reservations) |\n| Azure | Cost Management API · Advisor cost recs · VM rightsizing (Azure Monitor) · native budgets · forecast |\n| GCP | Cloud Billing API + BigQuery export |\n| Datadog | Usage Metering API v2: real dollar amounts |\n| Snowflake | ACCOUNT_USAGE.METERING_HISTORY |\n| Langfuse | Daily metrics API: model cost, token usage, trace volume |\n| MongoDB Atlas | Invoice API |\n| Twilio | Usage Records API |\n| Cloudflare | Billing API |\n| Vercel | Invoice API (Enterprise) |\n| New Relic | Data ingest + user counts |\n| Stripe | Fees and billing activity |\n| Databricks | DBU usage and SQL warehouse spend |\n| OpenAI | API usage and token spend by model |\n| Anthropic | Claude API usage and token spend |\n\n**Azure roles.** The Azure tools span three RBAC roles, granted to the service principal on each subscription (run `finops doctor` to check):\n\n```bash\n# repeat per subscription\naz role assignment create --assignee <client-id> --role 'Cost Management Reader' --scope /subscriptions/<sub-id>\naz role assignment create --assignee <client-id> --role Reader --scope /subscriptions/<sub-id>\naz role assignment create --assignee <client-id> --role 'Monitoring Reader' --scope /subscriptions/<sub-id>\n```\n\n</details>\n\n<details>\n<summary><b>FAQ</b> — free vs paid, providers, how it compares to Cost Explorer / Vantage</summary>\n\n**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.\n\n**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.\n\n**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).\n\n**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.\n\n**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.\n\n</details>\n\n<details>\n<summary><b>Troubleshooting</b> — install and setup fixes</summary>\n\n```bash\nfinops-doctor          # checks credentials, DB, network, audit log\nfinops setup claude    # re-run editor configuration only\n```\n\n| Symptom | Fix |\n|---|---|\n| Tools don't appear in Claude | Switch to uvx config or use absolute path |\n| `command not found: finops-mcp` | Re-install with `pip install finops-mcp` or use `uvx` |\n| AWS returns no data | Run `finops setup aws` |\n| `No matching distribution found for finops-mcp` | Your Python is older than 3.11. Install on 3.11+ (`uvx --python 3.12 nable`, or `python3.11 -m pip install finops-mcp`). |\n| `cryptography` build error / `maturin failed` | uv tried to compile on Python 3.10. Use 3.11+: `uvx --python 3.12 nable`. |\n| Corporate SSL errors | `pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org finops-mcp` |\n| Works at home, not at work | Use `uvx` (corporate IT often strips custom PATH entries) |\n\n</details>\n\n## License\n\nApache-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](CAPABILITIES.md).\n\n[getnable.com](https://getnable.com) · [Docs](https://getnable.com/docs) · [Privacy](https://getnable.com/privacy) · [Security](https://scorecard.dev/viewer/?uri=github.com/getnable/finopsmcp)\n\n<sub>mcp-name: io.github.getnable/finops-mcp</sub>\n",
  "bytes": 10607,
  "sha": "3553c6b7f113bae8f8247158fb390592c07a6714c5e204d5adb8ae0233f122f2",
  "repo_slug": "chaandannn/finopsmcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_chaandannn_finops_mcp_0d0fe549/readme"
}