An MCP server providing LLMs access to a YNAB budget.
uv syncTo 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_hereOptionally, set a default budget ID to avoid having to specify it in every call:
export YNAB_DEFAULT_BUDGET=your_budget_id_hereuv run python server.py- list_budgets()- Returns all your YNAB budgets
- list_accounts(budget_id=None, limit=100, offset=0, include_closed=False)- Returns accounts with pagination and filtering
- list_categories(budget_id=None, limit=50, offset=0, include_hidden=False)- Returns categories with pagination and filtering
- list_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_moreto 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.