YNAB

by calebl

1 stars
213 downloads
Not rated
GitHub

About

Provides a bridge to the YNAB personal finance API for listing budgets, retrieving detailed budget information, and creating transactions without switching contexts

Details

Author
calebl
Repository
calebl/ynab-mcp-server
GitHub stars
1
Downloads
213
License
MIT License
Categories
Productivity, Finance, Other, Design, Developer Tools, AI, API, Frontend, Knowledge Base
Tags
#integration

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

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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name YNAB
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 ynab-mcp-server

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Specify env variables:
YNAB_API_TOKEN (required)
YNAB_BUDGET_ID (optional)

be prompted to select your budget from your available budgets. If you try to use another
tool first, this prompt should happen asking you to set your default budget.
Tools needed: ListBudgets

ListBudgets

Lists available budgets on your account.

BudgetSummary

Provides a summary of categories that are underfunded and accounts that are low.

GetUnapprovedTransactions

Retrieve all unapproved transactions.

CreateTransaction

Creates a transaction for a specified budget and account. Requires GetBudget to be called first to know the account ID.

ApproveTransaction

Approves an existing transaction in your YNAB budget. Requires a transaction ID to approve and can be used with GetUnapprovedTransactions to approve pending transactions.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

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

Linux

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

Macos

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

Windows

{
    "env": [],
    "args": [
        "/c",
        "npx",
        "ynab-mcp-server"
    ],
    "command": "cmd"
}

A Model Context Protocol (MCP) server built with mcp-framework. This MCP provides tools for interacting with your YNAB budgets setup athttps://ynab.com

In order to have an AI interact with this tool, you will need to get your Personal Access Token from YNAB:https://api.ynab.com/#personal-access-tokens. When adding this MCP server to any client, you will need to provide your personal access token as YNAB_API_TOKEN.This token is never directly sent to the LLM.It is stored privately in an environment variable for use with the YNAB api.

- YNAB_API_TOKEN (required)
- YNAB_BUDGET_ID (optional)

The goal of the project is to be able to interact with my YNAB budget via an AI conversation. There are a few primary workflows I want to enable:

- be prompted to select your budget from your available budgets. If you try to use another tool first, this prompt should happen asking you to set your default budget.

- Tools needed: ListBudgets

Check total monthly spending vs total income

Auto-distribute ready to assign funds based on category targets

- ListBudgets - lists available budgets on your account
- BudgetSummary - provides a summary of categories that are underfunded and accounts that are low
- GetUnapprovedTransactions - retrieve all unapproved transactions
- CreateTransaction - creates a transaction for a specified budget and account.

- example prompt:Add a transaction to my Ally account for $3.98 I spent at REI today
- requires GetBudget to be called first so we know the account id

- requires a transaction ID to approve
- can be used in conjunction with GetUnapprovedTransactions to approve pending transactions
- After calling get unapproved transactions, prompt:approve the transaction for $6.95 on the Apple Card

- be able to approve multiple transactions with 1 call
- updateCategory tool - or updateTransaction more general tool if I can get optional parameters to work correctly with zod & mcp framework
- move off of mcp framework to use the model context protocol sdk directly?

# Install dependencies npm install # Build the project npm run build
ynab-mcp-server/ ├── src/ │ ├── tools/ # MCP Tools │ └── index.ts # Server entry point ├── .cursor/ │ └── rules/ # Cursor AI rules for code generation ├── package.json └── tsconfig.json

The YNAB sdk describes the available api endpoints:https://github.com/ynab/ynab-sdk-js.

YNAB open api specification is here:https://api.ynab.com/papi/open_api_spec.yaml. This can be used to prompt an AI to generate a new tool. Example prompt for Cursor Agent:

create a new tool based on the readme and this openapi doc: https://api.ynab.com/papi/open_api_spec.yaml The new tool should get the details for a single budget
# Add a new tool mcp add tool my-tool # Example tools you might create: mcp add tool data-processor mcp add tool api-client mcp add tool file-handler
import { MCPTool } from "mcp-framework"; import { z } from "zod"; interface MyToolInput { message: string; } class MyTool extends MCPTool<MyToolInput> { name = "my_tool"; description = "Describes what your tool does"; schema = { message: { type: z.string(), description: "Description of this input parameter", }, }; async execute(input: MyToolInput) { // Your tool logic here return Processed: ${input.message}; } } export default MyTool;

- Ensurenameis unique and follows npm naming conventions
- Set appropriateversion
- Adddescription,author,license, etc.
- Checkbinpoints to the correct entry file

npm run build npm link ynab-mcp-server # Test your CLI locally

Login to npm (create account if necessary):

After publishing, users can add it to their claude desktop client (read below) or run it with npx

To install YNAB Budget Assistant for Claude Desktop automatically viaSmithery:

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

Add this configuration to your Claude Desktop config file:

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

{ "mcpServers": { "ynab-mcp-server": { "command": "node", "args":["/absolute/path/to/ynab-mcp-server/dist/index.js"] } } }

Add this configuration to your Claude Desktop config file:

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

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

Checkhttps://modelcontextprotocol.io/clientsfor other available clients.
- Make changes to your tools
- Runnpm run buildto compile
- The server will automatically load your tools on startup

Easily query & find Belgian company finances

US/HK markets — 110 tools: real-time quotes, options, orders, fundamentals, alerts, DCA & portfolio

Interact with Ramp's Developer API to run analysis on your spend and gain insights leveraging LLMs

AI2Fin | Intelligent Financial Management

Tools for expense tracking, tax deductions, bill management, and financial analysis.

Manage personal finances, track transactions, and create budgets with Budgetsco.

Company lookup, LEI search, SEC filings, and financials for AI agents. 6 tools, free, no API key.

Get indicative term life insurance rates for a variety of ages, updated recently.

Free MCP server that gives AI real-time candlestick charts for forex, crypto, commodities and indices. 34 symbols, 6 timeframes, updated every minute.

Access real-time Indian options market data and volatility analytics. Analyze IV, RV, VRP, and skew with automated token management and percentile-based filtering tools.

MCP server that provides programmatic access to the Israeli Central Bureau of Statistics (CBS) price indices and economic data

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.