Connect YNAB to any AI assistant. Manage your budget in plain English.
YNAB MCP Server
Connect YNAB to any AI assistant. Manage your budget in plain English.
Demo
Paste a receipt → itemized split transaction in seconds
What you can do
| Workflow | Example prompt |
|---|---|
| Receipt split | "Create a split transaction for this receipt and allocate tax." |
| Bank reconciliation | "Reconcile my checking account using this CSV." |
| Spending analysis | "What did I spend on takeout this month?" |
| Transaction creation | "Create a transaction: $42.18 at Trader Joe's yesterday." |
| Month overview | "Show my budget summary for January." |
How it works
graph LR
U(You) -->|Plain English| C[Claude Desktopor any MCP client]
C -->|MCP protocol| S[YNAB MCP Server28 tools]
S -->|YNAB API| Y[(Your Budget)]
style S fill:#2563EB,color:#fff,stroke:#1d4ed8
style Y fill:#16a34a,color:#fff,stroke:#15803d
style C fill:#7c3aed,color:#fff,stroke:#6d28d9
Features
- Receipt itemization — Paste a receipt, get an itemized split transaction with tax allocation automatically distributed across line items.
- Bank reconciliation (beta) — Import a bank CSV, fuzzy-match against YNAB, detect missing or mismatched transactions, and apply bulk fixes.
- 28 YNAB tools — Full coverage of budgets, accounts, transactions, categories, payees, months, and utilities.
- Delta sync — Fetches only changed data since the last request, keeping things fast.
- Markdown or JSON — All read tools support
response_format: human-readable markdown tables (default) or structured JSON. - MCP-native — Structured outputs, annotations, completions API, and resource templates.
How reconciliation works
Show workflow diagram
sequenceDiagram
participant You
participant Claude
participant MCP as YNAB MCP Server
participant YNAB
You->>Claude: "Reconcile my checkingwith this CSV"
Claude->>MCP: reconcile_account(csv_data)
MCP->>YNAB: Fetch transactions
YNAB-->>MCP: YNAB transactions
MCP->>MCP: Parse CSVFuzzy-match payees & datesDetect missing / mismatched
MCP-->>Claude: Matches + recommendations
Claude->>You: "Found 47 matches, 3 missing.Apply changes?"
You->>Claude: "Yes"
Claude->>MCP: Apply recommended changes
MCP->>YNAB: Create / update transactions
MCP-->>Claude: Done
Claude->>You: "3 transactions created,account reconciled."
Setup (2 minutes)
1 — Get a YNAB token
- Open YNAB Web App
- Go to Account Settings → Developer Settings → New Token
- Copy it (shown once only)
2 — Install
Claude Desktop — MCPB file (recommended)
- Download the latest
.mcpbfrom Releases - Drag it into Claude Desktop
- Enter your
YNAB_ACCESS_TOKENwhen prompted - Restart Claude Desktop
Claude Desktop — npx
Add to your Claude Desktop config:
{
"mcpServers": {
"ynab": {
"command": "npx",
"args": ["-y", "@dizzlkheinz/ynab-mcpb@latest"],
"env": {
"YNAB_ACCESS_TOKEN": "your-token-here"
}
}
}
}
Cline (VS Code)
{
"mcpServers": {
"ynab": {
"command": "npx",
"args": ["-y", "@dizzlkheinz/ynab-mcpb@latest"],
"env": {
"YNAB_ACCESS_TOKEN": "your-token-here"
}
}
}
}
Codex
[mcp_servers.ynab-mcpb]
command = "npx"
args = ["-y", "@dizzlkheinz/ynab-mcpb@latest"]
env = {"YNAB_ACCESS_TOKEN" = "your-token-here"}
startup_timeout_sec = 120
Any other MCP client
- Command:
npx - Args:
["-y", "@dizzlkheinz/ynab-mcpb@latest"] - Env:
YNAB_ACCESS_TOKEN=<your token>
3 — Try these prompts
List my budgets and set the default to my main budget.
Show recent transactions in my checking acco
Tools (1)
reconcile_accountReconcile a bank account using CSV data to match and fix transactions.Environment Variables
YNAB_ACCESS_TOKENrequiredPersonal access token generated from YNAB Developer Settings.Configuration
{"mcpServers": {"ynab": {"command": "npx", "args": ["-y", "@dizzlkheinz/ynab-mcpb@latest"], "env": {"YNAB_ACCESS_TOKEN": "your-token-here"}}}}