1. Conduid
  2. Finance
  3. io.github.dizzlkheinz/ynab-mcpb
MCP server · Finance

io.github.dizzlkheinz/ynab-mcpb

MCP server for YNAB (You Need A Budget) — budgets, accounts, transactions, categories

Unclaimed finance
37Low

Scored 6 months ago · breakdown

About io.github.dizzlkheinz/ynab-mcpb

io.github.dizzlkheinz/ynab-mcpb is an MCP server in the Finance category: mCP server for YNAB (You Need A Budget) — budgets, accounts, transactions, categories.

Install

Claude Code
claude mcp add io-github-dizzlkheinz-ynab-mcpb -- npx -y @dizzlkheinz/ynab-mcpb
npx
npx -y @dizzlkheinz/ynab-mcpb

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about io.github.dizzlkheinz/ynab-mcpb

Powered by Claude · Grounded in docs

I know everything about io.github.dizzlkheinz/ynab-mcpb. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

YNAB MCP Server

Connect YNAB to any AI assistant. Manage your budget in plain English.

Download MCPB npm Node.js


Demo


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 Desktop<br/>or any MCP client]
    C -->|MCP protocol| S[YNAB MCP Server<br/>28 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

sequenceDiagram
    participant You
    participant Claude
    participant MCP as YNAB MCP Server
    participant YNAB

    You->>Claude: "Reconcile my checking<br/>with this CSV"
    Claude->>MCP: reconcile_account(csv_data)
    MCP->>YNAB: Fetch transactions
    YNAB-->>MCP: YNAB transactions
    MCP->>MCP: Parse CSV<br/>Fuzzy-match payees & dates<br/>Detect missing / mismatched
    MCP-->>Claude: Matches + recommendations
    Claude->>You: "Found 47 matches, 3 missing.<br/>Apply changes?"
    You->>Claude: "Yes"
    Claude->>MCP: Apply recommended changes
    MCP->>YNAB: Create / update transactions
    MCP-->>Claude: Done
    Claude->>You: "3 transactions created,<br/>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

  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

Add to your Claude Desktop config:

{
  "mcpServers": {
    "ynab": {
      "command": "npx",
      "args": ["-y", "@dizzlkheinz/ynab-mcpb@latest"],
      "env": {
        "YNAB_ACCESS_TOKEN": "your-token-here"
      }
    }
  }
}
{
  "mcpServers": {
    "ynab": {
      "command": "npx",
      "args": ["-y", "@dizzlkheinz/ynab-mcpb@latest"],
      "env": {
        "YNAB_ACCESS_TOKEN": "your-token-here"
      }
    }
  }
}
[mcp_servers.ynab-mcpb]
command = "npx"
args = ["-y", "@dizzlkheinz/ynab-mcpb@latest"]
env = {"YNAB_ACCESS_TOKEN" = "your-token-here"}
startup_timeout_sec = 120
  • 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 account.
How much did I spend on groceries in the last 30 days?
Create a transaction: $42.18 at Trader Joe's yesterday.

Tools (28)

Category Tools
Budgets list_budgets get_budget get_default_budget set_default_budget
Accounts list_accounts get_account create_account
Transactions list_transactions get_transaction create_transaction create_transactions update_transaction update_transactions delete_transaction export_transactions compare_transactions create_receipt_split_transaction
Categories list_categories get_category update_category
Payees list_payees get_payee
Months list_months get_month
Reconciliation reconcile_account
Utilities get_user diagnostic_info clear_cache

All read tools accept response_format ("markdown" or "json", default: "markdown").

Full reference: docs/reference/API.md


Configuration

Variable Default Description
YNAB_ACCESS_TOKEN — Required. Your YNAB personal access token.
YNAB_EXPORT_PATH ~/Downloads Directory for exported transaction files.
YNAB_MCP_ENABLE_DELTA true Enable delta sync (only fetch changed data).
YNAB_MCP_CACHE_DEFAULT_TTL_MS 300000 Cache TTL in milliseconds (5 min).
YNAB_MCP_CACHE_MAX_ENTRIES 1000 Maximum cache entries before LRU eviction.

See .env.example for all options.


Troubleshooting

Symptom Fix
npx fails Install Node.js 18+, then restart your MCP client.
Auth errors Regenerate your YNAB token and update YNAB_ACCESS_TOKEN.
Tools not detected Restart the MCP client after any config change.
Reconciliation issues Open an issue with an anonymized CSV sample.

For developers

git clone https://github.com/dizzlkheinz/ynab-mcpb.git
cd ynab-mcpb
npm install
cp .env.example .env   # add YNAB_ACCESS_TOKEN
npm run build
npm test

Architecture and contributor guidance: CLAUDE.md

Reconciliation architecture: docs/technical/reconciliation-system-architecture.md


Contributing

Bug reports and CSV edge-case repros are very welcome, especially for bank reconciliation: Open an issue

PRs welcome — run npm test and npm run lint before submitting.


License

AGPL-3.0

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About io.github.dizzlkheinz/ynab-mcpb

How do I install io.github.dizzlkheinz/ynab-mcpb?

Run claude mcp add io-github-dizzlkheinz-ynab-mcpb -- npx -y @dizzlkheinz/ynab-mcpb, then add the server to your MCP client's configuration.

Is io.github.dizzlkheinz/ynab-mcpb safe to use with an AI agent?

Its trust score is 37 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is io.github.dizzlkheinz/ynab-mcpb still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.