MCP YNAB Server

MCP YNAB Server

An MCP server implementation that provides access to YNAB (You Need A Budget) functionality through the Model Context Protocol.

Features

  • View account balances and transactions
  • Create new transactions
  • Access YNAB data through standardized MCP resources

Installation

uv pip install -e .

Configuration

The server requires a YNAB API key to function. You can obtain one from your YNAB Developer Settings.

The API key can be provided through:

  1. Environment variable: YNAB_API_KEY=your_api_key
  2. MCP secret management system
  3. .env file in project root

Usage

Running the Server

# Development mode with hot reload and browser launch task dev # Production install for Claude Desktop, Goose, or any other MCP-supported environment task install

Available Resources

  • ynab://accounts - List all YNAB accounts
  • ynab://transactions/{account_id} - Get recent transactions for a specific account

Available Tools

  • create_transaction - Create a new transaction
  • get_account_balance - Get the current balance of an account

Example Usage

# Create a new transaction result = await create_transaction( account_id="your_account_id", amount=42.50, # in dollars payee_name="Coffee Shop", category_name="Dining Out", memo="Morning coffee" ) # Get account balance balance = await get_account_balance("your_account_id") # List accounts accounts = await ctx.read_resource("ynab://accounts") # Get recent transactions transactions = await ctx.read_resource(f"ynab://transactions/{account_id}")

Development

# Install dependencies (uses uv) task deps # Run all tests including integration tests (you will need a YNAB API key for this) task test:all # Generate coverage report task coverage # Format and lint code task fmt # Should add this to Taskfile

Project Tasks

This project uses a Taskfile for common operations. Key commands:

task dev # Start dev server with auto-reload task test # Run unit tests task coverage # Generate test coverage report task install # Install production build task deps # Synchronize dependencies

See Taskfile.yml for all available tasks.

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

An MCP server that allows users to interact with YNAB data, enabling access to account balances, transactions, and the creation of new transactions through the Model Context Protocol.

  1. Features
    1. Installation
      1. Configuration
        1. Usage
          1. Running the Server
            1. Available Resources
              1. Available Tools
              2. Example Usage
                1. Development
                  1. Project Tasks