Skip to main content

YNAB MCP Server

A Model Context Protocol (MCP) server for interacting with YNAB (You Need A Budget) via their API.

Features

  • Get budgets, accounts, and categories
  • Get, create and update transactions
  • Create new categories
  • Update budgeted amounts for categories
  • Get budget summaries

Prerequisites

  • Python 3.13 or higher
  • A YNAB account with an API token (Get your token here)
  • UV package manager (optional but recommended)

Installation

  1. Clone this repository

    git clone https://github.com/ntdef/ynab-mcp.git
    cd ynab-mcp
    
  2. Create a virtual environment

    uv venv
    
  3. Activate the virtual environment

    • Windows:
      venv\Scripts\activate
      
    • Unix/MacOS:
      source venv/bin/activate
      
  4. Install dependencies using UV

    # python -m pip install uv
    uv sync
    
  5. Copy .env.example to .env and add your YNAB API token

    cp .env.example .env
    # Edit .env with your favorite editor
    

Usage

Running the server

uv run ynab-mcp

The server will start in stdio mode, so you won't see any output.

Available tools

The YNAB MCP Server provides the following tools:

Budget management

  • get_budgets: Retrieve all budgets for the authenticated user
  • get_budget_summary: Get a summary of the budget, optionally for a specific month

Account management

  • get_accounts: Retrieve all accounts for a specific budget

Category management

  • get_categories: Retrieve all categories for a specific budget
  • create_category: Create a new category in the specified budget group
  • update_category_budgeted: Update the budgeted amount for a category in a specific month

Transaction management

  • get_transactions: Retrieve transactions for a specific budget, optionally filtered by date, account, or category
  • create_transaction: Create a new transaction in the specified budget
  • update_transaction: Update one or more fields of a specific transaction

Development

Running tests

uv run pytest

Code style

This project uses Black and isort for code formatting. To format your code:

uv run isort src tests
uv run black src tests

License

MIT License

Acknowledgements

Metadata

Release files for ynab-mcp 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ynab-mcp 0.1.4
File Size Uploaded Provenance
ynab_mcp-0.1.4.tar.gz 25.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for ynab-mcp 0.1.4
File Interpreter ABI Platform
ynab_mcp-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 33.3 kB

Release files / ynab_mcp-0.1.4.tar.gz

Download URL ynab_mcp-0.1.4.tar.gz
Size 25.0 kB
Tags Source
SHA-256 checksum
How to use checksums
5869d8696c9660827da5362a9e32f0909509a3d9643b668907d859d2b56f9503
BLAKE2b-256 checksum
How to use checksums
4a25fdf2e005c1dfb7b8c00079f4196fef2dde9debf6aae3e5a9b7dc5fb220e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.23

Release files / ynab_mcp-0.1.4-py3-none-any.whl

Download URL ynab_mcp-0.1.4-py3-none-any.whl
Size 8.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
48417448e696c2ff06918b4def7ba69bc06f9118366a84d8fb54710fc419ed96
BLAKE2b-256 checksum
How to use checksums
f07808d08050b5940de0ff45340dd001cca2c518fa437cbecd425f29da00201e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.23

Security for ynab-mcp 0.1.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page