ynab-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| YNAB_ACCESS_TOKEN | Yes | Your YNAB Personal Access Token. Grants full read/write access to your entire YNAB account. | |
| YNAB_API_BASE_URL | No | Overrides the YNAB API base URL (defaults to https://api.ynab.com/v1). Only useful for testing. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ynab_get_userA | Get the id of the authenticated user for the configured access token. |
| ynab_list_budgetsA | List all budgets accessible to the configured YNAB access token. |
| ynab_get_budgetA | Get an overview of one budget: metadata plus counts of accounts/categories/payees/transactions. For the actual account, category, or transaction data, use ynab_list_accounts / ynab_list_categories / ynab_list_transactions instead — this tool intentionally does not return the full embedded export (which can be very large for budgets with long history). |
| ynab_get_budget_settingsA | Get the date format and currency format settings for a budget. |
| ynab_list_accountsA | List all accounts (checking, savings, credit card, etc.) in a budget, with balances in milliunits. |
| ynab_get_accountA | Get a single account by id, with balances in milliunits. |
| ynab_create_accountA | Create a new on-budget account. There is no API-supported way to close/delete an account afterwards — YNAB's public API has no update or close endpoint for accounts, only create and read, so this action can't be undone through this server (or any other API client). |
| ynab_list_categoriesA | List all category groups and categories in a budget, with budgeted/activity/balance figures (in milliunits) for the current month. |
| ynab_get_categoryA | Get a single category by id, including budgeted/activity/balance and goal figures (in milliunits) for the current month. |
| ynab_create_category_groupA | Create a new category group in a budget. |
| ynab_update_category_groupB | Rename an existing category group. |
| ynab_create_categoryA | Create a new category within an existing category group. |
| ynab_update_categoryA | Update a category's name, note, and/or which category group it belongs to. Only the fields provided are changed. To change the budgeted (assigned) amount for a specific month, use ynab_assign_budgeted_amount instead. |
| ynab_assign_budgeted_amountA | Set the budgeted (assigned) amount for a category in a specific month — the "assign money" action. Amount is in milliunits and replaces the existing budgeted amount for that month, it does not add to it. |
| ynab_list_monthsA | List summary figures (income/budgeted/activity/to_be_budgeted, in milliunits) for every month in a budget's history. |
| ynab_get_monthA | Get summary figures for one budget month plus every category's budgeted/activity/balance for that month (all in milliunits). |
| ynab_list_payeesB | List all payees in a budget. |
| ynab_get_payeeB | Get a single payee by id. |
| ynab_create_payeeB | Create a new payee in a budget. |
| ynab_update_payeeB | Rename an existing payee. |
| ynab_list_scheduled_transactionsA | List all upcoming scheduled (future-dated, recurring) transactions in a budget. |
| ynab_list_transactionsA | List transactions in a budget. Defaults to the last 30 days if since_date is not given, and returns at most 200 transactions per call (most recent first) with has_more indicating whether more exist for the window. Note: the YNAB API has no result-count limit of its own, so this tool always fetches every transaction in the requested date range before applying the 200-result cap — narrow the date range for large or long-lived budgets rather than requesting everything at once, both to keep the response small and to avoid burning YNAB's 200-requests/hour rate limit on an oversized fetch. For repeated polling of the same budget, prefer last_knowledge_of_server over re-fetching the full date range each time. |
| ynab_get_spending_summaryA | Summarize spending (outflow) and income (inflow) per category over a date range, computed client-side from transactions (YNAB has no single endpoint for this). Defaults to the last 30 days if since_date is not given. Narrow the date range for large or long-lived budgets, both to keep the response small and to avoid burning YNAB's 200-requests/hour rate limit. |
| ynab_create_transactionA | Create a single transaction. Amount is in milliunits: negative = outflow (spending), positive = inflow. |
| ynab_create_transactions_bulkA | Create multiple transactions in a single call. Amounts are in milliunits: negative = outflow (spending), positive = inflow. |
| ynab_update_transactionB | Update a transaction's account, date, amount, payee, category, memo, cleared status, and/or approved status. Only the fields provided are changed — this single tool covers approving a transaction, categorizing it, editing its amount, etc. |
| ynab_delete_transactionA | Permanently delete a transaction. This cannot be undone via the API. Requires confirm: true. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- 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/johannesbraeunig/ynab-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server