Labsco
MCP SERVER

YNAB

by calebl

Talk to your YNAB budget: list budgets, see what is underfunded, and add or approve a transaction without opening the app.

Personal Finance & Budgeting
Summary
Five tools, honestly labelled as a work in progress.

What works today is the front half of a budgeting session: see which categories are short, look at what is unapproved, add a purchase in a sentence, approve one item. What is not there yet is written down rather than implied — approving several transactions in a single call, and a tool for updating an existing category or transaction, are both listed as next steps. Treat it as a fast way to capture and clear transactions by voice or chat, and keep the app for the parts that move money around.

What it is

An MCP server for YNAB budgets, built on mcp-framework. It reads your budgets through the YNAB API with a personal access token that stays in an environment variable — the project's stated design is that the token is never handed to the model. The README is candid about scope: it lists the workflows the author is building toward and then a shorter list of what is working today.

What you get
  • `ListBudgets` — the budgets on your account, and what you pick first if you have more than one
  • `BudgetSummary` — categories that are underfunded and accounts that are running low
  • `GetUnapprovedTransactions` — everything still waiting on approval
  • `CreateTransaction` — a transaction against a named budget and account, from a sentence like "Add a transaction to my Ally account for $3.98 I spent at REI today"
  • `ApproveTransaction` — approve one existing transaction by id, which pairs naturally with the unapproved list: "approve the transaction for $6.95 on the Apple Card"
Requirements

A YNAB account and a personal access token from the YNAB API settings, passed as `YNAB_API_TOKEN`. `YNAB_BUDGET_ID` is optional and sets a default budget so you are not asked to choose every time. Package `ynab-mcp-server` (0.1.2) on npm, run through `npx`, installed via Smithery, or built from source and pointed at with an absolute path. Nothing else to host — the server talks to YNAB's hosted API.

Setup effort

One command plus a key — npx -y @smithery/cli install @calebl/ynab-mcp-server --client claude, then supply credentials