YNAB
About
Integrates with YNAB API to enable personal finance management, including viewing account balances, creating transactions, and accessing budget data for financial planning and analysis.
Details
- Author
- klauern
- Repository
- klauern/mcp-ynab
- GitHub stars
- 1
- Categories
- Productivity, Design, Developer Tools, AI, API, Infrastructure, Project Management
Jump to
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
YNABCommand (node, npx, python, etc.)npxArguments-
Argument 1
-y -
Argument 2
@highlight/mcp-server
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Set your YNAB Personal Access Token in the environment (or in a .env file at
the repo root):
export YNAB_API_KEY=your-personal-access-token
Get a token at <https://app.ynab.com/settings/developer>.
search
Discover available YNAB operations without live API access.
execute
Run a short Python snippet against the live YNAB API.
ping
Health check the server.
get_preferences
Inspect server preferences.
set_preference
Update preferences such as mutation or escape-hatch settings.
set_api_key
Store a YNAB API key in the OS keychain.
clear_api_key
Remove the stored YNAB API key.
set_preferred_budget_id
Cache a preferred budget ID for default-targeted calls.
get_budgets
List all budgets in markdown.
get_accounts
List accounts in a budget, grouped by type with summary.
get_account_balance
Return a single account's current balance in dollars.
get_transactions
Recent transactions for an account; optional `since_date`.
get_transactions_needing_attention
Filter for uncategorized / unapproved transactions.
get_categories
All categories in a budget grouped by category group.
create_transaction
Create a new transaction in YNAB.
categorize_transaction
Assign a category to an existing transaction.
cache_categories
Cache a budget's category list locally.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"ynab": {
"env": {},
"args": [
"-y",
"@highlight/mcp-server"
],
"command": "npx"
}
}
}
Linux
{
"env": [],
"args": [
"-y",
"@highlight/mcp-server"
],
"command": "npx"
}
Macos
{
"env": [],
"args": [
"-y",
"@highlight/mcp-server"
],
"command": "npx"
}
Windows
{
"env": [],
"args": [
"/c",
"npx",
"-y",
"@highlight/mcp-server"
],
"command": "cmd"
}
mcp-ynab
A Model Context Protocol server for the
YNAB (You Need A Budget) API. Lets MCP clients (Claude
Desktop, Claude Code, custom agents) read your budgets, accounts, and
transactions, and create or recategorize transactions through structured tools.
Install
The project is managed with uv and
Task. All Python commands in this repo go through
uv run.
uv sync # install dependencies
task install # install the mcp-ynab CLI into the venv
Configure
Set your YNAB Personal Access Token in the environment (or in a .env file at
the repo root):
export YNAB_API_KEY=your-personal-access-token
Get a token at <https://app.ynab.com/settings/developer>.
Quickstart
1. Set your API key
Code Mode is the default surface — it requires your YNAB API key:export YNAB_API_KEY="your-key-here"
Or store it in your OS keychain (the server reads it automatically).
2. Use Code Mode
By default the server exposes two tools:search (discover available operations) and execute (run a snippet against the live YNAB API).
Discover tools:
```python
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





