YNAB MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add -e "YNAB_ACCESS_TOKEN=${YNAB_ACCESS_TOKEN}" ynab-mcpb -- npx -y @dizzlkheinz/ynab-mcpb@latest
Required:YNAB_ACCESS_TOKEN
README.md

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

  1. Open YNAB Web App
  2. Go to Account Settings → Developer Settings → New Token
  3. Copy it (shown once only)

2 — Install

Claude Desktop — MCPB file (recommended)
  1. Download the latest .mcpb from Releases
  2. Drag it into Claude Desktop
  3. Enter your YNAB_ACCESS_TOKEN when prompted
  4. 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

claude_desktop_config.json
{"mcpServers": {"ynab": {"command": "npx", "args": ["-y", "@dizzlkheinz/ynab-mcpb@latest"], "env": {"YNAB_ACCESS_TOKEN": "your-token-here"}}}}

Try it

Create a split transaction for this receipt and allocate tax.
Reconcile my checking account using this CSV.
What did I spend on takeout this month?
Create a transaction: $42.18 at Trader Joe's yesterday.
Show my budget summary for January.

Frequently Asked Questions

What are the key features of YNAB MCP Server?

Receipt itemization with automatic tax allocation. Bank reconciliation via CSV import with fuzzy matching. Full coverage of YNAB budgets, accounts, transactions, and categories. Delta sync for fast data updates. Support for both markdown tables and structured JSON output.

What can I use YNAB MCP Server for?

Quickly itemizing complex grocery receipts into multiple budget categories. Automating the monthly bank reconciliation process using exported CSVs. Querying monthly spending habits using natural language. Rapidly logging daily transactions while on the go.

How do I install YNAB MCP Server?

Install YNAB MCP Server by running: npx -y @dizzlkheinz/ynab-mcpb@latest

What MCP clients work with YNAB MCP Server?

YNAB MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep YNAB MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare