nable (finops-mcp)
Copiloto FinOps local-first: pergunte sobre seus custos de AWS, Azure, GCP e SaaS em inglês simples. Detecção de anomalias, redimensionamento, limpeza de recursos ociosos e criação de tickets no Jira/Linear, tudo no seu próprio Claude. As credenciais nunca saem da sua máquina.
Documentação
nable
A nable precifica o que seus agentes de codificação estão prestes a fazer, antes que façam. Gratuito, local, um comando.
A nable coloca uma verificação antes dos comandos que um agente de codificação está prestes a executar, no Claude Code, Cursor, Codex CLI, GitHub Copilot, Gemini CLI e Cline (e antes de chamadas de ferramentas MCP nos três primeiros). Um lançamento é precificado pelo preço de tabela antes de ser executado, uma porta de mão única (destruir, encerrar, uma compra de compromisso) para para um humano, e cada veredito vai para um livro-razão encadeado por hash na sua máquina. A proteção não precisa de conta na nuvem, chave de API ou licença.
A nable também é uma ferramenta FinOps de código aberto (Apache-2.0), local-first, para custos de nuvem e IA: uma varredura somente leitura que encontra desperdícios na sua conta AWS usando apenas APIs gratuitas, gastos de agentes de codificação de IA precificados por modelo com limites por sessão, e custos de IA divididos por projeto, equipe e usuário. Ela roda no seu terminal ou como um servidor MCP dentro do Claude, Cursor e VS Code, e seus dados de faturamento nunca saem da sua máquina.
Experimente
uvx nable guard install # Claude Code, this project. --all: every agent found. --global: every project.
uvx nable guard try # see it first: four sample commands through the gate, nothing executed
O que o agente recebe de volta quando tenta um lançamento caro ou uma destruição (saída real, sem precisar de conta na nuvem):
$ uvx nable guard check --command "aws ec2 run-instances --instance-type p4d.24xlarge --count 8"
ask nable guard: 8x p4d.24xlarge at $21.9576/hr (on-demand us-east-1 list price) is ~$128,233/mo. The +$128,233/mo impact is over your $500 auto threshold; a human should review it. Budget not checked: there is no spend figure on this machine yet; `nable budget refresh` computes one.
$ uvx nable guard check --command "terraform destroy -auto-approve"
ask nable guard: This would destroy infrastructure (`terraform destroy -auto-approve`). It cannot be undone; confirm to proceed.
Usando o plugin do Claude Code? Instalá-lo ativa a proteção, sem segundo passo:
/plugin marketplace add getnable/finopsmcp
/plugin install nable@nable
nable guard off (ou FINOPS_GUARD=off) pausa todos os hooks da nable e nable guard on os retoma; um agente que tente nable guard off por conta própria é questionado antes.
No Claude Code, Cursor e Copilot CLI, ask interrompe o agente até você confirmar; Codex CLI, Gemini CLI, Cline e o agente em nuvem do Copilot recusam o comando e mostram o motivo (tabela por agente em "Guard hook" abaixo). Um lançamento abaixo do limite permanece silencioso: um t3.micro custa ~$8/mês, abaixo do limite padrão de $500/mês (FINOPS_POLICY_MAX_AUTO_USD). Reinicie o agente após instalar para que ele capture o hook.
O que precisa de conta na nuvem: precificação e questionamento não precisam. A parada por orçamento, nable guard reconcile (CloudTrail) e a varredura abaixo leem sua própria conta, somente leitura.
Varra o que já está em execução
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)
Usa as credenciais AWS já presentes na sua máquina e lê apenas APIs de nuvem gratuitas, então a varredura nunca adiciona à sua conta. uvx nable scan --demo roda com dados de exemplo sem nenhuma conta. Adicione --json para CI, ou --spend para um detalhamento mais profundo.
A partir daí, a nable:
- Mostra o que você gasta em AWS, Azure, GCP, Kubernetes e mais de 15 provedores de IA e SaaS, em um só lugar.
- Encontra o que você está desperdiçando (servidores ociosos, bancos de dados superdimensionados, armazenamento esquecido) e atribui um valor em dólares a cada item.
- Corrige, com sua aprovação, abrindo um pull request e depois verifica sua próxima conta para provar que a economia foi real.
- Orça seus agentes de IA:
nable ai-budgetprecifica o uso do Claude Code e Codex CLI por modelo a partir de logs locais, com um limite por sessão;nable ai-costs --by project|team|userdivide gastos de OpenAI, Anthropic, LiteLLM e Langfuse.

Use no seu editor
uvx nable roda como um servidor MCP local dentro do Claude, Cursor e VS Code, na sua assinatura existente do Claude ou Cursor, sem chave de API e sem custo por token. Então pergunte:
- "Por que nossa conta da AWS saltou no mês passado?"
- "Quanto estamos gastando com OpenAI e Anthropic?"
- "Quais instâncias devemos reduzir?"
- "Abra um ticket no Jira para qualquer desperdício acima de $200/mês"
Como a nable se compara
| nable | AWS Cost Explorer | Vantage / CloudHealth | Infracost | |
|---|---|---|---|---|
| Código aberto | Sim (Apache-2.0) | Não | Não | Sim |
| Onde seus dados vivem | Sua máquina | AWS | SaaS do fornecedor | Sua máquina / CI |
| Nuvens cobertas | AWS, Azure, GCP, Kubernetes | Somente AWS | Multi-nuvem | IaC, qualquer nuvem |
| Gastos com IA e GPU | Sim (OpenAI, Anthropic, Bedrock, GPUs) | Somente Bedrock | Vantage: sim; CloudHealth: painel de tokens | Não |
| Roda no Claude / Cursor / VS Code | Sim (MCP local) | Servidor MCP de faturamento (somente leitura) | Vantage: MCP hospedado; CloudHealth: não | Sim (MCP, extensões de editor) |
| Precifica o comando de um agente antes de executá-lo | Sim: um hook no Claude Code, Cursor, Codex CLI, Copilot, Gemini CLI e Cline precifica lançamentos, interrompe portas de mão única e registra cada veredito | Não | Não | Não (precifica diffs de IaC no momento do pull request) |
| Corrige desperdícios | Abre um pull request, você aprova | Não | Vantage: agente no produto; sem PR para seu IaC | PRs de AutoFix antes do deploy, não sobre desperdício em execução |
| Respostas | O que um agente está prestes a gastar; o que você gasta e desperdiça agora | Gastos AWS | Gastos multi-nuvem | Custo de uma mudança de IaC antes do deploy |
| Preço | Gratuito (local); planos pagos são fixos, nunca um percentual do gasto | Camada gratuita, depois por solicitação | SaaS pago | Gratuito (OSS), nuvem paga |
O Infracost precifica uma mudança de infraestrutura no pull request; a proteção da nable precifica o comando que um agente está prestes a executar, de onde quer que venha, e a varredura encontra desperdícios no que já está em execução. Detalhamentos mais completos: nable vs Vantage, vs CloudHealth, vs Kubecost.
Proteção de agente
nable guard install adiciona um hook ao Claude Code (e --all a cada agente suportado que encontrar: Cursor, Codex CLI, GitHub Copilot, Gemini CLI, Cline) que verifica cada comando de infraestrutura, ou chamada MCP no Claude Code, Cursor e Codex, antes de executá-lo: uma porta de mão única (destruir, encerrar, um compromisso) pergunta primeiro, e um lançamento é precificado pelo preço de tabela para que um run-instances de ~$128k/mês (8x p4d.24xlarge) pergunte em vez de passar. Também observa o padrão entre chamadas: um limite de velocidade na taxa mensal permitida por hora (FINOPS_POLICY_VELOCITY_CAP_USD, padrão quatro vezes o limite de $500/mês por ação) e detecção de loop para a mesma criação repetida (três create-stack idênticos em dez minutos perguntam). Cada veredito vai para um livro-razão local encadeado por hash.
Orçamentos de IA que permanecem atuais. Quando um limite de gastos do Claude Code, Codex ou Cursor é definido, a proteção pondera cada chamada contra ele. O uso do Cursor vem da API Admin dele (CURSOR_ADMIN_API_KEY): o hook nunca espera pela rede e, quando sua cópia tem mais de uma hora, atualiza-a em segundo plano e avisa (FINOPS_GUARD_BACKGROUND_REFRESH=0 desativa isso). FINOPS_GUARD_AUTO_REFRESH_BUDGET=1 faz o mesmo para o valor do orçamento em nuvem, recalculando-o a partir do histórico local de custos sem chamadas cobradas.
Paradas vinculadas ao orçamento. Uma mudança precificada também é verificada contra os orçamentos de nuvem que você definiu (a ferramenta set_budget ou um budget.yml): quando o gasto do mês até a data mais o custo da mudança para o restante do mês levaria um orçamento além do limite, a proteção pergunta, nomeando o orçamento, o gasto até agora, o valor mensal da mudança e o excedente projetado. on_budget_breach: deny em nable.policy.yaml (no diretório de dados da nable, ~/.finops por padrão, ou em FINOPS_POLICY_FILE) torna isso uma parada rígida; FINOPS_GUARD_STOP_ON_BUDGET=1 ou =0 substitui por uma sessão ou execução de CI. Orçamentos totais, por provedor e por serviço se aplicam a partir do próprio comando; orçamentos por equipe e por conta se aplicam quando FINOPS_GUARD_TEAM ou FINOPS_GUARD_ACCOUNT os nomeia onde o agente roda. O hook lê um resumo pequeno de gastos em vez do banco de dados: cada verificação de orçamento o escreve, nable budget refresh é o que deve ser agendado, e um valor com mais de 48 horas (FINOPS_GUARD_BUDGET_MAX_AGE_HOURS) ou do mês passado não é usado, o que o veredito em uma mudança precificada informa. nable guard doctor lista os orçamentos que a proteção aplica, aqueles em que não consegue posicionar uma mudança e a idade do valor.
nable guard report --session <id> # what it asked, blocked and let through, in dollars
nable guard reconcile --hours 24 # CloudTrail's creates and destroys against the ledger
nable guard export --format cef # the verified ledger, for a SIEM
nable budget refresh # recompute budgets and the guard's spend figure
nable budget ci-gate --fail-on-breach --json # a pipeline step that fails on a breached budget
ci-gate reporta e sai com código 0, a menos que --fail-on-breach seja passado; com ele, um orçamento violado (gasto igual ou acima da porcentagem crítica) sai com código 1 e uma verificação que não pode ser executada sai com código 2. --budget-file budget.yml sincroniza o arquivo primeiro.
reconcile precisa de cloudtrail:LookupEvents (gratuito, somente leitura) e corresponde por tipo e horário, já que o livro-razão não guarda IDs de recursos. A proteção é um cinto de segurança, não um limite de segurança: nable guard doctor lista o que ela não vê.
Ela protege as próprias configurações. Um agente que escreve, move ou exclui os arquivos que decidem o que a proteção faz (o modelo organizacional, nable.policy.yaml, pacotes instalados, o livro-razão, o interruptor de desligamento, as entradas de hook nas configurações de cada agente) é questionado antes, a partir do shell em cada agente e também pelas ferramentas Write e Edit do Claude Code. O mesmo vale para nable guard off, nable org confirm e nable pack install executados por um agente, de qualquer ponto de entrada (nable, finops, finops-mcp, uvx, python -m).
Moldado para sua organização
nable org init lê o que sua organização já diz sobre si mesma (CODEOWNERS, Terraform, AWS Organizations, tags, nomes de contas e namespaces) e propõe quem é dono do quê, quais ambientes são quais e quais chaves de tag significam equipe ou centro de custo. Depois faz no máximo dez perguntas, do maior gasto primeiro, a maioria em lote ("payments é dona destas 8 coisas, $18.500/mês: sim, não ou editar"). As respostas são armazenadas como YAML simples em uma pasta nable.org/ que você possui: no seu repositório se quiser revisão por pull request (nable org init --here), caso contrário no diretório de dados da nable.
nable org init # propose, then ask the week-one questions
nable org status # what is confirmed, proposed, stale or in conflict, and spend coverage
nable org questions # the open questions, with the command that answers each
nable org export --format json
O que uma pessoa confirma muda o que a nable faz: as perguntas da proteção nomeiam o dono ("Owned by payments (#payments-oncall)"), a proteção usa a equipe para orçamentos por equipe e limites por equipe do repositório em que você trabalha, tickets carregam a equipe e o canal do dono, descobertas carregam um dono, e atribuição e detecção de produção ou não produção usam seus fatos confirmados antes de qualquer suposição. Agentes, adaptadores e as ferramentas MCP só podem propor; confirmar exige uma pessoa no CLI ou um pull request mesclado. Uma suposição pode tornar a nable mais cuidadosa, nunca menos. Um nable.org/ que chega dentro de um repositório clonado é lido sobre o seu próprio modelo e, até você nable org trust, seus donos são mostrados como prováveis e seus limites só podem reduzir os seus.
Ela para de perguntar a mesma coisa duas vezes
A proteção registra como cada pergunta foi respondida (Claude Code, Cursor e Copilot reportam quando um comando questionado foi executado). Quando as pessoas continuam aprovando o mesmo tipo de mudança no mesmo escopo, pelo menos 5 vezes em uma semana sem nada recusado ou revertido, a nable propõe um limite para esse escopo e mostra a evidência: "aprovado 6 vezes desde 19 de setembro, máximo $1.121/mês, nada recusado ou revertido". Uma pessoa confirma com nable org confirm, e a partir daí essa mudança passa sem aviso. Recusas repetidas propõem perguntar antes. Portas de mão única sempre perguntam.
nable learn infer --dry-run # what nable would propose, and why
nable guard report # asks approved, declined and unknown, per action and scope
nable org set freeze --scope environment:prod --start 2026-11-26T00:00-05:00 --end 2026-12-01T00:00-05:00 --reason "Black Friday"
nable guard approve <id> # let one blocked command through, once, from your own terminal
Congelamentos de mudança e cadeias de aprovação também são fatos organizacionais: durante um congelamento, toda mudança precificada e porta de mão única no escopo pergunta (ou é negada, se você confirmou o congelamento em modo de negação), e pull requests e tickets de remediação vão para os aprovadores que você nomeou. Agentes que não podem pausar para perguntar (Codex CLI, Gemini CLI, Cline, o agente em nuvem do Copilot) recebem uma negação com um ID de aprovação; uma pessoa executa nable guard approve <id> e o comando idêntico roda uma vez dentro de 15 minutos.
Pacotes
Pacotes estendem a nable com regras próprias da organização: políticas, regras de proteção que só podem apertar, playbooks de remediação, livros de preços, modelos de relatórios, habilidades de agentes de codificação e conectores (em sandbox), adaptadores organizacionais e destinos de ticket ou Slack. Cada um declara o que pode ler, quais segredos recebe e quais hosts pode alcançar em nable-pack.toml; você vê isso na instalação, e uma atualização que peça mais espera sua aprovação novamente.
nable pack install ./my-pack # a folder, a .tar.gz, git+https://...@<commit>, or ns/name from the registry
nable pack audit # what is installed, what each may do, and whether any file changed
nable pack validate ./my-pack # for authors
Seu arquivo de política organizacional pode limitar de onde os pacotes vêm, limitar o que podem pedir e exigir assinaturas (packs: em nable.policy.yaml). Detalhes, a lista de capacidades e os limites honestos de sandbox em um laptop estão em docs/PACKS.md.
Configuração
Requer Python 3.11+. Precisa de uv? curl -LsSf https://astral.sh/uv/install.sh | sh (ou brew install uv).
uvx nable
O assistente de configuração encontra credenciais AWS ou GCP já na sua máquina (um login SSO, um perfil CLI ou credenciais padrão), conecta a que você escolher e configura seu editor. Normalmente você nunca digita uma chave.
Cursor com um clique: Add nable to Cursor
Gratuito para sempre para a ferramenta local. Uma versão hospedada para equipes (dashboards sem terminal, SSO, relatórios agendados, agentes sempre ativos) está em getnable.com/pricing.
Configuração manual do editor — necessária apenas se a configuração automática não funcionou
Se o finops setup não configurar automaticamente, execute:
finops setup claude
Ou adicione manualmente ao claude_desktop_config.json:
Com uvx (recomendado):
{
"mcpServers": {
"nable": { "command": "uvx", "args": ["--python", "3.12", "finops-mcp"] }
}
}
Com caminho absoluto:
{
"mcpServers": {
"nable": { "command": "/usr/local/bin/finops-mcp" }
}
}
Use o caminho de which finops-mcp.
Locais dos arquivos de configuração:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Por que uvx? O Claude Desktop é um aplicativo GUI e não herda o PATH do seu shell. O uvx executa o finops-mcp em seu próprio ambiente isolado. É a opção mais confiável em máquinas corporativas com instalações gerenciadas de Python.
Dê controles de custo ao seu agente — uma barreira de orçamento pré-ação para agentes de codificação
O nable não é apenas ferramentas que seu agente lê. É uma barreira pré-ação que seu agente chama antes de fazer uma alteração que afeta custos: ele precifica a alteração, verifica contra seu orçamento e oferece um caminho mais barato. Ele nunca aplica nada por conta própria. Somente proposta, seu agente propõe e um humano aprova.
Adicione uma linha ao prompt do sistema do seu agente (Claude Code, Cursor ou qualquer cliente MCP):
Antes de aplicar qualquer alteração de infraestrutura (um terraform apply, um helm upgrade, criar ou redimensionar um recurso) ou iniciar um trabalho caro, primeiro chame
check_action_policycom a ação e a alteração (um terraform plan, um helm diff ou ummonthly_delta_usd). Transmita o veredito, o impacto em dólares e o caminho mais barato quando houver um. Nunca aplique uma açãoblockouescalate; apresente-a ao humano. O nable é consultivo e somente proposta.
A barreira retorna allow / warn / block / escalate contra sua política, o
impacto em dólares mensal e anual e uma alternativa spot quando a alteração é de computação.
Portas de mão única (excluir, encerrar, comprar um compromisso) e alterações acima do orçamento sempre
escalam para um humano, e alterações acima do orçamento são bloqueadas diretamente quando a política
define on_budget_breach: deny.
E um orçamento para o próprio agente. Execute nable ai-budget uma vez; ele pergunta se
você está em um plano fixo ou em API medida e quanto paga, e então lembra. Em um plano
fixo, ele rastreia quanto de computação subsidiada você consome pela sua taxa fixa e avisa
antes de ficar sem; em plano medido, ele limita com base em um teto de gastos em dólares. check_ai_budget faz
o mesmo para o agente no meio da tarefa. Ele lê seu uso do Claude Code localmente, nada
é enviado. Cada resposta é precificada pela taxa de tabela do próprio modelo, incluindo
gravações e leituras de cache, e o relatório divide o custo por modelo e por sessão. Um teto por tarefa
(nable ai-budget --session-cap 40, ou "esta tarefa pode gastar no máximo $40" para o
agente) é medido contra uma sessão do Claude Code, incluindo subagentes, e
check_ai_budget retorna a margem restante abaixo dele. Adicione ao prompt do seu sistema:
Antes de iniciar uma tarefa grande, chame
check_ai_budget. Se ele retornarwarnouover, informe-me onde estou antes de continuar.
Ele relata seu uso real e taxa de consumo contra seu orçamento, não uma porcentagem fabricada do limite de taxa oculto de um plano.
Hook de proteção para Claude Code, Cursor, Codex, Copilot, Gemini CLI e Cline, e implantação gerenciada
nable guard install coloca a mesma verificação na frente dos comandos de shell do agente
como um hook, para que seja executado independentemente de o agente lembrar de chamar a barreira:
nable guard install --all --global # every supported agent found on this machine
nable guard install --harness gemini # one agent, this project only
nable guard doctor # what is covered here, and what is not
| Agente | Onde o hook fica | O que ele vê | Quando a política quer um humano |
|---|---|---|---|
| Claude Code | .claude/settings.json | comandos de shell, ferramentas MCP | pergunta |
| Cursor | .cursor/hooks.json | comandos de shell, ferramentas MCP | pergunta |
| Codex CLI | .codex/hooks.json | comandos de shell, ferramentas MCP | nega, com o motivo |
| GitHub Copilot | .github/hooks/nable-guard.json | comandos de shell | pergunta no Copilot CLI; nega, com o motivo, no agente em nuvem |
| Gemini CLI | .gemini/settings.json | comandos de shell | nega, com o motivo |
| Cline (macOS, Linux) | .clinerules/hooks/PreToolUse | comandos de shell | interrompe a tarefa, com o motivo |
--global grava o arquivo de nível de usuário em vez disso (~/.claude/settings.json,
~/.cursor/hooks.json, $CODEX_HOME/hooks.json, ~/.copilot/hooks/,
~/.gemini/settings.json, ~/Documents/Cline/Hooks/). Um hook que o usuário
instalou é um hook que o usuário pode remover.
Implantação gerenciada. Para tornar o hook uma política que o usuário não pode remover, implante-o
por meio das configurações de administrador do agente. Substitua <version> pela versão que você
testou (nable --version) e certifique-se de que uvx esteja no PATH dos usuários, ou use
o caminho absoluto de um binário finops instalado em vez da forma uvx.
O Claude Code lê managed-settings.json de
/Library/Application Support/ClaudeCode/ (macOS), /etc/claude-code/
(Linux e WSL) ou C:\Program Files\ClaudeCode\ (Windows), ou um arquivo drop-in
em managed-settings.d/ ao lado dele. Configurações de usuário, projeto e locais adicionam seus
hooks ao lado de um gerenciado, mas não podem removê-lo, e um disableAllHooks do usuário
não pode desativá-lo:
{
"hooks": {
"PreToolUse": [
{
"matcher": "^(Bash|mcp__.*)$",
"hooks": [
{"type": "command", "command": "uvx --from finops-mcp==<version> finops guard hook", "timeout": 30}
]
}
]
}
}
O Codex lê /etc/codex/requirements.toml (%ProgramData%\OpenAI\Codex\requirements.toml
no Windows). Um hook lá é gerenciado: sempre ativo, confiável sem a
etapa "Hooks precisam de revisão" e não é algo que um usuário possa desativar:
[[hooks.PreToolUse]]
matcher = "^(Bash|mcp__.*)$"
[[hooks.PreToolUse.hooks]]
type = "command"
command = "uvx --from finops-mcp==<version> finops guard hook"
timeout = 30
Ambos também têm um interruptor que executa apenas os hooks gerenciados e ignora todos os
hooks de usuário, projeto e plugin: "allowManagedHooksOnly": true nas configurações gerenciadas do
Claude Code, allow_managed_hooks_only = true no nível superior do
requirements.toml do Codex. Defina-o apenas se os hooks de ninguém devem ser executados. O Copilot CLI
tem a mesma ideia em arquivos de hook de política, /etc/github-copilot/policy.d/*.json
(de propriedade da raiz, não gravável por grupo ou mundo), no formato de
.github/hooks/nable-guard.json.
Fontes: Configurações gerenciadas do Claude Code,
allowManagedHooksOnly,
Codex codex-rs/config/src/config_requirements.rs e codex-rs/hooks/src/engine/discovery.rs
em openai/codex,
Referência de hooks do Copilot.
A proteção é um cinto de segurança, não um limite de segurança: dê aos agentes credenciais de nuvem somente leitura e mantenha o acesso de gravação atrás de um humano.
Conectores (17) — todos os provedores e o que eles puxam, além das funções do Azure
| Provedor | O que ele puxa |
|---|---|
| AWS | Cost Explorer (nível gratuito) · CUR via S3 (Pro: granularidade de item de linha, savings plans, reservas) |
| Azure | API Cost Management · recomendações de custo do Advisor · redimensionamento de VM (Azure Monitor) · orçamentos nativos · previsão |
| GCP | API Cloud Billing + exportação BigQuery |
| Datadog | API Usage Metering v2: valores reais em dólares |
| Snowflake | ACCOUNT_USAGE.METERING_HISTORY |
| Langfuse | API de métricas diárias: custo do modelo, uso de tokens, volume de rastreamento |
| MongoDB Atlas | API de faturas |
| Twilio | API Usage Records |
| Cloudflare | API de cobrança |
| Vercel | API de faturas (Enterprise) |
| New Relic | Ingestão de dados + contagens de usuários |
| Stripe | Taxas e atividade de cobrança |
| Databricks | Uso de DBU e gastos com SQL warehouse |
| OpenAI | Uso de API e gastos com tokens por modelo |
| Anthropic | Uso da API Claude e gastos com tokens |
Funções do Azure. As ferramentas do Azure abrangem três funções RBAC, concedidas ao
principal de serviço em cada assinatura (execute finops doctor para verificar):
# 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>
FAQ — gratuito vs pago, provedores, comparação com Cost Explorer / Vantage
O que é um servidor FinOps MCP? Um servidor MCP (Model Context Protocol) que responde a perguntas sobre custos de nuvem de dentro de um editor de IA. O nable é executado localmente como um, para que você possa perguntar ao Claude, Cursor ou VS Code sobre seus gastos com AWS, Azure, GCP e IA, e ele lê seus dados reais de custo na sua máquina para responder.
O nable é gratuito? Sim. A verificação no terminal, todas as consultas de custo, detecção de anomalias, todas as descobertas de desperdício e redimensionamento e todos os conectores são gratuitos para sempre. Toda instalação começa com um teste de 7 dias dos recursos Pro. O Pro ($25/mês) adiciona criação de tickets (Jira, Linear, GitHub Issues), relatórios e resumos por e-mail enviados sob solicitação e o rollup em toda a organização entre contas. O Team ($1.000/mês fixo, assentos ilimitados) adiciona o bot conversacional do Slack e remediação por chat. Previsões, recomendações de compromisso, PRs de remediação e o Ledger são gratuitos hoje enquanto sua precificação é decidida. Relatórios e alertas em um cronograma, enviados sem que ninguém peça, são o nable Cloud; esta instalação os envia quando você pede.
Meus dados de cobrança saem da minha máquina? Não. O nable é local-first e somente leitura por padrão. Ele lê seus dados de custo na sua máquina e nunca os envia, e você pode confirmar o comportamento sem saída no código-fonte.
Quais nuvens e provedores ele suporta? AWS, Azure, GCP e Vertex; Kubernetes (Kubecost, OpenCost); provedores de IA e LLM (OpenAI, Anthropic, Bedrock, OpenRouter, LiteLLM, Modal, Together, Replicate, Cohere, Mistral, Langfuse); plataformas de dados (Databricks, Snowflake, MongoDB); e SaaS (Datadog, New Relic, Cloudflare, Twilio, Vercel, Stripe).
Como ele é diferente do AWS Cost Explorer? O Cost Explorer é somente AWS e limitado ao console. O nable é multi-nuvem, roda no seu terminal e no Claude/Cursor, cobre gastos com IA e GPU que nenhum console de nuvem mostra e propõe correções como pull requests. nable scan também faz zero chamadas de API pagas por padrão.
Existe uma alternativa de código aberto ao Vantage ou CloudHealth? O nable é uma alternativa de código aberto (Apache-2.0), local-first, para consultas de custo, detecção de desperdício, redimensionamento e custo de IA/GPU, executando na sua máquina em vez de um SaaS hospedado.
Solução de problemas — correções de instalação e configuração
finops-doctor # checks credentials, DB, network, audit log
finops setup claude # re-run editor configuration only
| Sintoma | Correção |
|---|---|
| As ferramentas não aparecem no Claude | Alterne para a configuração uvx ou use caminho absoluto |
command not found: finops-mcp | Reinstale com pip install finops-mcp ou use uvx |
| AWS não retorna dados | Execute finops setup aws |
No matching distribution found for finops-mcp | Seu Python é anterior à 3.11. Instale na 3.11+ (uvx --python 3.12 nable, ou python3.11 -m pip install finops-mcp). |
cryptography erro de build / maturin failed | O uv tentou compilar no Python 3.10. Use 3.11+: uvx --python 3.12 nable. |
| Erros SSL corporativos | pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org finops-mcp |
| Funciona em casa, não no trabalho | Use uvx (a TI corporativa geralmente remove entradas personalizadas do PATH) |
Licença
Apache-2.0 na íntegra. A camada empresarial hospedada (dashboard web, SSO, plano de controle) vive em um repositório privado separado. Lista completa de ferramentas em CAPABILITIES.md.
getnable.com · Docs · Privacidade · Segurança
mcp-name: io.github.getnable/finops-mcp