Ask Claude about your AWS, Azure, GCP, and SaaS costs. MCP server with anomaly detection, rightsizing, and Jira ticketing.
Project description
nable: The FinOps copilot that runs on your machine
Connect Claude to your real AWS, Azure, GCP, and SaaS billing data. Ask questions in plain English. Get answers in seconds.
User: Just downloaded nable: What's our cloud spend this month?
Claude: Here's your spend breakdown:
Total: $8,421.63 / month
Provider | Spend
------------|----------
AWS | $7,284.17
Datadog | $847.20
Snowflake | $290.26
Top AWS services:
- EC2: $3,184.52
- EKS: $1,821.34
- RDS: $1,243.80
- ElastiCache: $612.40
- S3: $184.22
Most spend is concentrated in us-east-1 ($5,841 of the $7,284 AWS total).
Quick start
Step 1: Install
pip install finops-mcp
On Anaconda? Use uvx instead (it's isolated and won't touch your Anaconda environment):
brew install uv # or: curl -LsSf https://astral.sh/uv/install.sh | sh
uvx finops-mcp setup
Step 2: Connect your providers
finops setup
finops setup walks you through connecting AWS, Azure, GCP, Datadog, Snowflake, and more. It auto-configures Claude Desktop at the end.
Step 3: Ask Claude
Restart Claude Desktop, then ask: "What are my AWS costs this month?"
1-month free trial, all features unlocked. No credit card required.
What you can ask
- "What drove our AWS bill up 40% last month?"
- "Which Kubernetes namespace is over-provisioned?"
- "Are there any unusual cost spikes this week?"
- "Which EC2 instances should we downsize?"
- "Compare our cloud spend vs SaaS spend"
- "Create a Jira ticket for any EC2 waste over $200/mo"
- "Which team is spending the most on Datadog?"
- "What will our AWS bill look like next month?"
- "Show me RDS instances with low CPU that we could right-size"
- "What's our effective discount rate from Savings Plans?"
How it works
nable runs entirely on your machine. Your credentials are encrypted with Fernet and stored in your OS keyring (macOS Keychain, Windows Credential Manager, or libsecret on Linux). Nothing leaves your machine except the API calls to your cloud providers.
nable is read-only by default. It never writes to your AWS account unless you explicitly enable cleanup mode. Run finops setup aws --iam-template to generate a least-privilege IAM policy with exactly the permissions nable needs.
Manual Claude Desktop config
If finops setup doesn't auto-configure, run:
finops setup claude
Or add manually to claude_desktop_config.json:
With uvx (recommended):
{
"mcpServers": {
"finops": { "command": "uvx", "args": ["finops-mcp"] }
}
}
With absolute path:
{
"mcpServers": {
"finops": { "command": "/usr/local/bin/finops-mcp" }
}
}
Use the path from which finops-mcp.
Config file locations:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Why uvx? Claude Desktop is a GUI app and doesn't inherit your shell's PATH. uvx sidesteps this by running finops-mcp in its own isolated environment. It's the most reliable option on corporate machines with managed Python installs.
Connectors (17)
| Provider | What it pulls |
|---|---|
| AWS | Cost Explorer (free tier) · CUR via S3 (Team: line-item granularity, savings plans, reservations) |
| Azure | Cost Management API |
| 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 |
| GitHub | Actions minutes + Copilot seats |
| Vercel | Invoice API (Enterprise) |
| PagerDuty | Seat count |
| New Relic | Data ingest + user counts |
What nable actually does
nable is not just a connector that pipes billing data into Claude. It runs active analysis on your infrastructure and surfaces findings as tools Claude can reason about and act on.
AWS deep audit goes well beyond Cost Explorer. It pulls CloudWatch metrics for every running resource and flags waste that never shows up on your bill until it's too late: gp2 volumes that should be gp3 (20% cheaper, same performance), unattached EBS volumes, idle NAT Gateways costing $32/mo in base charges, RDS backup retention set way too high, CloudWatch Log Groups with no retention policy growing forever, and Lambda functions allocated 2x the memory they actually use. Think of it as Compute Optimizer plus the layer underneath it.
Anomaly detection uses z-score, CUSUM drift, and day-of-week seasonal normalization. When something spikes, it drills into Cost Explorer by tag and tells you which team, environment, or service drove it. Free tier shows findings in Claude; Team adds Slack/Teams alerts and auto-ticketing.
Rightsizing combines AWS Compute Optimizer with nable's own CloudWatch analysis. It gives you specific recommended instance types with estimated savings, not just a list of underutilized resources. Free tier shows recommendations in Claude; Team adds ticket auto-creation.
Commitment analysis (Team plan) models Savings Plans and Reserved Instance coverage against your actual usage. It shows your current effective discount rate, coverage gaps, and what you would save by purchasing additional commitments.
Team plan
- Slack / Teams anomaly alerts — get notified the moment spend spikes, not the next morning
- Ticket auto-creation — Jira, Linear, or GitHub issues for anomalies, rightsizing, and waste
- Cost attribution by team, service, or tag
- Scheduled email reports
- Commitment purchase recommendations with ROI projections
- Org-wide multi-account cost rollup
- Invoice email parsing via IMAP for vendors without APIs
$39.99/mo. First month free, no credit card required. Subscribe at getnable.com.
Troubleshooting
finops-doctor # checks credentials, DB, network, audit log
finops setup claude # re-run Claude Desktop 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 |
| Python 3.8/3.9 errors | nable requires Python 3.10+: python3.10 -m pip install finops-mcp |
| Corporate SSL errors | pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org finops-mcp |
| Permission denied | Install to user: pip install --user finops-mcp or use uvx |
| Works at home, not at work | Use uvx (corporate IT often strips custom PATH entries) |
Docs
Full setup guide: getnable.com/docs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file finops_mcp-0.8.32.tar.gz.
File metadata
- Download URL: finops_mcp-0.8.32.tar.gz
- Upload date:
- Size: 337.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
446b04dac4bedf3a77c721085e1e34ae587150c4170a2db0750e06902280f605
|
|
| MD5 |
734347a1ca2e3998497af885ae603e66
|
|
| BLAKE2b-256 |
ccc3dface4f58a69934ad342c4d9ad3910859686d38fcc5c39e4698b3259fbb3
|
File details
Details for the file finops_mcp-0.8.32-py3-none-any.whl.
File metadata
- Download URL: finops_mcp-0.8.32-py3-none-any.whl
- Upload date:
- Size: 393.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2702d9b06ef4cbd89ce96577e8636fd078700c8dae249c81b166b450889f932f
|
|
| MD5 |
706d18b0d4d57f4b269115a85651ac35
|
|
| BLAKE2b-256 |
fdd1ee751b4f97e22ee7f5ef37cdf32159c7cacd1d93c4eb0b44de1426bf2276
|