Skip to main content
Glama
README.md
# 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)