Austin Rose
Projects/YNAB MCP server

YNAB MCP server

Live2026

Talk to your budget through Claude Desktop or any MCP client.

A Model Context Protocol server for YNAB (You Need A Budget) that lets Claude Desktop and other MCP-compatible clients read a budget, analyze spending patterns, detect subscriptions, and surface financial insights through conversation. Read-only by default; writes require an explicit opt-in. Published to npm and GHCR.

Why

Pulling a YNAB budget into a conversation with Claude was awkward without a dedicated server: a lot of copy-paste, or one-off API calls that didn't compose. The MCP spec was the right shape for this. The goal was 100% YNAB API coverage plus an analytics layer on top so the questions you actually want to ask ("am I overspending on dining out?") work in one tool call instead of three.

How

Full TypeScript implementation with Zod schema validation. 55 MCP tools spanning every YNAB endpoint, plus 22 custom analytics tools for spending trends, subscription detection, and budget health scoring. Token-bucket rate limiting at 180 requests per hour with a 10% safety margin against the YNAB cap. Caching for the infrequently-changing data (categories, accounts) to keep request budget free for the things that matter (transactions, balances). Read-only by default; writes are off behind YNAB_READ_ONLY=false so a misconfigured agent can't move money.

Lessons

Read-only-by-default is the right posture for any MCP server that touches money or production systems. The cost of an opt-in flag is small; the cost of a model that decides to "tidy up" your budget on your behalf is not. The analytics tools also turned out to be the part people actually use; the raw API coverage is necessary but not sufficient.

Built for this
  • 55 MCP tools for full YNAB API coverage
  • 22 analytics tools (subscription detection, trend analysis, health scores)
  • Read-only safety default with explicit write opt-in
  • Token-bucket rate limiting against the YNAB request cap
Built on
  • Claude (architecture and implementation pair)
  • Model Context Protocol SDK, Zod, TypeScript
  • npm + GHCR distribution