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. |
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": 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
- 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/justmytwospence/ynab-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server