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.

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.

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.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.1/5.0

Scored across 23 tools

Disambiguation3/5

Most tools target distinct resources, but there is real overlap: ynab_list_budgets duplicates ynab_list_plans, ynab_budget_summary duplicates ynab_plan_summary, and ynab_get_unapproved_transactions overlaps with ynab_get_transactions. The approval tools also have single and bulk variants that could be conflated, though the descriptions help.

Naming Consistency4/5

Tool names consistently use the ynab_ prefix and mostly follow a verb_noun pattern like ynab_list_accounts and ynab_create_transaction. The mix of list/get and the plan/budget terminology shift is slightly inconsistent, but the overall convention is predictable.

Tool Count3/5

23 tools is at the high end and includes duplicate legacy aliases that inflate the count. The core operations are broad enough to justify many tools, but the surface feels heavier than necessary for a focused budgeting server.

Completeness4/5

Transactions, approvals, categories, budgets, payees, accounts, and reporting are well covered, and the create/read/update/delete lifecycle for transactions is complete. Notable gaps remain for scheduled transactions, which can only be listed, and for managing categories/payees themselves.

Maintenance

ActivityMaintained
ResponsivenessSlow