README.md•1.57 kB
# YNAB Assistant
A FastMCP server that lets AI assistants interact with your YNAB budget through the Model Context Protocol.
## What is this?
This is a personal MCP server that exposes YNAB API functionality as tools that Claude (or other AI assistants) can use. It lets you ask questions about your budget, create transactions, update categories, and more using natural language.
## Setup
1. **Install dependencies:**
```bash
uv sync
```
2. **Set your YNAB access token:**
Get your token from [YNAB Developer Settings](https://app.ynab.com/settings/developer), then:
```bash
export YNAB_ACCESS_TOKEN="your_token_here"
```
Or use direnv with `.envrc`:
```bash
echo 'export YNAB_ACCESS_TOKEN="your_token_here"' > .envrc
direnv allow
```
3. **Run the server:**
```bash
uv run python main.py
```
Server runs at `http://localhost:8000/mcp`
## What can it do?
The server provides 21 tools across different areas:
- **Accounts**: List accounts, get account details
- **Categories**: View and update category budgets and notes
- **Transactions**: Create, read, update, and delete transactions
- **Months**: View budget month details
- **User**: Get authenticated user info
## Development
Run linters until clean:
```bash
ruff check --fix && basedpyright
```
## Notes
- All amounts in YNAB are in "milliunits" (e.g., `-50000` = -$50.00)
- Most tools default to your last-used budget for convenience
- Built with [FastMCP](https://github.com/jlowin/fastmcp) and the [YNAB SDK](https://github.com/ynab/ynab-sdk-python)