ynab-mcpb
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| YNAB_EXPORT_PATH | No | Optional directory for exported transaction files. | |
| YNAB_ACCESS_TOKEN | Yes | Your YNAB personal access token, obtained from Account Settings -> Developer Settings in the YNAB Web App. | |
| YNAB_MCP_ENABLE_DELTA | No | Enable/disable delta sync optimization (defaults to 'true'). | true |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| completions | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ynab_list_budgetsA | List all YNAB budgets for the authenticated user. Args:
Returns: budgets[], cached, cache_info Examples:
Errors:
|
| ynab_get_budgetA | Get summary information for a specific YNAB budget. Args:
Returns: budget (id, name, currency_format, accounts_count, categories_count, payees_count, months_count) Examples:
Errors:
|
| ynab_list_payeesA | List all payees for a budget with pagination. Args:
Returns: payees[], total_count, returned_count, offset, has_more, next_offset, cached, cache_info Examples:
Errors:
|
| ynab_get_payeeA | Get details for a specific payee. Args:
Returns: payee (id, name, transfer_account_id, deleted), cached, cache_info Errors:
|
| ynab_list_categoriesA | List all budget categories for a budget with pagination. Args:
Returns: categories[], category_groups[], total_count, returned_count, offset, has_more, next_offset, cached, cache_info Examples:
Errors:
|
| ynab_get_categoryA | Get current month details for a specific budget category. Args:
Returns: category (id, name, budgeted, activity, balance, goal_type, goal_target, goal_percentage_complete), cached, cache_info Errors:
|
| ynab_update_categoryA | Update the budgeted amount for a category in the current month. Args:
Returns: updated category with new budgeted, activity, balance. Examples:
Errors:
Write safety: call without confirmation_token to preview. Execute the identical validated request with the short-lived confirmation_token returned by that preview. |
| ynab_list_accountsA | List all accounts for a budget. Args:
Returns: accounts[], total_count, returned_count, offset, has_more, next_offset, cached, cache_info Examples:
Errors:
|
| ynab_get_accountA | Get details for a single account including current balance. Args:
Returns: account (id, name, type, balance, cleared_balance, uncleared_balance, on_budget, closed), cached, cache_info Errors:
|
| ynab_create_accountA | Create a new account in a YNAB budget. Args:
Returns: account object with id, name, type, balance fields. Examples:
Write safety: call without confirmation_token to preview. Execute the identical validated request with the short-lived confirmation_token returned by that preview. |
| ynab_get_monthA | Get full budget data for a specific month including all category balances. Args:
Returns: month (month, income, budgeted, activity, to_be_budgeted, age_of_money, categories[]), cached, cache_info Examples:
Errors:
|
| ynab_list_monthsA | List summary data for all budget months with pagination. Args:
Returns: months[], total_count, returned_count, offset, has_more, next_offset, cached, cache_info Examples:
Errors:
|
| ynab_list_transactionsA | List transactions for a budget with optional filtering and pagination. Args:
Returns: transactions[], total_count, returned_count, offset, has_more, next_offset, cached, cache_info Examples:
Errors:
|
| ynab_export_transactionsA | Export all transactions for a budget to a local JSON file. Args:
Returns: file_path, transaction_count, file_size_kb Examples:
Errors:
|
| ynab_get_transactionA | Get full details for a single transaction by ID. Args:
Returns: transaction (id, date, amount, memo, cleared, approved, account_id, payee_name, category_name, subtransactions), cached, cache_info Errors:
|
| ynab_create_transactionA | Create a single transaction in YNAB. Args:
Use "subtransactions" for manual split transactions. Use "ynab_create_receipt_split_transaction" when you have itemized receipt data and want proportional tax allocation handled for you. Advanced: "import_id" is supported, but it is intentionally not part of normal guidance. Usually omit it if you want the transaction to remain eligible for later bank-import matching. Returns: created transaction with account_balance. Examples:
Write safety: call without confirmation_token to preview. Execute the identical validated request with the short-lived confirmation_token returned by that preview. |
| ynab_create_transactionsA | Create 1–100 transactions in a single batch with duplicate detection and dry-run support. Args:
Returns: summary (created, duplicates, failed), results[], transactions[]. Examples:
Write safety: call without confirmation_token to preview. Execute the identical validated request with the short-lived confirmation_token returned by that preview. |
| ynab_create_receipt_split_transactionA | Create a split transaction from itemized receipt data with proportional tax allocation. Args:
Use this helper when you have receipt line items and want tax allocated across categories automatically. For generic manual split transactions without receipt/tax logic, use "ynab_create_transaction" with "subtransactions". Returns: transaction with subtransactions and receipt_summary. Write safety: call without confirmation_token to preview. Execute the identical validated request with the short-lived confirmation_token returned by that preview. |
| ynab_update_transactionA | Update fields on an existing YNAB transaction. Args:
Returns: updated transaction with updated_balance. Write safety: call without confirmation_token to preview. Execute the identical validated request with the short-lived confirmation_token returned by that preview. |
| ynab_update_transactionsA | Update 1–100 transactions in a single batch with dry-run preview. Args:
Returns: summary (updated, failed), results[], transactions[]. Examples:
Write safety: call without confirmation_token to preview. Execute the identical validated request with the short-lived confirmation_token returned by that preview. |
| ynab_delete_transactionA | Delete a transaction from YNAB. This action is irreversible. Args:
Returns: deleted transaction id and updated account balance. Errors:
Write safety: call without confirmation_token to preview. Execute the identical validated request with the short-lived confirmation_token returned by that preview. |
| ynab_list_scheduled_transactionsA | List scheduled transactions with delta caching and pagination. Amounts are returned in decimal currency and explicit milliunits. |
| ynab_get_scheduled_transactionB | Get one scheduled transaction by ID. |
| ynab_create_scheduled_transactionA | Create a recurring scheduled transaction. Prefer amount_decimal; amount_milliunits is available for already-converted values. Write safety: call without confirmation_token to preview. Execute the identical validated request with the short-lived confirmation_token returned by that preview. |
| ynab_update_scheduled_transactionA | Update selected fields on a scheduled transaction. Write safety: call without confirmation_token to preview. Execute the identical validated request with the short-lived confirmation_token returned by that preview. |
| ynab_delete_scheduled_transactionA | Delete a scheduled transaction. Write safety: call without confirmation_token to preview. Execute the identical validated request with the short-lived confirmation_token returned by that preview. |
| ynab_analyze_spendingA | Deterministically calculate income, spending, and net totals for an inclusive date range, grouped by category, payee, account, week, or month. Aggregates always use the complete fetched period before grouping. |
| ynab_compare_spending_periodsA | Deterministically compare two complete spending periods and calculate total and per-group differences. |
| ynab_compare_transactionsA | Compare bank CSV transactions with YNAB transactions to find missing or mismatched entries. Args:
Returns: comparison report with matched, unmatched_bank, unmatched_ynab transactions. |
| ynab_reconcile_accountA | Guided account reconciliation: match bank CSV transactions to YNAB, detect discrepancies, and optionally execute bulk create/update/unclear operations. Args:
Returns: human-readable reconciliation narrative + structured JSON (unmatched_bank, unmatched_ynab, suggestions, execution_summary when actions are performed). Examples:
Write safety: call without confirmation_token to preview. Execute the identical validated request with the short-lived confirmation_token returned by that preview. |
| ynab_get_userA | Get information about the authenticated YNAB user. Args:
Returns: user (id) Errors:
|
| ynab_set_default_budgetA | Set a default budget so other tools don't require budget_id every call. Args:
Returns: success, default_budget_id, cache_warm_started. Examples:
Errors:
|
| ynab_get_default_budgetA | Get the currently configured default budget ID. Args:
Returns: default_budget_id (null if not set), has_default. |
| ynab_diagnostic_infoA | Get comprehensive diagnostic information about the MCP server (health, cache, delta, security). Args:
Returns: diagnostics object with requested sections. |
| ynab_clear_cacheA | Clear all in-memory caches. Safe operation — no YNAB data is modified. Args: (none) Returns: success. Use when: you need fresh data after external YNAB changes, or to free memory. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| create-transaction | Create a new transaction in YNAB |
| budget-summary | Get a summary of your budget status |
| reconcile-account | Reconcile a YNAB account against a bank statement or CSV export |
| account-balances | Check balances across all accounts |
| weekly-budget-review | Review deterministic spending and budget status for a week |
| uncategorized-transaction-review | Find and review uncategorized transactions without guessing categories |
| month-end-close | Run a read-first month-end budget close checklist |
| spending-period-comparison | Compare two periods using server-calculated spending totals |
| scheduled-cash-flow-review | Review scheduled inflows and outflows without claiming a forecast model |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| YNAB Budgets | List of all available budgets |
| YNAB User Info | Current user information including ID and email address |
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/dizzlkheinz/ynab-mcpb'
If you have feedback or need assistance with the MCP directory API, please join our Discord server