An MCP server providing LLMs access to a YNAB budget.
uv sync
To use this MCP server, you need a YNAB Personal Access Token:
- Log into your YNAB account at https://app.youneedabudget.com
- Go to Account Settings (click your email in the top right corner)
- Click on Developer Settings in the left sidebar
- Click New Token
- Enter a token name (e.g., "MCP Server")
- Click Generate
- Copy the generated token (you won't be able to see it again)
export YNAB_ACCESS_TOKEN=your_token_here
Optionally, set a default budget ID to avoid having to specify it in every call:
export YNAB_DEFAULT_BUDGET=your_budget_id_here
uv run python server.py
list_budgets()
- Returns all your YNAB budgetslist_accounts(budget_id=None, limit=100, offset=0, include_closed=False)
- Returns accounts with pagination and filteringlist_categories(budget_id=None, limit=50, offset=0, include_hidden=False)
- Returns categories with pagination and filteringlist_category_groups(budget_id=None)
- Returns category groups with totals (lighter weight overview)
The list_accounts
and list_categories
tools support pagination. Use the offset
parameter to get subsequent pages:
- First page:
list_categories(limit=50, offset=0)
- Second page:
list_categories(limit=50, offset=50)
- Check
pagination.has_more
to see if there are more results
Keep your YNAB access token secure and never commit it to version control. The token provides read access to all your budget data.