https://github.com/rollecode/ynab-mcp-server
MCP server for YNAB (You Need A Budget) API. Connects Claude Code (or any MCP client) to your YNAB account for reading budgets, managing transactions, and tracking spending.
https://github.com/rollecode/ynab-mcp-server
claude claude-code mcp mcp-server ynab ynab-api ynab-mcp
Last synced: 27 days ago
JSON representation
MCP server for YNAB (You Need A Budget) API. Connects Claude Code (or any MCP client) to your YNAB account for reading budgets, managing transactions, and tracking spending.
- Host: GitHub
- URL: https://github.com/rollecode/ynab-mcp-server
- Owner: rollecode
- License: mit
- Created: 2026-03-18T15:48:27.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-03-22T18:26:40.000Z (2 months ago)
- Last Synced: 2026-05-02T13:33:35.342Z (28 days ago)
- Topics: claude, claude-code, mcp, mcp-server, ynab, ynab-api, ynab-mcp
- Language: TypeScript
- Homepage:
- Size: 19.5 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# YNAB MCP server

 

---
MCP server for [YNAB (You Need A Budget)](https://ynab.com) API. Connects Claude Code (or any MCP client) to your YNAB account for reading budgets, managing transactions, and tracking spending.
Built because existing YNAB MCP servers fetch entire transaction histories (8MB+) and time out on real-world budgets with years of data. This server uses proper date filtering and returns only what you need.
---
## Features
- Budget summary with daily allowance calculation
- List and filter transactions by date, category, payee, or account
- Create, update, and delete transactions via natural language
- Move money between categories
- View scheduled/recurring transactions
- Proper date filtering — no full history dumps
## Tools
| Tool | Description |
|------|-------------|
| `ynab_list_budgets` | List all budgets with IDs |
| `ynab_budget_summary` | Daily allowance, available by category, overspent categories |
| `ynab_list_accounts` | All accounts with balances |
| `ynab_list_categories` | Category groups with current month balances |
| `ynab_get_month` | Budget details for a specific month |
| `ynab_list_transactions` | Transactions filtered by date (defaults to current month, max 200) |
| `ynab_create_transaction` | Create expense or income |
| `ynab_update_transaction` | Update existing transaction |
| `ynab_delete_transaction` | Delete a transaction |
| `ynab_set_category_budget` | Set budgeted amount for a category (move money) |
| `ynab_list_payees` | List all payees |
| `ynab_list_scheduled` | Scheduled/recurring transactions |
## Setup
### 1. Get a YNAB Personal Access Token
Go to [YNAB Developer Settings](https://app.ynab.com/settings/developer) and create a Personal Access Token.
### 2. Configure
```bash
cp .env.example .env
```
Add your `YNAB_API_TOKEN` to `.env`.
### 3. Install and run
```bash
bun install
```
### 4. Add to Claude Code
```bash
claude mcp add ynab --transport stdio -- bun /path/to/ynab-mcp-server/server.ts
```
Or add to `.mcp.json` in your project:
```json
{
"mcpServers": {
"ynab": {
"command": "bun",
"args": ["/path/to/ynab-mcp-server/server.ts"],
"env": {
"YNAB_API_TOKEN": "your_token_here"
}
}
}
}
```
### 5. Verify
In Claude Code, run `/mcp` and check that `ynab` shows as connected.
## Usage examples
- "What's my daily spending allowance?"
- "How much did I spend on groceries this month?"
- "Add 15 euros expense at Lidl for groceries"
- "Move 50 euros from Buffer to Groceries"
- "Show my scheduled transactions"
- "What categories are overspent?"
## Requirements
- [Bun](https://bun.sh) runtime
- YNAB account with API access