Ir al contenido

Servidor MCP no oficial y de código abierto para YNAB

Su presupuesto de YNAB, en sus propias palabras.

avenir-mcp permite a Claude y a otros agentes de IA leer, clasificar, conciliar y prever su presupuesto. Solo lectura por defecto; cada cambio se previsualiza, usted lo confirma, y se puede deshacer.

Terminal
claude mcp add avenir-mcp \
--env YNAB_API_KEY=su-token \
-- uvx avenir-mcp

Funciona conClaude CodeClaude DesktopCursorVS CodeGemini CLICodex CLILM Studio

17
herramientas, cada una hace una tarea completa
100 %
de cobertura de líneas y ramas
9 / 9
tareas superadas por un agente real
1–2
peticiones a YNAB por llamada, en la mayoría

Herramientas para tareas, no para endpoints

Clasificar un mes de transacciones, conciliar una cuenta con el banco, prever el saldo, revisar un mes: cada tarea es una herramienta, no diez llamadas a la API que el agente deba encadenar.

Solo lectura por defecto

Las nueve herramientas de escritura no se listan ni se pueden llamar hasta que defina AVENIR_MCP_WRITE=1. Un agente no puede cambiar lo que no ve.

Respuestas que un agente puede leer

Unidades monetarias, nunca miliunidades. Esquemas de salida tipados con una descripción por campo, paginación, y errores que dicen qué corregir.

Ahorra la cuota de YNAB

Una copia local de sus transacciones, actualizada por sincronización incremental: la mayoría de las herramientas cuestan una o dos de las 200 peticiones por hora de YNAB.

  1. 1

    Vista previa

    avenir-mcp calcula el cambio exacto y se lo muestra. Todavía no se escribe nada.

  2. 2

    Confirmación

    Usted dice que sí en su cliente, o con un código de un solo uso ligado a esa vista previa.

  3. 3

    Deshacer

    Cada cambio aplicado se anota en el diario; deshacer lo revierte sin sobrescribir el trabajo posterior.

Categorías, importes, conciliaciones y transacciones creadas se pueden deshacer. Cómo funciona: Confirmación y Diario y deshacer.

Las herramientas devuelven datos estructurados en los que el agente puede confiar — y que le traduce en palabras sencillas.

Usted: ¿Cómo fue agosto?

El agente llama a get_budget_vs_actual con {"month": "2026-08-01"} y recibe, para cada categoría, lo presupuestado y lo gastado. Esta es esa respuesta sobre el presupuesto de demostración, en imagen:

Parte de cada presupuesto consumidaagosto de 2026
0 %50 %100 % · presupuestoFacturasAlquiler100 %Teléfono100 %Electricidad92 %Día a díaRestaurantesTransporteCompraOcioSuscripcionesPádelAhorroVacacionesintacto

Respuesta de get_budget_vs_actual sobre el presupuesto de demostración
Nombres de categorías adaptados al español; la respuesta en bruto conserva los del presupuesto de demostración.

Ver como tabla
CategoríaPresupuestadoGastadoconsumido
Facturas · Alquiler950,00950,00100 %
Facturas · Teléfono20,0019,99100 %
Facturas · Electricidad70,0064,2092 %
Día a día · Restaurantes120,0089,1074 %
Día a día · Transporte90,0045,0050 %
Día a día · Compra400,00192,5148 %
Ocio · Suscripciones15,0013,4990 %
Ocio · Pádel80,0022,0028 %
Ahorro · Vacaciones200,000,000 %

Claude: Agosto quedó dentro del presupuesto en todo. El alquiler, el teléfono y la electricidad consumieron el 90 % o más del suyo, las suscripciones casi lo mismo, la compra cerca de la mitad. Los 200,00 apartados para vacaciones siguen intactos.

La respuesta en bruto
get_budget_vs_actual — presupuesto de demostración
[
{
"id": "cat-rent",
"name": "Rent",
"group": "Bills",
"budgeted": 950.0,
"actual": 950.0,
"balance": 0.0,
"utilization_pct": 100.0
},
{
"id": "cat-power",
"name": "Electricity",
"group": "Bills",
"budgeted": 70.0,
"actual": 64.2,
"balance": 5.8,
"utilization_pct": 91.7
},
{
"id": "cat-phone",
"name": "Phone",
"group": "Bills",
"budgeted": 20.0,
"actual": 19.99,
"balance": 0.01,
"utilization_pct": 99.9
},
{
"id": "cat-groceries",
"name": "Groceries",
"group": "Everyday",
"budgeted": 400.0,
"actual": 192.51,
"balance": 207.49,
"utilization_pct": 48.1
},
{
"id": "cat-restaurants",
"name": "Restaurants",
"group": "Everyday",
"budgeted": 120.0,
"actual": 89.1,
"balance": 30.9,
"utilization_pct": 74.2
},
{
"id": "cat-transport",
"name": "Transport",
"group": "Everyday",
"budgeted": 90.0,
"actual": 45.0,
"balance": 45.0,
"utilization_pct": 50.0
},
{
"id": "cat-tennis",
"name": "Tennis",
"group": "Fun",
"budgeted": 80.0,
"actual": 22.0,
"balance": 58.0,
"utilization_pct": 27.5
},
{
"id": "cat-subscriptions",
"name": "Subscriptions",
"group": "Fun",
"budgeted": 15.0,
"actual": 13.49,
"balance": 1.51,
"utilization_pct": 89.9
},
{
"id": "cat-holidays",
"name": "Holidays",
"group": "Savings goals",
"budgeted": 200.0,
"actual": 0.0,
"balance": 200.0,
"utilization_pct": 0.0
}
]

Cada ejemplo de esta documentación es una respuesta real de avenir-mcp sobre un presupuesto de demostración inventado.

Proyecto no oficial. «We are not affiliated, associated, or in any way officially connected with YNAB or any of its subsidiaries or affiliates.» No estamos afiliados, asociados ni conectados oficialmente con YNAB. YNAB y You Need A Budget son marcas registradas de YNAB. avenir-mcp se ofrece tal cual, sin garantía, y no es asesoramiento financiero. Aviso legal