YNAB MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| YNAB_API_URL | No | Override the YNAB API base URL | |
| YNAB_API_TOKEN | Yes | YNAB personal access token | |
| YNAB_READ_ONLY | No | Disable all write operations (true/false/1/0) | false |
| YNAB_MCP_DATA_DIR | No | Directory for undo history storage | ~/.ynab-mcp |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_budgetsB | List available YNAB budgets with key metadata. |
| sync_budget_dataA | Force a fresh sync of all cached budget data (accounts, categories, payees, transactions, scheduled transactions) from the YNAB API. Use this when you suspect external changes (e.g., bank imports, mobile app edits) that may not be reflected yet. Costs up to 6 API requests against the 200/hour rate limit. |
| get_accountsA | Get accounts with optional filtering by type, on-budget flag, and closed state. |
| search_transactionsA | Run one or more transaction searches in a single call with rich filters and sorted results. |
| create_transactionsA | Create one or more transactions in a single call. Each successful creation is undoable. |
| update_transactionsA | Update one or more existing transactions in a single call. Each successful update is undoable. |
| delete_transactionsA | Delete one or more transactions. Each deletion is undoable by re-creating the transaction. Costs one YNAB API call per transaction against the 200/hour rate limit. |
| list_categoriesA | Get all categories with their group hierarchy, IDs, and names. No budget figures or target data — lightweight and fast. Use this to resolve category names to IDs before write operations. |
| get_targetsA | Get categories with target progress details only: target type, amount, date, underfunded amount, months remaining, and percentage complete. Use this when you need target-specific guidance rather than monthly budget balances. Categories without targets return null target fields rather than being omitted. |
| get_monthly_budgetA | Get a month overview with income/budgeted/activity totals and per-category budget figures (budgeted, activity, balance) with overspending flags. Returns all visible categories by default — set include_hidden=true to include hidden ones. Categories with no activity show zeroes. No target data. |
| set_category_budgetsA | Set budgeted amounts for one or more category/month pairs in a single request. Costs up to two YNAB API calls per pair against the 200/hour rate limit (the prior amount is read before it is written, and the read may be served from cache) — keep batches small. |
| get_spending_analysisB | Aggregate spending over a date range and rank by category/payee for quick insights. Optionally set time_granularity to also bucket the same spending over time (daily, weekly, day-of-week, week-of-month) to see when money is spent. |
| get_scheduled_transactionsB | Get scheduled transactions with optional account/category filtering. |
| create_scheduled_transactionsA | Create one or more scheduled transactions. Each successful creation is undoable and costs one YNAB API call (no bulk endpoint exists). |
| update_scheduled_transactionsA | Update one or more scheduled transactions. Each successful update is undoable and costs one YNAB API call (no bulk endpoint exists). |
| delete_scheduled_transactionsA | Delete one or more scheduled transactions. Each deletion is undoable and costs one YNAB API call (no bulk endpoint exists). |
| suggest_transaction_categoriesA | Analyze uncategorized (and optionally unapproved) transactions using payee history, amount patterns, and scheduled transaction matching. Returns categorization suggestions with confidence levels — does NOT apply changes. update_actions (for update_transactions) contains only suggestions at or above action_confidence (default high); review lower-confidence suggestions manually before applying them. |
| set_category_targetsA | Create or update targets on one or more categories. Returns previous state for each category. |
| list_undo_historyB | List undoable operations for a budget. |
| undo_operationsA | Undo one or more prior operations with conflict detection. Use force=true to override conflicts. |
| get_budget_healthA | Single-call budget snapshot and diagnostic. Surfaces net worth, account totals by type, month totals, overspent categories, underfunded targets, credit card payment gaps, uncategorized/unapproved transaction counts, and Ready to Assign status with severity-rated issues. Note: the YNAB API does not expose whether overspending happened on cash or credit; judge that from the credit card payment gaps and the transactions themselves. |
| get_spending_trendsA | Multi-month spending time series with trend detection. Groups spending by category, payee, or category group and identifies increasing/decreasing patterns. The in-progress current month is included in the series marked partial, but excluded from trend labels, monthly averages, and moving averages. Trend fields are null when fewer than two complete months are available rather than reporting a fabricated flat trend. |
| get_income_expense_summaryA | Monthly income vs expense breakdown with savings rate calculation and trend detection across months. The in-progress current month is listed marked partial, and months predating the budget are listed marked no_data; both are excluded from averages and the trend. trend is null when fewer than two complete months are available (e.g. months=2 mid-month, or a budget younger than the window) rather than reporting a fabricated flat rate. |
| get_money_movementsA | Audit feed of money moved between categories or to/from Ready to Assign, including moves made in the YNAB apps — the only place the history behind each category's budgeted amount is visible. Use it to explain why a budgeted amount changed, or to see which moves were already made this month before proposing new ones. Movements performed together as one action share a group with its own note. |
| detect_recurring_chargesA | Identify subscriptions and recurring charges from transaction patterns. Analyzes transaction history to detect regular outflows, estimates frequency, flags price changes, and cross-references with scheduled transactions. Returns create_scheduled_actions for unmatched recurring charges (suggestions only). |
| detect_anomaliesA | Find unusual transactions: abnormal amounts for known payees, large charges from new payees, and potential duplicates. Compares each transaction against a baseline built from that payee's other transactions (the transaction itself is excluded). For payees whose history is near-constant the comparison scale is floored, in which case scale_basis is "floor" and scale_multiple is a multiple of that floor rather than a standard deviation. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| monthly-review | Run a structured monthly YNAB review workflow. |
| spending-report | Generate a spending report for a date range. |
| triage-unapproved | Review and batch-handle unapproved transactions efficiently. |
| budget-optimization | Analyze your budget for optimization opportunities. |
| subscription-audit | Review recurring charges and manage subscriptions. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| knowledge-terminology | The Four Rules, milliunits, Ready to Assign, on-budget vs off-budget, Age of Money, transaction states, and budget months. |
| knowledge-credit-cards | How YNAB models credit card spending vs payments, the payment category, returns, pre-YNAB debt, and credit vs cash overspending on cards. |
| knowledge-targets | Target types (Target Category Balance, Monthly Savings Builder, Needed for Spending), underfunded calculations, and target interactions with budgeting. |
| knowledge-overspending | Cash vs credit overspending, month rollover behavior, hidden credit card debt, and how to cover overspending. |
| knowledge-reconciliation | Transaction status lifecycle (uncleared/cleared/reconciled), the reconciliation process, frequency recommendations, and API relevance. |
| knowledge-api-quirks | Known YNAB API limitations: scheduled transaction frequencies, split transaction handling and ID changes, scheduled-transaction date and split constraints. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Maronato/ynab-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server