Aller au contenu

Serveur MCP open source non officiel pour YNAB

Votre plan YNAB, en langage courant.

avenir-mcp permet à Claude et aux autres agents IA de lire, classer, rapprocher et projeter votre plan. Lecture seule par défaut ; chaque modification est prévisualisée, confirmée par vous, et annulable.

Terminal
claude mcp add avenir-mcp \
--env YNAB_API_KEY=votre-jeton \
-- uvx avenir-mcp

Fonctionne avecClaude CodeClaude DesktopCursorVS CodeGemini CLICodex CLILM Studio

17
outils, chacun mène une tâche entière
100 %
de couverture des lignes et des branches
9 / 9
tâches réussies par un vrai agent
1–2
requêtes YNAB par appel, pour la plupart des outils

Des outils par tâche, pas par point d'accès

Classer un mois de transactions, rapprocher un compte avec la banque, projeter le solde, faire le point sur un mois : chaque tâche est un outil, pas dix appels d’API à enchaîner pour l’agent.

Lecture seule par défaut

Les treize outils d’écriture ne sont ni listés ni appelables tant que vous n’avez pas défini AVENIR_MCP_WRITE=1. Un agent ne peut pas modifier ce qu’il ne voit pas.

Des réponses lisibles par un agent

Des unités monétaires, jamais de milliunités. Des schémas de sortie typés avec une description pour chaque champ, la pagination, et des erreurs qui disent quoi corriger.

Économe en requêtes YNAB

Une copie locale de vos transactions, mise à jour par synchronisation incrémentale : la plupart des outils coûtent une ou deux des 200 requêtes horaires de YNAB.

  1. 1

    Aperçu

    avenir-mcp calcule le changement exact et vous le montre. Rien n’est encore écrit.

  2. 2

    Confirmation

    Vous dites oui dans votre client, ou avec un code à usage unique lié à cet aperçu.

  3. 3

    Annulation

    Chaque changement appliqué est journalisé ; l’annulation le défait sans écraser le travail fait depuis.

Catégories, montants, rapprochements et transactions créées s’annulent tous. Comment ça marche : Confirmation et Journal et annulation.

Les outils renvoient des données structurées sur lesquelles l’agent peut compter — et qu’il vous traduit en langage courant.

Vous : Comment s’est passé août ?

L’agent appelle get_budget_vs_actual avec {"month": "2026-08-01"} et reçoit, pour chaque catégorie, le montant budgété, le montant dépensé et ce qui reste. Voici cette réponse sur le plan de démonstration, sous forme de graphique :

Ce qui reste dans chaque catégorieaoût 2026
Charges fixesLoyer0,00Électricité0,00Box internet0,00Téléphone0,00QuotidienCourses207,49Transports45,00Restaurants30,90LoisirsTennis58,00Abonnements0,00ProjetsVacances200,00

Réponse de get_budget_vs_actual sur le plan de démonstration

Afficher en tableau
CatégorieBudgétéDépenséRestant
Charges fixes · Loyer950,00950,000,00
Charges fixes · Électricité64,2064,200,00
Charges fixes · Box internet29,9929,990,00
Charges fixes · Téléphone19,9919,990,00
Quotidien · Courses400,00192,51207,49
Quotidien · Transports90,0045,0045,00
Quotidien · Restaurants120,0089,1030,90
Loisirs · Tennis80,0022,0058,00
Loisirs · Abonnements13,4913,490,00
Projets · Vacances200,000,00200,00

Claude : Août est resté dans le budget partout : aucune catégorie n’est en dépassement. Les factures sont payées, il reste 207,49 pour les courses et 58,00 pour le tennis, et les 200,00 mis de côté pour les vacances sont intacts.

La réponse brute
get_budget_vs_actual — plan de démonstration
[
{
"id": "cat-rent",
"name": "Loyer",
"group": "Charges fixes",
"budgeted": 950.0,
"actual": 950.0,
"balance": 0.0,
"utilization_pct": 100.0
},
{
"id": "cat-power",
"name": "Électricité",
"group": "Charges fixes",
"budgeted": 64.2,
"actual": 64.2,
"balance": 0.0,
"utilization_pct": 100.0
},
{
"id": "cat-internet",
"name": "Box internet",
"group": "Charges fixes",
"budgeted": 29.99,
"actual": 29.99,
"balance": 0.0,
"utilization_pct": 100.0
},
{
"id": "cat-phone",
"name": "Téléphone",
"group": "Charges fixes",
"budgeted": 19.99,
"actual": 19.99,
"balance": 0.0,
"utilization_pct": 100.0
},
{
"id": "cat-groceries",
"name": "Courses",
"group": "Quotidien",
"budgeted": 400.0,
"actual": 192.51,
"balance": 207.49,
"utilization_pct": 48.1
},
{
"id": "cat-restaurants",
"name": "Restaurants",
"group": "Quotidien",
"budgeted": 120.0,
"actual": 89.1,
"balance": 30.9,
"utilization_pct": 74.2
},
{
"id": "cat-transport",
"name": "Transports",
"group": "Quotidien",
"budgeted": 90.0,
"actual": 45.0,
"balance": 45.0,
"utilization_pct": 50.0
},
{
"id": "cat-tennis",
"name": "Tennis",
"group": "Loisirs",
"budgeted": 80.0,
"actual": 22.0,
"balance": 58.0,
"utilization_pct": 27.5
},
{
"id": "cat-subscriptions",
"name": "Abonnements",
"group": "Loisirs",
"budgeted": 13.49,
"actual": 13.49,
"balance": 0.0,
"utilization_pct": 100.0
},
{
"id": "cat-holidays",
"name": "Vacances",
"group": "Projets",
"budgeted": 200.0,
"actual": 0.0,
"balance": 200.0,
"utilization_pct": 0.0
}
]

Chaque exemple de cette documentation est une vraie réponse d’avenir-mcp sur un plan de démonstration inventé.

Projet non officiel. « 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. » Nous ne sommes ni affiliés, ni associés, ni liés officiellement de quelque manière que ce soit à YNAB ou à ses filiales et sociétés affiliées. Le site officiel de YNAB se trouve à l’adresse https://www.ynab.com. Les noms YNAB et You Need A Budget, ainsi que les noms, dénominations commerciales, marques, emblèmes et images qui s’y rattachent, sont des marques déposées de YNAB. avenir-mcp est fourni tel quel, sans garantie, et n’est pas un conseil financier. Mentions légales · Confidentialité