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.
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-budgetcotiza 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|userdivide el gasto de OpenAI, Anthropic, LiteLLM y Langfuse.

Ú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
| nable | AWS Cost Explorer | Vantage / CloudHealth | Infracost | |
|---|---|---|---|---|
| Código abierto | Sí (Apache-2.0) | No | No | Sí |
| Dónde viven tus datos | Tu máquina | AWS | SaaS del proveedor | Tu máquina / CI |
| Nubes cubiertas | AWS, Azure, GCP, Kubernetes | Solo AWS | Multi-nube | IaC, cualquier nube |
| Gasto en IA y GPU | Sí (OpenAI, Anthropic, Bedrock, GPUs) | Solo Bedrock | Vantage: sí; CloudHealth: panel de tokens | No |
| Se ejecuta en Claude / Cursor / VS Code | Sí (MCP local) | Servidor MCP de facturación (solo lectura) | Vantage: MCP alojado; CloudHealth: no | Sí (MCP, extensiones de editor) |
| Cotiza el comando de un agente antes de ejecutarlo | Sí: un hook en Claude Code, Cursor, Codex CLI, Copilot, Gemini CLI y Cline cotiza lanzamientos, detiene puertas de un solo sentido y registra cada veredicto | No | No | No (cotiza diffs de IaC en el momento de la solicitud de extracción) |
| Corrige desperdicio | Abre una solicitud de extracción, tú apruebas | No | Vantage: agente en el producto; sin PR a tu IaC | PRs de AutoFix antes del despliegue, no sobre desperdicio en ejecución |
| Responde | Lo que un agente está a punto de gastar; lo que gastas y desperdicias ahora | Gasto de AWS | Gasto multi-nube | Costo de un cambio de IaC antes del despliegue |
| Precio | Gratis (local); los planes de pago son fijos, nunca un porcentaje del gasto | Nivel gratuito, luego por solicitud | SaaS de pago | Gratis (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_policycon la acción y el cambio (un terraform plan, un helm diff o unmonthly_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ónblockoescalate; 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 devuelvewarnoover, 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
| Agente | Dónde va el hook | Qué ve | Cuando la política quiere un humano |
|---|---|---|---|
| Claude Code | .claude/settings.json | comandos de shell, herramientas MCP | pregunta |
| Cursor | .cursor/hooks.json | comandos de shell, herramientas MCP | pregunta |
| Codex CLI | .codex/hooks.json | comandos de shell, herramientas MCP | deniega, con el motivo |
| GitHub Copilot | .github/hooks/nable-guard.json | comandos de shell | pregunta en Copilot CLI; deniega, con el motivo, en el agente en la nube |
| Gemini CLI | .gemini/settings.json | comandos de shell | deniega, con el motivo |
| Cline (macOS, Linux) | .clinerules/hooks/PreToolUse | comandos de shell | detiene 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
| Proveedor | Qué extrae |
|---|---|
| AWS | Cost Explorer (nivel gratuito) · CUR vía S3 (Pro: granularidad por línea, planes de ahorro, reservas) |
| Azure | API de Cost Management · recomendaciones de costos de Advisor · ajuste de tamaño de VM (Azure Monitor) · presupuestos nativos · pronóstico |
| GCP | API de Cloud Billing + exportación de BigQuery |
| Datadog | API de Usage Metering v2: montos reales en dólares |
| Snowflake | ACCOUNT_USAGE.METERING_HISTORY |
| Langfuse | API de métricas diarias: costo de modelo, uso de tokens, volumen de trazas |
| MongoDB Atlas | API de facturas |
| Twilio | API de registros de uso |
| Cloudflare | API de facturación |
| Vercel | API de facturas (Enterprise) |
| New Relic | Ingesta de datos + conteos de usuarios |
| Stripe | Tarifas y actividad de facturación |
| Databricks | Uso de DBU y gasto de SQL warehouse |
| OpenAI | Uso de API y gasto de tokens por modelo |
| Anthropic | Uso 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íntoma | Corrección |
|---|---|
| Las herramientas no aparecen en Claude | Cambia a la configuración de uvx o usa la ruta absoluta |
command not found: finops-mcp | Reinstala con pip install finops-mcp o usa uvx |
| AWS no devuelve datos | Ejecuta finops setup aws |
No matching distribution found for finops-mcp | Tu 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 failed | uv intentó compilar en Python 3.10. Usa 3.11+: uvx --python 3.12 nable. |
| Errores SSL corporativos | pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org finops-mcp |
| Funciona en casa, no en el trabajo | Usa 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