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.

PyPI PyPI Downloads Tests License: Apache-2.0 MCP Toplist

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-budget precifica 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|user divide gastos de OpenAI, Anthropic, LiteLLM e Langfuse.

nable demo: a sample bill in seconds

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

nableAWS Cost ExplorerVantage / CloudHealthInfracost
Código abertoSim (Apache-2.0)NãoNãoSim
Onde seus dados vivemSua máquinaAWSSaaS do fornecedorSua máquina / CI
Nuvens cobertasAWS, Azure, GCP, KubernetesSomente AWSMulti-nuvemIaC, qualquer nuvem
Gastos com IA e GPUSim (OpenAI, Anthropic, Bedrock, GPUs)Somente BedrockVantage: sim; CloudHealth: painel de tokensNão
Roda no Claude / Cursor / VS CodeSim (MCP local)Servidor MCP de faturamento (somente leitura)Vantage: MCP hospedado; CloudHealth: nãoSim (MCP, extensões de editor)
Precifica o comando de um agente antes de executá-loSim: 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 vereditoNãoNãoNão (precifica diffs de IaC no momento do pull request)
Corrige desperdíciosAbre um pull request, você aprovaNãoVantage: agente no produto; sem PR para seu IaCPRs de AutoFix antes do deploy, não sobre desperdício em execução
RespostasO que um agente está prestes a gastar; o que você gasta e desperdiça agoraGastos AWSGastos multi-nuvemCusto de uma mudança de IaC antes do deploy
PreçoGratuito (local); planos pagos são fixos, nunca um percentual do gastoCamada gratuita, depois por solicitaçãoSaaS pagoGratuito (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_policy com a ação e a alteração (um terraform plan, um helm diff ou um monthly_delta_usd). Transmita o veredito, o impacto em dólares e o caminho mais barato quando houver um. Nunca aplique uma ação block ou escalate; 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 retornar warn ou over, 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
AgenteOnde o hook ficaO que ele vêQuando a política quer um humano
Claude Code.claude/settings.jsoncomandos de shell, ferramentas MCPpergunta
Cursor.cursor/hooks.jsoncomandos de shell, ferramentas MCPpergunta
Codex CLI.codex/hooks.jsoncomandos de shell, ferramentas MCPnega, com o motivo
GitHub Copilot.github/hooks/nable-guard.jsoncomandos de shellpergunta no Copilot CLI; nega, com o motivo, no agente em nuvem
Gemini CLI.gemini/settings.jsoncomandos de shellnega, com o motivo
Cline (macOS, Linux).clinerules/hooks/PreToolUsecomandos de shellinterrompe 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
ProvedorO que ele puxa
AWSCost Explorer (nível gratuito) · CUR via S3 (Pro: granularidade de item de linha, savings plans, reservas)
AzureAPI Cost Management · recomendações de custo do Advisor · redimensionamento de VM (Azure Monitor) · orçamentos nativos · previsão
GCPAPI Cloud Billing + exportação BigQuery
DatadogAPI Usage Metering v2: valores reais em dólares
SnowflakeACCOUNT_USAGE.METERING_HISTORY
LangfuseAPI de métricas diárias: custo do modelo, uso de tokens, volume de rastreamento
MongoDB AtlasAPI de faturas
TwilioAPI Usage Records
CloudflareAPI de cobrança
VercelAPI de faturas (Enterprise)
New RelicIngestão de dados + contagens de usuários
StripeTaxas e atividade de cobrança
DatabricksUso de DBU e gastos com SQL warehouse
OpenAIUso de API e gastos com tokens por modelo
AnthropicUso 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
SintomaCorreção
As ferramentas não aparecem no ClaudeAlterne para a configuração uvx ou use caminho absoluto
command not found: finops-mcpReinstale com pip install finops-mcp ou use uvx
AWS não retorna dadosExecute finops setup aws
No matching distribution found for finops-mcpSeu 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 failedO uv tentou compilar no Python 3.10. Use 3.11+: uvx --python 3.12 nable.
Erros SSL corporativospip install --trusted-host pypi.org --trusted-host files.pythonhosted.org finops-mcp
Funciona em casa, não no trabalhoUse 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