Ynab MCP Server
UnclaimedLocal MCP server for YNAB with read-only defaults, full API coverage, safe write controls, and support for budgets, transactions, categories, accounts, and reporting.
Install
docker run -i --rm -e YNAB_API_TOKEN=your-token-here mcp-server-for-ynabSet up this server
More in Finance
Browse the full directoryUnclaimed listing
Is this your MCP server?
This listing was auto-indexed from the public record. Claim it to edit the page, set compatibility and unlock growth tools. Takes under two minutes.
Claim this serverSecurity profile
Claimed and verified servers get a weekly static scan that shows what the code can reach: external services, environment variables, shell commands, agent configuration folders, plus any dependencies with known advisories. Claim this listing to get one. How the security profile works
40 of 40 tools
Documented tools (40)
From project documentation. A server handshake does not verify each tool’s description or behavior.
approve_transactions
Write tool: approve unapproved transactions in bulk by filter (payeeId / categoryId / accountId) without hand-listing IDs. Skips uncategorized transactions by default, requires confirmed: true, and supports expectedMatchedCount.
create_account
Write tool: create a new account (checking, savings, creditCard, mortgage, etc.)
create_category
Write tool: create a new category in an existing group (with optional goal)
create_category_group
Write tool: create a new category group
create_payee
Write tool: create a new payee
create_transaction
Write tool: create a transaction with optional split (subtransactions must sum to total)
create_transactions
Write tool: bulk create multiple transactions in a single API call (supports split transactions)
delete_transaction
Write tool: delete a transaction. Requires confirmed: true.
get_account
Get full account details including notes and debt fields
get_budget
Get budget summary (name, currency, account/category/payee counts). Pass lastKnowledgeOfServer for a delta export of every changed entity plus the next serverknowledge.
get_budget_settings
Get currency and date format settings
get_category
Get full category details including goal progress and cadence
get_money_movement_groups_by_month
Get money movement groups for a specific month
get_money_movements_by_month
Get money movements for a specific month
get_month
Get month detail with per-category budget/activity/balance/goal breakdown
get_month_category
Get category budget for a specific month
get_payee
Get payee details
get_payee_location
Get a specific payee location
get_payee_locations_by_payee
Get all locations for a specific payee
get_transaction
Get a single transaction by ID (includes subtransactions). Auto-handles composite scheduled-transaction IDs like uuidYYYY-MM-DD; if the underlying matched transaction has been deleted, falls back to returning the active scheduled template wrapped as { resourcetype: "scheduledtransaction", ... }.
get_transactions
Get transactions with filters: by account, category, payee, month, status (unapproved/uncategorized), sinceDate, and untilDate
get_user
Get the authenticated user
import_transactions
Write tool: trigger import from linked bank accounts
list_accounts
List all accounts with balances, debt details, and import status
list_budgets
List all budgets with IDs, names, date ranges, format settings, and default budget. Pass includeAccounts: true to include each budget's accounts.
list_categories
List all category groups and their categories with budgeted/activity/balance
list_money_movement_groups
List all money movement groups (batched re-allocations)
list_money_movements
List all money movements (budget re-allocations between categories)
list_months
List budget months with income, budgeted, activity, to-be-budgeted, age of money, and notes
list_payee_locations
List all payee locations (GPS coordinates from mobile app)
list_payees
List all payees with transfer account mappings
reassign_payee_transactions
Write tool: move all transactions from one payee to another, the merge workaround since the YNAB API has no payee delete/merge endpoint. Requires confirmed: true and supports expectedMatchedCount.
search_categories
Case-insensitive partial name search over category names and category-group names (e.g., "groc" finds "Groceries"; "health" finds everything in a "Health & Medical" group). Multi-word queries are tokenized and OR-matched, results are ranked, and each result reports matchedon / matchedterms. Pass inc
search_payees
Case-insensitive partial name search
update_category
Write tool: update name, note, goal target, goal target date, or move to a different group
update_category_group
Write tool: rename a category group
update_month_category
Write tool: set the budgeted amount for a category in a month
update_payee
Write tool: rename a payee
update_transaction
Write tool: partial update - only specified fields change. Can convert a non-split transaction into a split via subtransactions. Composite scheduled-transaction IDs (uuidYYYY-MM-DD) are writable — see below.
update_transactions
Write tool: batch update multiple transactions at once (look up each entry by id or importId), then verify requested fields persisted using a single batch refetch. Returns newlyapprovedcount beside approvedcount. Pass returnSummary: true for compact counts instead of full objects on large batches (a
Tool change history
FAQ
Questions about Ynab MCP Server
- How do I connect Ynab MCP Server to Claude?
- The listing records `docker run -i --rm -e YNAB_API_TOKEN=your-token-here mcp-server-for-ynab` as its setup step. Run it, then follow the repository's instructions for the client configuration; the listing names Claude Desktop, Claude Code, ChatGPT as compatible clients.
- Is Ynab MCP Server free?
- The listed licence is MIT. Check the upstream terms for permitted use and commercial requirements; a public repository does not by itself mean the software is free or open source. Connected APIs and hosted services may have separate charges.
- What can Ynab MCP Server do?
- Ynab MCP Server documents 40 tools to the agent, including approve_transactions, create_account, create_category. The descriptions above come from project documentation. A live handshake does not test individual tool behavior.