Financial

YNAB MCP Server

Connect your account, then chat with AI to run tools.

You Need A Budget (YNAB) is envelope budgeting software for assigning every dollar a job, tracking spending against categories, and syncing bank transactions.

Managed
19 tools
Agent guide included

Opens MCPBundles Studio with this server selected. After sign-in, chat and run tools from the same thread.

Browse all tools

AI Skill
SKILL.md

Domain knowledge for YNAB — workflow patterns, data models, and gotchas for your AI agent.

YNAB

YNAB organizes finances by plan (the product UI still says "budget"). Every data read is plan-scoped except the authenticated user profile check.

Recommended read order

  1. Confirm the connection with the user profile read.
  2. List plans — response includes default_scope.plan_id when one plan is accessible or a default is saved on the credential.
  3. Plan-scoped reads — omit plan_id when a default is saved, cached, or last-used applies.

Default plan resolution

Plan-scoped tools accept an optional plan_id. When omitted, resolution order is:

  1. Saved Default Plan on the connection (FIELDS token setup or OAuth additional field).
  2. Cached default_scope.plan_id from the latest plan listing call.
  3. Single accessible plan auto-selected after discovery.
  4. Fallback: last-used (YNAB's most recently opened plan).

Re-list plans after linking a new plan or changing defaults.

Data model

  • Plans — top-level container; accounts, categories, payees, and transactions belong to a plan.
  • Accounts — on-budget or tracking; every transaction belongs to an account.
  • Category groups & categories — envelope buckets; category reads return groups with nested categories (YNAB has no separate category-group read endpoint).
  • Payees — merchants and transfer payees (transfer_account_id marks account transfers).
  • Transactions — amounts are in milliunits; use transaction listing with date or entity filters.
  • Months — Ready to Assign, Age of Money, and month-scoped category amounts.
  • Scheduled transactions — upcoming/recurring rows not yet entered.

Write workflows

  • Assign money — update category budget with category_id, month (current works), and budgeted milliunits.
  • Log spending — create or update transactions (account_id, date, amount to create; transaction_id to update).
  • Payees — create or rename payees.
  • Scheduled rules — create, update, or delete scheduled transactions.
  • Bank import — trigger linked-account import for a plan.

Write tools require a Personal Access Token or OAuth without the read-only scope. Existing read-only OAuth connections can still read but get a clear error on writes.

Gotchas

  • plan_id optional on plan-scoped tools when a default is saved or discoverable. Magic values: last-used, default.
  • Milliunits: divide amounts by 1000 for currency display ($12.34 → 12340).
  • Category amounts on list endpoints reflect the current plan month (UTC). Pass month on category reads for a specific month.
  • Empty plans list means the authorized YNAB account has no plans yet; downstream steps cannot run without a plan id.

Tools in this Server (19)

Ynab Delete Scheduled Transaction

Delete one scheduled transaction by id. Destructive and idempotent.

Ynab Delete Transaction

Delete one YNAB transaction by id. Destructive and idempotent. Requires transaction_id; omit plan_id when a default plan is saved.

Ynab Get Accounts

List or fetch YNAB accounts for a plan. Omit account_id to list all accounts with balances and on-budget flags; pass account_id for one account. Omit ...

Ynab Get Categories

List or fetch YNAB categories grouped by category group. Omit category_id to return all groups and nested categories for the current plan month (UTC) ...

Ynab Get Money Movement Groups

List linked money-movement groups (paired category moves). Omit month for the full plan list; pass month for one plan month.

Ynab Get Money Movements

List money movements between categories or Ready to Assign. Omit month for all movements in the plan; pass month (ISO date or ``current``) for one pla...

Ynab Get Months

List plan months or fetch one month summary (Ready to Assign, Age of Money, category amounts). Omit month to list all months; pass month as ISO date (...

Ynab Get Payee Locations

List GPS payee locations saved from YNAB mobile entry. Omit payee_location_id and payee_id to list all locations for the plan; pass payee_id to list l...

Ynab Get Payees

List or fetch YNAB payees for a plan. Omit payee_id to list all payees including transfer payees; pass payee_id for one payee.

Ynab Get Plans

List YNAB plans (budgets) or export one plan with all nested entities. Omit plan_id to list summaries; pass plan_id (uuid, ``last-used``, or ``default...

Ynab Get Plan Settings

Return settings for one YNAB plan (currency, date format, etc.). Omit plan_id to use the saved default, cached default_scope, or ``last-used``.

Ynab Get Scheduled Transactions

List or fetch upcoming/recurring scheduled transactions that are not yet entered. Omit scheduled_transaction_id to list all; pass an id for one schedu...

Ynab Get Transactions

Read YNAB transactions for a plan. Routing: omit filters for the main list (supports since_date, until_date, type=uncategorized|unapproved); pass tran...

Ynab Get User

Return the authenticated YNAB user id. Call first to confirm the connection is live when plan-scoped reads fail with empty data.

Ynab Import Transactions

Trigger a bank import for all linked accounts in the plan — the same action as Import in the YNAB web/mobile apps. Returns imported transaction ids wh...

Ynab Update Category Budget

Assign money to a category for a plan month (envelope budgeting). Sets the budgeted/assigned amount in milliunits for months/{month}/categories/{categ...

Ynab Upsert Payee

Create or rename a YNAB payee. Omit payee_id to POST a new payee (name required). Pass payee_id to PATCH the name.

Ynab Upsert Scheduled Transaction

Create or update a scheduled (upcoming/recurring) transaction. Omit scheduled_transaction_id to POST (account_id and date required). Pass scheduled_tr...

Ynab Upsert Transaction

Create or update a YNAB transaction. Omit transaction_id to POST a new row (requires account_id, date, amount in milliunits). Pass transaction_id to P...

Frequently Asked Questions

What is the YNAB MCP server?

You Need A Budget (YNAB) is envelope budgeting software for assigning every dollar a job, tracking spending against categories, and syncing bank transactions. It provides 19 tools that AI agents can use through the Model Context Protocol (MCP).

How do I connect YNAB to my AI agent?

Add the MCPBundles server URL to your MCP client configuration (Claude Desktop, Cursor, VS Code, etc.). The URL format is: https://mcp.mcpbundles.com/bundle/you-need-a-budget-ynab. Authentication is handled automatically.

How many tools does YNAB provide?

YNAB provides 19 tools that can be called by AI agents, along with a SKILL.md that gives your AI agent domain knowledge about when and how to use them.

What authentication does YNAB require?

YNAB uses API Key or One-click sign in. YNAB requires credentials. Connect via MCPBundles and authentication is handled automatically.

Setup Instructions

Connect YNAB to any MCP client in minutes

MCP URL
https://mcp.mcpbundles.com/bundle/you-need-a-budget-ynab

One-click install:

The link prefills the Add custom connector dialog — you still review the values and click Add, then Connect to complete OAuth.

Or add manually

  1. Open claude.ai → Settings → Connectors.
  2. Click the + button and choose Add custom connector.
  3. Set Name to YNAB and paste the MCP URL into Remote MCP server URL.
  4. Click Add. YNAB will appear under Not connected — select it and click Connect to complete OAuth.
Name: YNAB
Remote MCP server URL: https://mcp.mcpbundles.com/bundle/you-need-a-budget-ynab
Authentication: OAuth

Custom connectors at claude.ai require a paid Claude plan (Pro, Max, Team, or Enterprise).

Ready to use YNAB?

Sign in to connect your credentials and start running tools from the chat.