场景:AI 编码 Agent 花起钱来没数?Nable 让 Claude Code 每个操作前先问 FinOps,花多少、值不值、有没有更便宜的方案
“帮我查一下这个月 AWS 花了多少”——这句话如果从你的 AI 编码 Agent 嘴里说出来,是不是感觉怪怪的?但仔细想想,你的 Agent 每天都在帮你跑 terraform apply、调 helm upgrade、起新实例调优,花的可都是真金白银。一个不留神,一台闲置的 RDS 实例就能在月底给你惊喜。
Nable(项目名 finops-mcp)就是为解决这个问题而生的——它是一个开源的 FinOps MCP 服务器,让你在 Claude Code、Cursor 或者 Claude Desktop 里直接问云账单的事,还让 Agent 在做花钱操作之前先过一道预算门禁。
你的 Agent 需要一双盯着账单的眼睛
先看一个典型场景。你让 Claude Code 排查一台 EC2 为什么慢。它一头扎进 CloudWatch 看了半小时指标,结论是 “建议升级实例类型”。这个建议本身没错,但它不知道这台 m5.xlarge 已经是按需付费,升级到 m5.2xlarge 每月要多花 $146。如果换个思路——用 Savings Plan 覆盖现有实例而不是升级——每月反而省 $38。
传统 FinOps 靠人盯仪表盘,但 Agent 的执行速度是人眼的几十倍。等月底看到账单再追责已经晚了。Nable 的思路是:在 Agent 动手之前先问预算网关,就像每次刷卡前先查余额。
安装:两条命令搞定
Nable 依赖 Python 3.11+,推荐用 uvx 安装(自动隔离环境,不污染你的系统 Python):
curl -LsSf https://astral.sh/uv/install.sh | sh uvx nable
第一次运行会自动下载依赖,然后弹出交互式欢迎界面。向导会带你连接云服务商,最后自动配置好 Claude Desktop。
不用 uv 也可以:
pip install -U finops-mcp && finops welcome同样可用(需要 Python 3.11+)。
连接 AWS 更是简单到只需要一步确认:
finops setup aws
向导会检测你机器上已有的 AWS 凭证(SSO 登录、CLI profile 或者默认凭证),找到之后问你是否要接入。如果机器上已经有 aws CLI 配置,你甚至不用输一个字符。
问什么?什么都行
连接好之后,在 Claude Code 里直接问:
“What are my AWS costs this month?”
Nable 会从 AWS Cost Explorer 拉取真实数据,按你的实际折扣率计价(不是标价),返回分服务、分账号的成本拆分。你也可以问更刁钻的问题:
- “Which Kubernetes namespace is over-provisioned?”
- “Are there any unusual cost spikes this week?”
- “What’s our effective discount rate from Savings Plans?”
- “Compare our cloud spend vs SaaS spend”
Nable 的深层次分析远不止 Cost Explorer。它会拉取 CloudWatch 指标对每个正在运行的资源做审计,发现那些账面上看不出来的浪费:gp2 卷应该升级 gp3(便宜 20%,性能一样)、未挂载的 EBS 卷、闲置的 NAT Gateway(每月 $32 基础费)、Lambda 函数分配了 2 倍于实际使用的内存——这些都在它的扫描范围里。
让 Agent 花钱之前先请示(Cost Gate)
这是 Nable 最巧妙的设计。你只需要在 Agent 的系统提示词里加一段指令:
在应用任何基础设施变更之前(
terraform apply、helm upgrade、创建或调整资源),先调用check_action_policy检查这笔操作的成本影响。如果返回block或escalate,不要自行操作,向用户报告详情。
这样一来,你的 Claude Code 每次要改东西之前,都会先问 Nable:这个变更每月会多花多少钱?有没有更便宜的替代方案?
Nable 的预算门禁返回四档判定:allow(放行)、warn(警告)、block(阻止)、escalate(升级给人类审批)。对于 “单向门” 操作(删除、终止、购买承诺消费),它永远走 escalate。对于超预算的变更同样如此。
17 个连接器,覆盖你的整个技术栈
Nable 目前支持 17 个数据源,涵盖了主流云服务商、SaaS 工具和 AI API:
| 提供商 | 数据来源 |
|---|---|
| AWS | Cost Explorer + CUR(S3 导出) |
| Azure | Cost Management API + Advisor |
| GCP | Cloud Billing API + BigQuery |
| Datadog | Usage Metering API |
| Snowflake | ACCOUNT_USAGE.METERING_HISTORY |
| Langfuse | 日指标 API |
| MongoDB Atlas | Invoice API |
| Twilio | Usage Records API |
| Cloudflare | Billing API |
| Vercel | Invoice API |
| New Relic | 数据摄取量 + 用户数 |
| Stripe | 费用和结算活动 |
| Databricks | DBU 用量 |
| OpenAI | API 用量和 token 消耗 |
| Anthropic | Claude API 用量和 token 消耗 |
连 OpenAI 和 Anthropic 的 API 消耗都能追踪——也就是说,你的 Agent 在调用 Claude API 的同时,也能问 Nable “我这个月花了多少 API 钱?”
隐私:真正的本地优先
Nable 的凭证用 Fernet 加密存储在操作系统密钥链中(macOS Keychain、Windows Credential Manager 或 Linux libsecret)。成本数据缓存在本地 SQLite 数据库中,完全没有后端服务器。也就是说:你的账单数据永远不会离开你的机器。
默认只读,不会修改你的云资源。如果你想彻底锁死网络,设 FINOPS_AIRGAP=1 可以阻止所有非云服务商 API 的网络请求。
一句话总结
Nable 解决的是一个正在变得越来越现实的问题:当你的 AI 编码 Agent 开始直接操作云基础设施,谁来盯着账单?
它的回答是:让 Agent 自己盯着。不是事后追责,而是操作前先请示——让 FinOps 从月底的 Excel 盘点变成每次 terraform apply 之前的自动预算检查。项目采用 Apache-2.0 许可证,源代码在 github.com/getnable/finopsmcp 上可查可审计。
相关链接