nable (finops-mcp)

Copiloto de FinOps local: pregunta sobre tus costos de AWS, Azure, GCP y SaaS en lenguaje natural. Detección de anomalías, ajuste de recursos, limpieza de recursos inactivos y creación de tickets en Jira/Linear, todo en tu propio Claude. Las credenciales nunca salen de tu máquina.

Documentación

nable

nable pone precio a lo que tus agentes de codificación están a punto de hacer, antes de que lo hagan. Gratis, local, un solo comando.

PyPI PyPI Downloads Tests License: Apache-2.0 MCP Toplist

nable pone un control frente a los comandos que un agente de codificación está a punto de ejecutar, en Claude Code, Cursor, Codex CLI, GitHub Copilot, Gemini CLI y Cline (y frente a las llamadas de herramientas MCP en los tres primeros). Un lanzamiento se cotiza a precio de lista antes de ejecutarse, una puerta de un solo sentido (destruir, terminar, una compra con compromiso) se detiene para que un humano decida, y cada veredicto va a un libro de contabilidad encadenado por hash en tu máquina. El guardián no necesita cuenta en la nube, ni clave API, ni licencia.

nable también es una herramienta FinOps de código abierto (Apache-2.0) y local-first para costos de nube e IA: un escaneo de solo lectura que encuentra desperdicio en tu cuenta de AWS usando solo APIs gratuitas, gasto de agentes de codificación de IA cotizado por modelo con límites por sesión, y costo de IA dividido por proyecto, equipo y usuario. Se ejecuta en tu terminal o como servidor MCP dentro de Claude, Cursor y VS Code, y tus datos de facturación nunca salen de tu máquina.

Pruébalo

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

Lo que el agente recibe cuando intenta un lanzamiento costoso o una destrucción (salida real, sin necesidad de cuenta en la nube):

$ 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.

¿Usas el plugin de Claude Code? Instalarlo activa el guardián, sin segundo paso:

/plugin marketplace add getnable/finopsmcp
/plugin install nable@nable

nable guard off (o FINOPS_GUARD=off) pausa todos los hooks de nable y nable guard on los reanuda; un agente que intente nable guard off por sí mismo será consultado primero.

En Claude Code, Cursor y Copilot CLI, ask detiene al agente hasta que confirmes; Codex CLI, Gemini CLI, Cline y el agente en la nube de Copilot rechazan el comando y muestran el motivo (tabla por agente en "Hook de guardián" más abajo). Un lanzamiento por debajo del umbral permanece en silencio: un t3.micro cuesta ~$8/mes, por debajo del umbral predeterminado de $500/mes (FINOPS_POLICY_MAX_AUTO_USD). Reinicia el agente después de instalar para que detecte el hook.

Lo que necesita una cuenta en la nube: la cotización y las preguntas no. El tope de presupuesto, nable guard reconcile (CloudTrail) y el escaneo de abajo leen tu propia cuenta, solo lectura.

Escanea lo que ya está en ejecución

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 las credenciales de AWS que ya están en tu máquina y lee solo APIs de nube gratuitas, por lo que escanear nunca aumenta tu factura. uvx nable scan --demo se ejecuta con datos de muestra sin ninguna cuenta. Agrega --json para CI, o --spend para un desglose más profundo.

Desde ahí, nable:

  • Muestra lo que gastas en AWS, Azure, GCP, Kubernetes y más de 15 proveedores de IA y SaaS, en un solo lugar.
  • Encuentra lo que estás desperdiciando (servidores inactivos, bases de datos sobredimensionadas, almacenamiento olvidado) y pone una cifra en dólares a cada uno.
  • Lo corrige, con tu aprobación, abriendo una solicitud de extracción (pull request), y luego verifica tu próxima factura para demostrar que el ahorro fue real.
  • Presupuesta tus agentes de IA: nable ai-budget cotiza el uso de Claude Code y Codex CLI por modelo desde registros locales, con un límite por sesión; nable ai-costs --by project|team|user divide el gasto de OpenAI, Anthropic, LiteLLM y Langfuse.

nable demo: a sample bill in seconds

Úsalo en tu editor

uvx nable se ejecuta como servidor MCP local dentro de Claude, Cursor y VS Code, con tu membresía existente de Claude o Cursor, sin clave API y sin costo por token. Luego pregunta:

  • "¿Por qué nuestra factura de AWS subió el mes pasado?"
  • "¿Cuánto estamos gastando en OpenAI y Anthropic?"
  • "¿Qué instancias deberíamos reducir?"
  • "Abre un ticket de Jira para cualquier desperdicio superior a $200/mes"

Cómo se compara nable

nableAWS Cost ExplorerVantage / CloudHealthInfracost
Código abiertoSí (Apache-2.0)NoNoSí
Dónde viven tus datosTu máquinaAWSSaaS del proveedorTu máquina / CI
Nubes cubiertasAWS, Azure, GCP, KubernetesSolo AWSMulti-nubeIaC, cualquier nube
Gasto en IA y GPUSí (OpenAI, Anthropic, Bedrock, GPUs)Solo BedrockVantage: sí; CloudHealth: panel de tokensNo
Se ejecuta en Claude / Cursor / VS CodeSí (MCP local)Servidor MCP de facturación (solo lectura)Vantage: MCP alojado; CloudHealth: noSí (MCP, extensiones de editor)
Cotiza el comando de un agente antes de ejecutarloSí: un hook en Claude Code, Cursor, Codex CLI, Copilot, Gemini CLI y Cline cotiza lanzamientos, detiene puertas de un solo sentido y registra cada veredictoNoNoNo (cotiza diffs de IaC en el momento de la solicitud de extracción)
Corrige desperdicioAbre una solicitud de extracción, tú apruebasNoVantage: agente en el producto; sin PR a tu IaCPRs de AutoFix antes del despliegue, no sobre desperdicio en ejecución
RespondeLo que un agente está a punto de gastar; lo que gastas y desperdicias ahoraGasto de AWSGasto multi-nubeCosto de un cambio de IaC antes del despliegue
PrecioGratis (local); los planes de pago son fijos, nunca un porcentaje del gastoNivel gratuito, luego por solicitudSaaS de pagoGratis (OSS), nube de pago

Infracost cotiza un cambio de infraestructura en la solicitud de extracción; el guardián de nable cotiza el comando que un agente está a punto de ejecutar, venga de donde venga, y el escaneo encuentra desperdicio en lo que ya está en ejecución. Desgloses más completos: nable vs Vantage, vs CloudHealth, vs Kubecost.

Guardián de agentes

nable guard install agrega un hook a Claude Code (y --all a cada agente compatible que encuentre: Cursor, Codex CLI, GitHub Copilot, Gemini CLI, Cline) que verifica cada comando de infraestructura, o llamada MCP en Claude Code, Cursor y Codex, antes de que se ejecute: una puerta de un solo sentido (destruir, terminar, un compromiso) te pregunta primero, y un lanzamiento se cotiza a precio de lista para que un run-instances de ~$128k/mes (8x p4d.24xlarge) pregunte en lugar de pasar. También observa el patrón entre llamadas: un límite de velocidad sobre la tasa mensual permitida por hora (FINOPS_POLICY_VELOCITY_CAP_USD, por defecto cuatro veces el umbral de $500/mes por acción) y detección de bucles para la misma creación repetida (tres create-stack idénticos en diez minutos preguntan). Cada veredicto va a un libro de contabilidad local encadenado por hash.

Presupuestos de IA que se mantienen actualizados. Cuando se establece un límite de gasto en Claude Code, Codex o Cursor, el guardián sopesa cada llamada contra él. El uso de Cursor proviene de su API de administración (CURSOR_ADMIN_API_KEY): el hook nunca espera en la red, y cuando su copia tiene más de una hora, la actualiza en segundo plano y lo dice (FINOPS_GUARD_BACKGROUND_REFRESH=0 lo desactiva). FINOPS_GUARD_AUTO_REFRESH_BUDGET=1 hace lo mismo con la cifra del presupuesto en la nube, recalculándola desde el historial de costos local sin llamadas facturadas.

Paradas vinculadas al presupuesto. Un cambio cotizado también se verifica contra los presupuestos en la nube que estableciste (la herramienta set_budget o un budget.yml): cuando el gasto del mes hasta la fecha más el costo del cambio para el resto del mes llevaría un presupuesto más allá de su límite, el guardián pregunta, nombrando el presupuesto, el gasto hasta ahora, la cifra mensual del cambio y el exceso proyectado. on_budget_breach: deny en nable.policy.yaml (en el directorio de datos de nable, ~/.finops por defecto, o en FINOPS_POLICY_FILE) lo convierte en una parada dura; FINOPS_GUARD_STOP_ON_BUDGET=1 o =0 lo anula por una sesión o ejecución de CI. Los presupuestos totales, por proveedor y por servicio se aplican desde el propio comando; los presupuestos por equipo y por cuenta se aplican cuando FINOPS_GUARD_TEAM o FINOPS_GUARD_ACCOUNT los nombra donde se ejecuta el agente. El hook lee un resumen pequeño de gasto en lugar de la base de datos: cada verificación de presupuesto lo escribe, nable budget refresh es el que se debe programar, y una cifra con más de 48 horas (FINOPS_GUARD_BUDGET_MAX_AGE_HOURS) o del mes pasado no se usa, lo cual dice el veredicto sobre un cambio cotizado. nable guard doctor lista los presupuestos que el guardián aplica, los que no puede ubicar en un cambio y la antigüedad de su cifra.

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 informa y sale con 0 a menos que se pase --fail-on-breach; con él, un presupuesto violado (gasto en o más allá de su porcentaje crítico) sale con 1 y una verificación que no puede ejecutarse sale con 2. --budget-file budget.yml sincroniza el archivo primero.

reconcile necesita cloudtrail:LookupEvents (gratis, solo lectura) y coincide por tipo y tiempo, ya que el libro de contabilidad no contiene IDs de recursos. El guardián es un cinturón de seguridad, no un límite de seguridad: nable guard doctor lista lo que no ve.

Protege su propia configuración. Un agente que escribe, mueve o elimina los archivos que deciden qué hace el guardián (el modelo de organización, nable.policy.yaml, paquetes instalados, el libro de contabilidad, el interruptor de apagado, las entradas de hook en la configuración de cada agente) es consultado primero, desde el shell en cada agente y también a través de las herramientas Write y Edit de Claude Code. También lo son nable guard off, nable org confirm y nable pack install ejecutados por un agente, desde cualquier punto de entrada (nable, finops, finops-mcp, uvx, python -m).

Moldeado a tu organización

nable org init lee lo que tu organización ya dice sobre sí misma (CODEOWNERS, Terraform, AWS Organizations, etiquetas, nombres de cuentas y espacios de nombres) y propone quién es dueño de qué, qué entornos son cuáles y qué claves de etiqueta significan equipo o centro de costos. Luego hace como máximo diez preguntas, primero el mayor gasto, la mayoría en bloque ("pagos es dueño de estas 8 cosas, $18,500/mes: sí, no o editar"). Las respuestas se almacenan como YAML simple en una carpeta nable.org/ que te pertenece: en tu repositorio si quieres que se revise mediante solicitud de extracción (nable org init --here), de lo contrario en el directorio de datos de 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

Lo que una persona confirma cambia lo que hace nable: las preguntas del guardián nombran al propietario ("Propiedad de pagos (#payments-oncall)"), el guardián toma el equipo para presupuestos por equipo y umbrales por equipo del repositorio en el que trabajas, los tickets llevan el equipo y canal del propietario, los hallazgos llevan un propietario, y la atribución y la detección de producción o no producción usan tus hechos confirmados antes que cualquier suposición. Los agentes, adaptadores y herramientas MCP solo pueden proponer; confirmar requiere una persona en la CLI o una solicitud de extracción fusionada. Una suposición puede hacer que nable sea más cuidadoso, nunca menos. Un nable.org/ que llega dentro de un repositorio clonado se lee además de tu propio modelo, y hasta que lo nable org trust, sus propietarios se muestran como probables y sus umbrales solo pueden bajar los tuyos.

Deja de preguntar lo mismo dos veces

El guardián registra cómo se respondió cada pregunta (Claude Code, Cursor y Copilot informan cuando se ejecutó un comando preguntado). Cuando las personas siguen aprobando el mismo tipo de cambio en el mismo alcance, al menos 5 veces en una semana sin nada rechazado o revertido, nable propone un umbral para ese alcance y muestra la evidencia: "aprobado 6 veces desde el 19 de septiembre, máximo $1,121/mes, nada rechazado o revertido". Una persona lo confirma con nable org confirm, y desde entonces ese cambio pasa sin aviso. Los rechazos repetidos proponen preguntar antes. Las puertas de un solo sentido siempre preguntan.

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

Los congelamientos de cambios y las cadenas de aprobación también son hechos de la organización: durante un congelamiento, cada cambio cotizado y puerta de un solo sentido en su alcance pregunta (o se deniega, si confirmaste el congelamiento en modo de denegación), y las solicitudes de extracción y tickets de remediación van a los aprobadores que nombraste. Los agentes que no pueden pausar para preguntar (Codex CLI, Gemini CLI, Cline, el agente en la nube de Copilot) reciben una denegación con un ID de aprobación; una persona ejecuta nable guard approve <id> y el comando idéntico se ejecuta una vez dentro de 15 minutos.

Paquetes

Los paquetes extienden nable con las reglas propias de una organización: políticas, reglas de guardián que solo pueden endurecer, manuales de remediación, libros de precios, plantillas de informes, habilidades de agentes de codificación y conectores (en espacio aislado), adaptadores de organización y destinos de tickets o Slack. Cada uno declara qué puede leer, qué secretos recibe y qué hosts puede alcanzar en nable-pack.toml; lo ves en la instalación, y una actualización que pida más espera tu aprobación nuevamente.

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

Tu archivo de políticas de organización puede limitar de dónde provienen los paquetes, limitar lo que pueden solicitar y exigir firmas (packs: en nable.policy.yaml). Los detalles, la lista de capacidades y los límites honestos del espacio aislado en una laptop están en docs/PACKS.md.

Configuración

Requiere Python 3.11+. ¿Necesitas uv? curl -LsSf https://astral.sh/uv/install.sh | sh (o brew install uv).

uvx nable

El asistente de configuración encuentra credenciales de AWS o GCP ya en tu máquina (un inicio de sesión SSO, un perfil de CLI o credenciales predeterminadas), conecta la que elijas y configura tu editor. Normalmente nunca escribes una clave.

Cursor con un clic: Add nable to Cursor Gratis para siempre para la herramienta local. Una versión alojada para equipos (paneles sin terminal, SSO, informes programados, agentes siempre activos) está en getnable.com/pricing.

Configuración manual del editor — solo necesaria si la configuración no se automatizó

Si finops setup no se configura automáticamente, ejecuta:

finops setup claude

O agrégalo manualmente a claude_desktop_config.json:

Con uvx (recomendado):

{
  "mcpServers": {
    "nable": { "command": "uvx", "args": ["--python", "3.12", "finops-mcp"] }
  }
}

Con ruta absoluta:

{
  "mcpServers": {
    "nable": { "command": "/usr/local/bin/finops-mcp" }
  }
}

Usa la ruta de which finops-mcp.

Ubicaciones del archivo de configuración:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

¿Por qué uvx? Claude Desktop es una aplicación GUI y no hereda el PATH de tu shell. uvx ejecuta finops-mcp en su propio entorno aislado. Es la opción más confiable en máquinas corporativas con instalaciones de Python administradas.

Dale a tu agente controles de costos — una compuerta de presupuesto previa a la acción para agentes de codificación

nable no son solo herramientas que tu agente lee. Es una compuerta previa a la acción que tu agente llama antes de hacer un cambio que afecte costos: calcula el precio del cambio, lo verifica contra tu presupuesto y ofrece una ruta más económica. Nunca aplica nada por sí mismo. Solo propone: tu agente propone y un humano aprueba.

Agrega una línea al prompt del sistema de tu agente (Claude Code, Cursor o cualquier cliente MCP):

Antes de aplicar cualquier cambio de infraestructura (un terraform apply, un helm upgrade, crear o redimensionar un recurso) o iniciar un trabajo costoso, primero llama a check_action_policy con la acción y el cambio (un terraform plan, un helm diff o un monthly_delta_usd). Transmite el veredicto, el impacto en dólares y la ruta más económica cuando se ofrezca una. Nunca apliques una acción block o escalate; preséntala al humano. nable es solo asesoría y propuesta.

La compuerta devuelve allow / warn / block / escalate contra tu política, el impacto mensual y anual en dólares, y una alternativa spot cuando el cambio es de cómputo. Las puertas de un solo sentido (eliminar, terminar, comprar un compromiso) y los cambios que exceden el presupuesto siempre escalan a un humano, y los cambios que exceden el presupuesto se bloquean por completo cuando la política establece on_budget_breach: deny.

Y un presupuesto para el propio agente. Ejecuta nable ai-budget una vez; pregunta si estás en un plan fijo o en una API medida y cuánto pagas, y luego lo recuerda. En un plan fijo, rastrea cuánto cómputo subsidiado consumes por tu tarifa fija y advierte antes de que se agote; en el plan medido, limita según un tope de gasto en dólares. check_ai_budget hace lo mismo para el agente a mitad de tarea. Lee tu uso de Claude Code localmente, sin subir nada. Cada respuesta se cotiza a la tarifa de lista del modelo correspondiente, incluyendo escrituras y lecturas de caché, y el informe divide el costo por modelo y por sesión. Un tope por tarea (nable ai-budget --session-cap 40, o "esta tarea puede gastar como máximo $40" al agente) se mide contra una sesión de Claude Code, incluidos los subagentes, y check_ai_budget devuelve el margen restante bajo ese tope. Agrégalo a tu prompt del sistema:

Antes de comenzar una tarea grande, llama a check_ai_budget. Si devuelve warn o over, dime dónde estoy antes de continuar.

Informa tu uso real y tu ritmo de gasto contra tu presupuesto, no un porcentaje fabricado del límite de tasa oculto de un plan.

Hook de protección para Claude Code, Cursor, Codex, Copilot, Gemini CLI y Cline, y despliegue administrado

nable guard install coloca la misma verificación frente a los comandos de shell del agente como un hook, para que se ejecute sin importar si el agente recuerda llamar a la compuerta:

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
AgenteDónde va el hookQué veCuando la política quiere un humano
Claude Code.claude/settings.jsoncomandos de shell, herramientas MCPpregunta
Cursor.cursor/hooks.jsoncomandos de shell, herramientas MCPpregunta
Codex CLI.codex/hooks.jsoncomandos de shell, herramientas MCPdeniega, con el motivo
GitHub Copilot.github/hooks/nable-guard.jsoncomandos de shellpregunta en Copilot CLI; deniega, con el motivo, en el agente en la nube
Gemini CLI.gemini/settings.jsoncomandos de shelldeniega, con el motivo
Cline (macOS, Linux).clinerules/hooks/PreToolUsecomandos de shelldetiene la tarea, con el motivo

--global escribe el archivo a nivel de usuario en su lugar (~/.claude/settings.json, ~/.cursor/hooks.json, $CODEX_HOME/hooks.json, ~/.copilot/hooks/, ~/.gemini/settings.json, ~/Documents/Cline/Hooks/). Un hook que el usuario instaló es un hook que el usuario puede eliminar.

Despliegue administrado. Para convertir el hook en una política que el usuario no pueda eliminar, despliégalo a través de la configuración de administración del agente. Reemplaza <version> con la versión que probaste (nable --version) y asegúrate de que uvx esté en el PATH de los usuarios, o usa la ruta absoluta de un binario finops instalado en lugar de la forma uvx.

Claude Code lee managed-settings.json desde /Library/Application Support/ClaudeCode/ (macOS), /etc/claude-code/ (Linux y WSL) o C:\Program Files\ClaudeCode\ (Windows), o un archivo de inclusión en managed-settings.d/ junto a él. Las configuraciones de usuario, proyecto y locales agregan sus hooks junto a uno administrado pero no pueden eliminarlo, y un disableAllHooks de usuario no puede desactivarlo:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "^(Bash|mcp__.*)$",
        "hooks": [
          {"type": "command", "command": "uvx --from finops-mcp==<version> finops guard hook", "timeout": 30}
        ]
      }
    ]
  }
}

Codex lee /etc/codex/requirements.toml (%ProgramData%\OpenAI\Codex\requirements.toml en Windows). Un hook allí es administrado: siempre activo, confiable sin el paso "Los hooks necesitan revisión", y no es algo que un usuario pueda deshabilitar:

[[hooks.PreToolUse]]
matcher = "^(Bash|mcp__.*)$"

[[hooks.PreToolUse.hooks]]
type = "command"
command = "uvx --from finops-mcp==<version> finops guard hook"
timeout = 30

Ambos también tienen un interruptor que ejecuta solo los hooks administrados e ignora todos los hooks de usuario, proyecto y plugin: "allowManagedHooksOnly": true en la configuración administrada de Claude Code, allow_managed_hooks_only = true en el nivel superior de requirements.toml de Codex. Actívalo solo si ningún hook propio de alguien debería ejecutarse. Copilot CLI tiene la misma idea en archivos de hook de política, /etc/github-copilot/policy.d/*.json (propiedad de root, no escribible por grupo o por todos), en el formato de .github/hooks/nable-guard.json.

Fuentes: Configuración administrada de Claude Code, allowManagedHooksOnly, codex-rs/config/src/config_requirements.rs y codex-rs/hooks/src/engine/discovery.rs de Codex en openai/codex, Referencia de hooks de Copilot.

La protección es un cinturón de seguridad, no un límite de seguridad: da a los agentes credenciales de nube de solo lectura y mantén el acceso de escritura detrás de un humano.

Conectores (17) — cada proveedor y lo que extrae, más los roles de Azure
ProveedorQué extrae
AWSCost Explorer (nivel gratuito) · CUR vía S3 (Pro: granularidad por línea, planes de ahorro, reservas)
AzureAPI de Cost Management · recomendaciones de costos de Advisor · ajuste de tamaño de VM (Azure Monitor) · presupuestos nativos · pronóstico
GCPAPI de Cloud Billing + exportación de BigQuery
DatadogAPI de Usage Metering v2: montos reales en dólares
SnowflakeACCOUNT_USAGE.METERING_HISTORY
LangfuseAPI de métricas diarias: costo de modelo, uso de tokens, volumen de trazas
MongoDB AtlasAPI de facturas
TwilioAPI de registros de uso
CloudflareAPI de facturación
VercelAPI de facturas (Enterprise)
New RelicIngesta de datos + conteos de usuarios
StripeTarifas y actividad de facturación
DatabricksUso de DBU y gasto de SQL warehouse
OpenAIUso de API y gasto de tokens por modelo
AnthropicUso de API de Claude y gasto de tokens

Roles de Azure. Las herramientas de Azure abarcan tres roles de RBAC, otorgados a la entidad de servicio en cada suscripción (ejecuta 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>
Preguntas frecuentes — gratis vs. de pago, proveedores, comparación con Cost Explorer / Vantage

¿Qué es un servidor FinOps MCP? Un servidor MCP (Model Context Protocol) que responde preguntas sobre costos de nube desde dentro de un editor de IA. nable se ejecuta localmente como uno, para que puedas preguntar a Claude, Cursor o VS Code sobre tu gasto en AWS, Azure, GCP e IA, y lee tus datos de costos reales en tu máquina para responder.

¿nable es gratis? Sí. El escaneo de terminal, cada consulta de costos, la detección de anomalías, todos los hallazgos de desperdicio y ajuste de tamaño, y cada conector son gratis para siempre. Cada instalación comienza con una prueba de 7 días de las funciones Pro. Pro ($25/mes) agrega creación de tickets (Jira, Linear, GitHub Issues), informes y resúmenes por correo enviados a pedido, y el resumen a nivel de organización entre cuentas. Team ($1,000/mes fijos, asientos ilimitados) agrega el bot conversacional de Slack y la remediación por chat. Los pronósticos, las recomendaciones de compromisos, los PR de remediación y el Ledger son gratis hoy mientras se decide su precio. Los informes y alertas programados, enviados sin que nadie los pida, son nable Cloud; esta instalación los envía cuando los pides.

¿Mis datos de facturación salen de mi máquina? No. nable es local-primero y de solo lectura por defecto. Lee tus datos de costos en tu máquina y nunca los sube, y puedes confirmar el comportamiento sin salida de datos en el código fuente.

¿Qué nubes y proveedores soporta? AWS, Azure, GCP y Vertex; Kubernetes (Kubecost, OpenCost); proveedores de IA y LLM (OpenAI, Anthropic, Bedrock, OpenRouter, LiteLLM, Modal, Together, Replicate, Cohere, Mistral, Langfuse); plataformas de datos (Databricks, Snowflake, MongoDB); y SaaS (Datadog, New Relic, Cloudflare, Twilio, Vercel, Stripe).

¿En qué se diferencia de AWS Cost Explorer? Cost Explorer es solo de AWS y está limitado a la consola. nable es multi-nube, se ejecuta en tu terminal y en Claude/Cursor, cubre gasto de IA y GPU que ninguna consola de nube muestra, y propone correcciones como pull requests. nable scan también hace cero llamadas de API de pago por defecto.

¿Hay una alternativa de código abierto a Vantage o CloudHealth? nable es una alternativa de código abierto (Apache-2.0), local-primero para consultas de costos, detección de desperdicio, ajuste de tamaño y costos de IA/GPU, que se ejecuta en tu máquina en lugar de un SaaS alojado.

Solución de problemas — correcciones de instalación y configuración
finops-doctor          # checks credentials, DB, network, audit log
finops setup claude    # re-run editor configuration only
SíntomaCorrección
Las herramientas no aparecen en ClaudeCambia a la configuración de uvx o usa la ruta absoluta
command not found: finops-mcpReinstala con pip install finops-mcp o usa uvx
AWS no devuelve datosEjecuta finops setup aws
No matching distribution found for finops-mcpTu Python es anterior a 3.11. Instala en 3.11+ (uvx --python 3.12 nable, o python3.11 -m pip install finops-mcp).
Error de compilación de cryptography / maturin faileduv intentó compilar en Python 3.10. Usa 3.11+: uvx --python 3.12 nable.
Errores SSL corporativospip install --trusted-host pypi.org --trusted-host files.pythonhosted.org finops-mcp
Funciona en casa, no en el trabajoUsa uvx (la TI corporativa a menudo elimina entradas personalizadas del PATH)

Licencia

Apache-2.0 en su totalidad. La capa empresarial alojada (panel web, SSO, plano de control) vive en un repositorio privado separado. Lista completa de herramientas en CAPABILITIES.md.

getnable.com · Docs · Privacidad · Seguridad

mcp-name: io.github.getnable/finops-mcp