Model Context Protocol for YNAB (you need a budget)
Configuration
View docs{
"mcpServers": {
"calebl-ynab-mcp-server": {
"command": "node",
"args": [
"/absolute/path/to/ynab-mcp-server/dist/index.js"
],
"env": {
"YNAB_API_TOKEN": "YOUR_YNAB_API_TOKEN",
"YNAB_BUDGET_ID": "b udget_id_example"
}
}
}
}You are running a YNAB-focused MCP server that lets an AI interact with your YNAB budgets through a set of tools. It enables conversational workflows such as listing budgets, reviewing category funding, creating and approving transactions, and auto-distributing funds based on targets, all while keeping your YNAB token secure in an environment variable.
You will run the MCP server locally and connect it to an MCP client such as Claude Desktop. The server exposes tools that let you list available budgets, get a budget summary, fetch unapproved transactions, create transactions, and approve transactions. Your Personal Access Token for YNAB is stored in the environment and is not exposed to the AI.
In practice, you start the server with a standard IO configuration that runs a local Node process and points to the built server file. When you configure a client, you provide your YNAB_API_TOKEN and optional YNAB_BUDGET_ID. The client then prompts the server for data and executes actions such as adding transactions or approving pending items.
Prerequisites you need before starting:
Install dependencies and build the server, then run or link for local development.
# Install dependencies
npm install
# Build the project
npm run buildTo use the MCP server with Claude Desktop, you can run it locally or install via Smithery.
Local development configuration example (Claude Desktop): you run the server locally with Node and point Claude to the built entry file.
{
"mcpServers": {
"ynab-mcp-server": {
"command": "node",
"args":["/absolute/path/to/ynab-mcp-server/dist/index.js"]
}
}
}If you publish or share the server, you can also run it via npx for quick testing. The ready-to-use CLI invocation shown here assumes you install and publish the package, then run the server as a standard MCP entry point.
# Quick test after publishing
npx ynab-mcp-serverLists available budgets on your YNAB account, returning budget names and IDs so you can select a default budget and target actions.
Provides a summary of categories that are underfunded and accounts that are low, helping you manage funds and priorities.
Retrieves all unapproved transactions so you can review and batch-manage them.
Creates a new transaction for a specified budget and account, enabling quick entry of expenses or transfers.
Approves an existing transaction by its ID, allowing you to approve items surfaced from GetUnapprovedTransactions.