Ga naar inhoud

Onofficiële opensource-MCP-server voor YNAB

Je YNAB-plan, in gewone woorden.

Met avenir-mcp kunnen Claude en andere AI-agents je plan lezen, categoriseren, afstemmen en vooruitberekenen. Standaard alleen lezen; elke wijziging krijg je eerst te zien, bevestig je zelf en kun je ongedaan maken.

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

Werkt metClaude CodeClaude DesktopCursorVS CodeGemini CLICodex CLILM Studio

17
tools, elk voor een hele taak
100 %
dekking van regels en vertakkingen
9 / 9
taken gehaald door een echte agent
1–2
YNAB-verzoeken per aanroep, bij de meeste tools

Tools voor taken, niet voor endpoints

Een maand aan transacties categoriseren, een rekening afstemmen met de bank, het saldo vooruitberekenen, een maand doornemen: elke taak is één tool, geen tien API-aanroepen die de agent aan elkaar moet rijgen.

Standaard alleen lezen

De dertien schrijftools worden niet getoond en zijn niet aan te roepen totdat je AVENIR_MCP_WRITE=1 instelt. Een agent kan niet wijzigen wat hij niet ziet.

Antwoorden die een agent kan lezen

Valuta-eenheden, nooit milliunits. Getypeerde uitvoerschema’s met een beschrijving voor elk veld, paginering en fouten die zeggen wat er moet worden verbeterd.

Zuinig met het quotum van YNAB

Een lokale kopie van je transacties, bijgewerkt met delta-synchronisatie: de meeste tools kosten één of twee van de 200 verzoeken die YNAB per uur toestaat.

  1. 1

    Voorbeeld

    avenir-mcp berekent de exacte wijziging en laat die zien. Er wordt nog niets geschreven.

  2. 2

    Bevestiging

    Je zegt ja in je client, of met een eenmalige code die aan dat voorbeeld gekoppeld is.

  3. 3

    Ongedaan maken

    Elke toegepaste wijziging staat in het journaal; ongedaan maken herstelt haar zonder later werk te overschrijven.

Categorieën, bedragen, afstemmingen en aangemaakte transacties kun je allemaal ongedaan maken. Hoe het werkt: Bevestiging en Journaal en ongedaan maken.

Tools geven gestructureerde gegevens terug waar de agent op kan vertrouwen – en die hij voor jou in gewone woorden uitlegt.

Jij: Hoe ging augustus?

De agent roept get_budget_vs_actual aan met {"month": "2026-08-01"} en krijgt voor elke categorie wat er gebudgetteerd, wat er uitgegeven en wat er over is. Hier dat antwoord op het demoplan, als grafiek:

Wat er in elke categorie overblijftaugustus 2026
Vaste lastenStroom5,80Telefoon0,01Huur0,00DagelijksBoodschappen207,49Vervoer45,00Restaurants30,90Vrije tijdTennis58,00Abonnementen1,51SpaardoelenVakantie200,00

Antwoord van get_budget_vs_actual op het demoplan

Als tabel tonen
CategorieGebudgetteerdUitgegevenOver
Vaste lasten · Stroom70,0064,205,80
Vaste lasten · Telefoon20,0019,990,01
Vaste lasten · Huur950,00950,000,00
Dagelijks · Boodschappen400,00192,51207,49
Dagelijks · Vervoer90,0045,0045,00
Dagelijks · Restaurants120,0089,1030,90
Vrije tijd · Tennis80,0022,0058,00
Vrije tijd · Abonnementen15,0013,491,51
Spaardoelen · Vakantie200,000,00200,00

Claude: Augustus bleef overal binnen budget: geen enkele categorie zit over budget. De rekeningen zijn betaald, er is 207,49 over voor boodschappen en 58,00 voor tennis, en de 200,00 voor vakantie is onaangeroerd.

Het ruwe antwoord
get_budget_vs_actual — demoplan
[
{
"id": "cat-rent",
"name": "Huur",
"group": "Vaste lasten",
"budgeted": 950.0,
"actual": 950.0,
"balance": 0.0,
"utilization_pct": 100.0
},
{
"id": "cat-power",
"name": "Stroom",
"group": "Vaste lasten",
"budgeted": 70.0,
"actual": 64.2,
"balance": 5.8,
"utilization_pct": 91.7
},
{
"id": "cat-phone",
"name": "Telefoon",
"group": "Vaste lasten",
"budgeted": 20.0,
"actual": 19.99,
"balance": 0.01,
"utilization_pct": 99.9
},
{
"id": "cat-groceries",
"name": "Boodschappen",
"group": "Dagelijks",
"budgeted": 400.0,
"actual": 192.51,
"balance": 207.49,
"utilization_pct": 48.1
},
{
"id": "cat-restaurants",
"name": "Restaurants",
"group": "Dagelijks",
"budgeted": 120.0,
"actual": 89.1,
"balance": 30.9,
"utilization_pct": 74.2
},
{
"id": "cat-transport",
"name": "Vervoer",
"group": "Dagelijks",
"budgeted": 90.0,
"actual": 45.0,
"balance": 45.0,
"utilization_pct": 50.0
},
{
"id": "cat-tennis",
"name": "Tennis",
"group": "Vrije tijd",
"budgeted": 80.0,
"actual": 22.0,
"balance": 58.0,
"utilization_pct": 27.5
},
{
"id": "cat-subscriptions",
"name": "Abonnementen",
"group": "Vrije tijd",
"budgeted": 15.0,
"actual": 13.49,
"balance": 1.51,
"utilization_pct": 89.9
},
{
"id": "cat-holidays",
"name": "Vakantie",
"group": "Spaardoelen",
"budgeted": 200.0,
"actual": 0.0,
"balance": 200.0,
"utilization_pct": 0.0
}
]

Elk voorbeeld in deze documentatie is een echt antwoord van avenir-mcp op een verzonnen demoplan.

Onofficieel project. “We are not affiliated, associated, or in any way officially connected with YNAB or any of its subsidiaries or affiliates. The official YNAB website can be found at https://www.ynab.com. The names YNAB and You Need A Budget, as well as related names, tradenames, marks, trademarks, emblems, and images are registered trademarks of YNAB.” We zijn op geen enkele manier verbonden, geassocieerd of officieel gelieerd aan YNAB of een van zijn dochterondernemingen of gelieerde bedrijven. De officiële website van YNAB vind je op https://www.ynab.com. De namen YNAB en You Need A Budget, evenals verwante namen, handelsnamen, merken, emblemen en afbeeldingen, zijn geregistreerde handelsmerken van YNAB. avenir-mcp wordt geleverd zoals het is, zonder garantie, en is geen financieel advies. Juridische informatie · Privacy