Skip to main content
Glama
calebl

YNAB MCP Server

by calebl

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
YNAB_API_TOKENYesYour Personal Access Token from YNAB (required)
YNAB_BUDGET_IDNoYour YNAB budget ID (optional)

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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
ynab_list_plansA

Lists all available plans from YNAB API

ynab_list_budgetsA

Former name of ynab_list_plans.

ynab_get_unapproved_transactionsA

Gets every unapproved transaction in a plan, optionally limited to those on or after a given date.

ynab_plan_summaryA

Get a summary of the plan for a specific month highlighting overspent categories that need attention and categories with a positive balance that are doing well.

ynab_budget_summaryD

Former name of ynab_plan_summary.

ynab_create_transactionA

Creates a new transaction in your YNAB plan. The account can be given as accountId or accountName, and the category as categoryId or categoryName - names are fuzzy-matched against the plan. Either payeeId or payeeName must also be provided. To split the transaction across categories, pass subtransactions instead of a category; their amounts must add up to the transaction amount.

ynab_approve_transactionA

Approves an existing transaction in your YNAB plan.

ynab_update_category_budgetA

Updates the budgeted amount for a category in a specific month. Use this to allocate funds to categories or move money between categories.

ynab_update_transactionA

Updates an existing transaction. All fields except transactionId are optional - only provide fields you want to change. Pass subtransactions to split an ordinary transaction across categories; YNAB cannot re-split a transaction that is already split.

ynab_bulk_approve_transactionsA

Approves multiple transactions at once. Provide an array of transaction IDs to approve them all in a single API call.

ynab_list_payeesA

Lists all payees in a plan. Useful for finding payee IDs when creating transactions.

ynab_get_transactionsB

Gets transactions from a plan with optional filters. Can filter by date range, account, category, payee, or approval status.

ynab_delete_transactionA

Deletes a transaction from the plan. This action cannot be undone.

ynab_list_categoriesA

Lists all categories in a plan, grouped by category group. Useful for finding category IDs when creating transactions or updating budgeted amounts.

ynab_list_accountsA

Lists all accounts in a plan. Useful for finding account IDs when creating transactions.

ynab_list_scheduled_transactionsA

Lists all scheduled (recurring) transactions in a plan.

ynab_import_transactionsA

Imports available transactions on all linked accounts for the plan. This triggers an import from connected financial institutions (equivalent to clicking 'Import' in the YNAB app).

ynab_list_monthsA

Lists all plan months. Each month contains summary information about budgeting status.

ynab_move_moneyA

Moves budgeted money from one category to another in a given month, typically to cover overspending. YNAB has no single move endpoint, so this reads both categories and rewrites their budgeted amounts; if the second write fails the response says exactly which half was applied.

ynab_auto_assignA

Distributes Ready to Assign across categories whose monthly goal is not yet fully funded, largest shortfall first, until the money runs out. Set dryRun to see the plan without changing anything.

ynab_spending_by_categoryA

Totals spending per category over a date range, biggest spend first. Splits are counted through their subtransactions, and transfers between your own accounts are excluded.

ynab_spending_by_payeeA

Totals spending per payee over a date range, biggest spend first - where the money actually goes by merchant. Splits are counted through their subtransactions, and transfers between your own accounts are excluded.

ynab_cash_flowA

Income versus spending, month by month, so you can see whether you are running a surplus. Uses YNAB's own monthly totals rather than re-adding transactions.

ynab_apply_category_suggestionsA

Applies explicitly supplied category suggestions after refetching and verifying every transaction fingerprint. Never auto-applies, approves, or calls TypeSafe. Supports dry-run and returns a pre-write undo manifest.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.3/5.0

Scored across 24 tools

Disambiguation3/5

Some tools overlap: ynab_create_transaction, ynab_update_transaction, ynab_import_transactions, and ynab_delete_transaction are distinct but could be confused in edge cases. More problematic are deprecated aliases like ynab_list_budgets and ynab_budget_summary that duplicate ynab_list_plans and ynab_plan_summary respectively, creating genuine ambiguity.

Naming Consistency5/5

All tool names consistently use snake_case with the 'ynab_' prefix followed by verb_noun or descriptive noun phrases (e.g., ynab_list_plans, ynab_create_transaction). The deprecated aliases also follow the same pattern, maintaining overall predictability.

Tool Count4/5

24 tools for a full-featured budgeting API server is reasonable, covering core operations. However, it's slightly heavy, and the inclusion of deprecated aliases (ynab_list_budgets, ynab_budget_summary) adds unnecessary count without new functionality.

Completeness4/5

The server covers a wide range of budgeting operations: transactions (CRUD), accounts, categories, payees, scheduled transactions, budgeting, and reporting. Some potential gaps exist, such as tools for managing accounts, creating scheduled transactions, or deleting categories, but the core domain is well-represented.

Maintenance

ActivityActive
ResponsivenessSlow