Aller au contenu

Serveur MCP open source non officiel pour YNAB

Votre budget YNAB, en langage courant.

avenir-mcp permet à Claude et aux autres agents IA de lire, classer, rapprocher et projeter votre budget. 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 neuf 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é et le montant dépensé. Voici cette réponse sur le budget de démonstration, en image :

Part de chaque budget consomméeaoût 2026
0 %50 %100 % · budgetFacturesLoyer100 %Téléphone100 %Électricité92 %QuotidienRestaurantsTransportsCoursesLoisirsAbonnementsEscaladeÉpargneVacancesintact

Réponse de get_budget_vs_actual sur le budget de démonstration
Noms des catégories adaptés au français ; la réponse brute garde ceux du budget de démonstration.

Afficher en tableau
CatégorieBudgétéDépenséconsommé
Factures · Loyer950,00950,00100 %
Factures · Téléphone20,0019,99100 %
Factures · Électricité70,0064,2092 %
Quotidien · Restaurants120,0089,1074 %
Quotidien · Transports90,0045,0050 %
Quotidien · Courses400,00192,5148 %
Loisirs · Abonnements15,0013,4990 %
Loisirs · Escalade80,0022,0028 %
Épargne · Vacances200,000,000 %

Claude : Août est resté dans le budget partout. Le loyer, le téléphone et l’électricité ont consommé 90 % ou plus du leur, les abonnements presque autant, les courses environ la moitié. Les 200,00 mis de côté pour les vacances sont intacts.

La réponse brute
get_budget_vs_actual — budget de démonstration
[
{
"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
}
]

Chaque exemple de cette documentation est une vraie réponse d’avenir-mcp sur un budget 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. » Nous ne sommes ni affiliés, ni associés, ni liés officiellement à YNAB. YNAB et You Need A Budget 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