Talk to your budget.
ynab-mcp is an open-source Model Context Protocol server that lets Claude read, analyze and, when you allow it, update your YNAB budget.
Run it with Node.js 22.14 or later:
npx -y ynab-mcp
At a glance
69 tools across the YNAB API
23 analytics tools for trends and insights
7 guided review prompts
0 writes until you turn them on
What you can ask
Once it is connected, you talk to Claude the way you'd talk to a friend who knows your budget. Claude picks the tools; you see the answer.
Am I overspending anywhere this month?
Usesynab_overspending_alertsWhat subscriptions am I paying for?
Usesynab_detect_recurringAm I on track this month?
Usesynab_spending_paceWill I have enough in checking before payday?
Usesynab_cash_flow_forecastWhat's my net worth right now?
Usesynab_net_worthWhere can I cut back?
Usesynab_savings_opportunities
Quick start
You need a YNAB personal access token. Create one under Account Settings, Developer Settings in YNAB, then pick how you run Claude. The install guide covers each option in detail.
Claude Desktop
Add this to claude_desktop_config.json (Claude menu, Settings, Developer, Edit Config), replace the token, and restart Claude Desktop.
{
"mcpServers": {
"ynab": {
"command": "npx",
"args": ["-y", "ynab-mcp"],
"env": {
"YNAB_ACCESS_TOKEN": "your_token_here"
}
}
}
}
Docker
No Node.js needed. The image is published for amd64 and arm64. In Claude Desktop:
{
"mcpServers": {
"ynab": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "YNAB_ACCESS_TOKEN",
"ghcr.io/auzroz/ynab-mcp:latest"
],
"env": {
"YNAB_ACCESS_TOKEN": "your_token_here"
}
}
}
}
Claude Code
Run these in Bash or Zsh (on Windows, in WSL or Git Bash). Type this first command rather than copying it, so your token stays on the clipboard, then paste the token at its prompt; it isn't echoed or kept in shell history:
read -rs YNAB_ACCESS_TOKEN
Then one command registers the server. Add --scope user to make it available in every project.
claude mcp add ynab -e YNAB_ACCESS_TOKEN="$YNAB_ACCESS_TOKEN" -- npx -y ynab-mcp
unset YNAB_ACCESS_TOKEN
claude.ai (self-hosted)
To use ynab-mcp from claude.ai or the Claude mobile apps, host it yourself in HTTP mode with YNAB OAuth, then add a custom connector pointing at your server:
https://YOUR_PUBLIC_URL/mcp
Each person signs in with their own YNAB account and chooses read-only or read-write. See Self-hosting.
How it works
ynab-mcp is a small program that runs next to Claude: on your computer, or on a server you control. Claude asks it for data in a standard way (the Model Context Protocol), and it calls the official YNAB API with your token. There is no ynab-mcp cloud service in between.
- ClaudeDesktop, Code, claude.ai, or any MCP client
- ynab-mcpRuns on your machine or your server. Validates input, caches, limits requests, logs writes.
- YNAB APIapi.ynab.com, with your personal access token or OAuth
What's inside
69 tools
Budgets, accounts, categories, payees, months, transactions, scheduled transactions and money movements, plus system tools. Browse them all.
Analytics built in
Recurring-charge detection, spending trends and pace, budget health, cash-flow forecasts, goal progress, net worth and reconciliation help.
Read-only by default
Write tools are hidden and refused until you set YNAB_READ_ONLY=false. A typo in that setting stops the server instead of enabling writes.
Audit log
Every write is recorded: what changed, when, and whether it worked. Names and memos are reduced to whether they were present, so the log never holds them.
Delta sync and rate limiting
Repeat reads fetch only what changed since last time, and requests stay under YNAB's limit of 200 an hour, with a 10% margin.
Multi-user OAuth
Host one instance for your household or team. Everyone connects their own YNAB account over OAuth and their data stays separate.
Where next
Install
Every client, every setting, and fixes for common problems.
Install guideExamples
Seven realistic conversations, with the tools Claude calls.
See examplesTool reference
All tools and prompts, searchable, with parameters.
Browse toolsSecurity
How tokens, writes and your data are handled.
Read more