A Model Context Protocol server that enables interaction with You Need A Budget (YNAB) via their API, allowing users to manage budgets, accounts, categories, and transactions through natural language.
A Model Context Protocol (MCP) server for interacting with YNAB (You Need A Budget) via their API.
Clone this repository
git clone https://github.com/ntdef/ynab-mcp.git cd ynab-mcp
Create a virtual environment
uv venv
Activate the virtual environment
venv\Scripts\activate
source venv/bin/activate
Install dependencies using UV
# python -m pip install uv uv sync
Copy .env.example
to .env
and add your YNAB API token
cp .env.example .env # Edit .env with your favorite editor
uv run ynab-mcp
The server will start in stdio mode, so you won't see any output.
The YNAB MCP Server provides the following tools:
get_budgets
: Retrieve all budgets for the authenticated userget_budget_summary
: Get a summary of the budget, optionally for a specific monthget_accounts
: Retrieve all accounts for a specific budgetget_categories
: Retrieve all categories for a specific budgetcreate_category
: Create a new category in the specified budget groupupdate_category_budgeted
: Update the budgeted amount for a category in a specific monthget_transactions
: Retrieve transactions for a specific budget, optionally filtered by date, account, or categorycreate_transaction
: Create a new transaction in the specified budgetupdate_transaction
: Update one or more fields of a specific transactionuv run pytest
This project uses Black and isort for code formatting. To format your code:
uv run isort src tests uv run black src tests
MIT License
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!