Skip to main content

py-ynab-mcp

A Model Context Protocol server for YNAB (You Need A Budget). Talk to your budget from Claude, Cursor, or any MCP client.

Features

  • Query budgets, accounts, categories, transactions, payees, and months
  • Get single-resource details (account, category, payee, transaction)
  • Create, update, and delete transactions (single and bulk)
  • Create categories; update or clear targets, metadata, and budgets
  • Rename payees
  • Manage scheduled transactions (full CRUD)
  • Budget settings and user info

Install

uvx py-ynab-mcp

Or with pip:

pip install py-ynab-mcp

Setup

  1. Get a YNAB Personal Access Token
  2. Add to your MCP client config:
{
  "mcpServers": {
    "ynab": {
      "command": "uvx",
      "args": ["py-ynab-mcp"],
      "env": {
        "YNAB_ACCESS_TOKEN": "your-token-here"
      }
    }
  }
}

Why this project?

There are several YNAB MCP servers out there:

Project Language License
calebl/ynab-mcp-server TypeScript MIT
mattweg/ynab-mcp JavaScript MIT
chrisguidry/you-need-an-mcp Python No license
py-ynab-mcp Python MIT

We wanted an MIT-licensed Python implementation with full API coverage and thorough test coverage. At the time of writing, the only Python option had no OSS license, so we built this one.

YNAB API Coverage

Read

  • User info, budget settings
  • Budgets, accounts, categories, payees, months (list and single)
  • Transactions with filtering by account, category, or payee
  • Scheduled transactions (list and single)

Write

  • Create, update, delete transactions (single and bulk)
  • Create categories; update or clear targets, metadata, and budgets
  • Rename payees
  • Create, update, delete scheduled transactions

Not available in YNAB API

  • Create/delete budgets or accounts; delete categories
  • Create/delete payees (auto-created via transactions)
  • Transaction import

Development

# Clone and install
git clone https://github.com/duganth/py-ynab-mcp.git
cd py-ynab-mcp
uv sync

# Run tests
uv run pytest

# Lint and type check
uv run ruff check .
uv run mypy src/

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_ynab_mcp-0.3.0.tar.gz (125.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py_ynab_mcp-0.3.0-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

Details for the file py_ynab_mcp-0.3.0.tar.gz.

File metadata

  • Download URL: py_ynab_mcp-0.3.0.tar.gz
  • Upload date:
  • Size: 125.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for py_ynab_mcp-0.3.0.tar.gz
Algorithm Hash digest
SHA256 6cb47749305d945bfa4d6471b7acc7cc860500879363b30134483e97271bde53
MD5 8aea9735a6e517e0a20942cb1228008a
BLAKE2b-256 586e7b17f7e7044697d5f7108c5d14bb69d2d86641e060219e663615c0bfcf80

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_ynab_mcp-0.3.0.tar.gz:

Publisher: publish.yml on duganth/py-ynab-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_ynab_mcp-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: py_ynab_mcp-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 23.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for py_ynab_mcp-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8ac6caa95ceb6518c86031c3f3aa148e937c6dd6696536bb6f6a206dd7b263a5
MD5 85dc4a8e18fb3af08306a9f6103fbba4
BLAKE2b-256 5a9eea6788329051c5f57c756500fbb23ecbbaaf8a1d965149e38c2b2057b249

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_ynab_mcp-0.3.0-py3-none-any.whl:

Publisher: publish.yml on duganth/py-ynab-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 files

0.2.1

2 files

0.2.0

2 files

0.1.0

2 files

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