YNAB MCP server

Provides a bridge to the YNAB personal finance API for listing budgets, retrieving detailed budget information, and creating transactions without switching contexts
Back to servers
Provider
Caleb LeNoir
Release date
Mar 25, 2025
Language
TypeScript
Stats
11 stars

The YNAB MCP server provides tools for interacting with your YNAB budgets through AI conversations. It acts as a bridge between AI assistants and your YNAB account, allowing you to manage transactions, check budget status, and more through natural language.

Installation and Requirements

Before using the YNAB MCP server, you need to:

  1. Have a YNAB account set up at https://ynab.com
  2. Obtain your Personal Access Token from YNAB API documentation

Environment Variables

You'll need to set the following environment variables:

  • YNAB_API_TOKEN (required) - Your personal access token from YNAB
  • YNAB_BUDGET_ID (optional) - Your default budget ID

Note: Your personal access token is stored securely as an environment variable and is never directly shared with the language model.

Installation Steps

# Install dependencies
npm install

# Build the project
npm run build

Adding to Claude Desktop

Installing via Smithery

The simplest way to install is via Smithery:

npx -y @smithery/cli install @calebl/ynab-mcp-server --client claude

Manual Configuration

Add this configuration to your Claude Desktop config file:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "ynab-mcp-server": {
      "command": "npx",
      "args": ["ynab-mcp-server"]
    }
  }
}

Available Tools and Workflows

Available Tools

The YNAB MCP server provides the following tools:

  • ListBudgets - Lists all available budgets on your YNAB account
  • BudgetSummary - Provides a summary of underfunded categories and low accounts
  • GetUnapprovedTransactions - Retrieves all unapproved transactions
  • CreateTransaction - Creates a new transaction for a specified budget and account
  • ApproveTransaction - Approves an existing transaction in your YNAB budget

Workflow Examples

First-Time Setup

When starting, you'll be prompted to select your default budget from your available budgets. You can do this by asking the AI to "show me my available budgets" which will trigger the ListBudgets tool.

Adding New Transactions

You can add new transactions with natural language. For example:

"Add a transaction to my Ally account for $3.98 I spent at REI today"

The system will use the CreateTransaction tool to add this to your YNAB budget.

Managing Unapproved Transactions

To manage your unapproved transactions:

  1. Ask to "show me my unapproved transactions"
  2. Then you can approve specific ones with requests like "approve the transaction for $6.95 on the Apple Card"

Checking Budget Status

Ask for a budget summary to see categories that need attention and accounts that are running low on funds.

Using with Other MCP Clients

This server works with any Model Context Protocol compatible client. For a list of available clients, check the MCP website.

How to add this MCP server to Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "cursor-rules-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cursor-rules-mcp"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later