ynab-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| YNAB_API_TOKEN | Yes | Your YNAB Personal Access Token. Generate a token at YNAB > Account Settings > Developer Settings. |
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 |
|---|---|
| get_userB | [1 API call] Get the authenticated user's information including user ID |
| list_budgetsA | [1 API call] List all budgets the user has access to, with optional account info |
| get_budgetA | [1 API call] Get a single budget's full detail including all entities. Use 'last-used' for the most recently accessed budget. |
| get_budget_settingsB | [1 API call] Get a budget's date and currency format settings |
| list_accountsA | [1 API call] List all accounts for a budget including balances and types |
| get_accountB | [1 API call] Get details for a single account |
| create_accountB | [1 API call] Create a new account in a budget |
| list_categoriesB | [1 API call] List all categories grouped by category group for a budget |
| get_categoryB | [1 API call] Get details for a single category |
| create_categoryB | [1 API call] Create a new category in a budget |
| update_categoryB | [1 API call] Update an existing category's name, note, or goal |
| get_month_categoryB | [1 API call] Get a category's budget details for a specific month |
| update_month_categoryA | [1 API call] Update the budgeted/assigned amount for a category in a specific month. This is how you allocate money to categories. |
| create_category_groupA | [1 API call] Create a new category group in a budget |
| update_category_groupB | [1 API call] Update a category group's name |
| list_payeesB | [1 API call] List all payees for a budget |
| get_payeeB | [1 API call] Get details for a single payee |
| update_payeeB | [1 API call] Update a payee's name |
| list_payee_locationsB | [1 API call] List all payee GPS locations for a budget |
| get_payee_locationB | [1 API call] Get a single payee location by ID |
| get_payee_locations_for_payeeB | [1 API call] Get all GPS locations for a specific payee |
| list_monthsA | [1 API call] List all budget months for a budget, showing income, budgeted, activity, and ready to assign |
| get_monthA | [1 API call] Get detailed info for a single budget month including all category balances. Use 'current' for the current month. |
| list_money_movementsB | [1 API call] List all money movements for a budget (funds moved between categories) |
| get_month_money_movementsB | [1 API call] Get money movements for a specific month |
| list_money_movement_groupsB | [1 API call] List all money movement groups for a budget |
| get_month_money_movement_groupsB | [1 API call] Get money movement groups for a specific month |
| list_transactionsA | [1 API call] List transactions for a budget with optional filters. Returns most recent transactions first. |
| get_transactionB | [1 API call] Get details for a single transaction |
| create_transactionA | [1 API call] Create a new transaction. Amounts are in dollars (positive for inflows, negative for outflows). For split transactions, set category_id to null and provide subtransactions. |
| create_transactionsA | [1 API call, bulk] Create multiple transactions at once. Each transaction needs account_id, date, and amount at minimum. |
| update_transactionC | [1 API call] Update an existing transaction |
| update_transactionsA | [1 API call, bulk] Update multiple transactions at once. Each must include either id or import_id to identify the transaction. |
| delete_transactionB | [1 API call] Delete a transaction |
| import_transactionsB | [1 API call] Trigger an import of transactions from linked financial institutions |
| list_account_transactionsB | [1 API call] List transactions for a specific account |
| list_category_transactionsB | [1 API call] List transactions for a specific category |
| list_payee_transactionsB | [1 API call] List transactions for a specific payee |
| list_month_transactionsB | [1 API call] List transactions for a specific month |
| list_scheduled_transactionsB | [1 API call] List all scheduled (recurring) transactions for a budget |
| get_scheduled_transactionB | [1 API call] Get details for a single scheduled transaction |
| create_scheduled_transactionA | [1 API call] Create a new scheduled (recurring) transaction. Date must be in the future (up to 5 years). |
| update_scheduled_transactionB | [1 API call] Update an existing scheduled transaction |
| delete_scheduled_transactionB | [1 API call] Delete a scheduled transaction |
| merge_categoryA | [Variable API calls] [Workflow] Merges a source category into a target category: re-categorizes all transactions and moves all historical budgeted amounts. Dry run costs 4 + N calls (N = number of budget months). Execution costs additional 1 + 2*M calls (M = months with non-zero budgets). Defaults to dry_run=true to preview changes before executing. After merging, the source category will have zero transactions and zero budgeted amounts across all months - you can then manually hide/delete it in the YNAB app. |
| audit_credit_card_paymentsA | [Variable API calls] [Workflow] Audits credit card payment categories by comparing each card's month-end balance against the payment category's available balance. Recommends exact budgeted amount corrections, accounting for cascading effects across months. Audit costs 3 + C + M API calls (C = credit cards, M = months). Set apply=true to automatically fix mismatches (adds 1 API call per mismatch). |
| get_api_usageA | [0 API calls] Check current YNAB API usage against the 200 calls/hour rate limit. Use this before batch operations to ensure you have enough budget. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| monthly-review | Review a budget month: overspent categories, spending changes, underfunded goals, and credit card mismatches |
| transaction-audit | Audit recent transactions for uncategorized, unapproved, possible duplicates, and unusual amounts |
| budget-setup-guide | Guided walkthrough for setting up a new or existing budget: accounts, categories, targets, and scheduled transactions |
| spending-analysis | Analyze spending patterns: category breakdown, budget vs. actual, and top payees |
| credit-card-audit | Audit that each credit card's running balance matches its payment category's available balance, with optional auto-fix |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| api-usage | Current rate limit status: calls used, remaining, and window reset time |
Latest Blog Posts
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/justmytwospence/ynab-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server