You Need A Budget (YNAB) MCP

You Need A Budget (YNAB) MCP

An MCP to give AI agents extensive knowledge of your personal finances and control of your budgeting.

Category
Visit Server

Tools

list-budgets

List all available YNAB budgets

list-accounts

List all accounts for a given budget

list-transactions

List transactions for a given account

list-monthly-transactions

List all transactions for a given month, across all accounts.

list-categories

List all categories for a given budget, including their budgeted amounts, activity, and goals.

list-payees

List all payees for a given budget

rename-payees

Update multiple payees to a single new name. This is useful for cleaning up and merging similar payees.

move-budget-amount

Move a specific amount from one category to another in a given month.

assign-budget-amount

Assign a specific amount to a category for a given month

update-transactions

Update one or more transactions with new categories, payees, memos, etc.

list-scheduled-transactions

List all scheduled transactions for a given budget.

get-financial-overview

Get the current financial overview including account balances, goals, and notes

update-financial-overview-section

Update a specific section of the financial overview

refresh-financial-overview

Automatically refresh the financial overview with latest data from YNAB

README

YNAB MCP Server

PyPI version License: MIT

A Model Context Protocol (MCP) server for seamless integration with You Need A Budget (YNAB). This server enables AI assistants to interact with your YNAB budgets, providing powerful automation and analysis capabilities.

📦 Quick Installation (Claude Desktop)

{
  "mcpServers": {
    "ynab-mcp": {
      "command": "uvx",
      "args": ["ynab-mcp-server"],
      "env": {
        "YNAB_PAT": "your_token_here"
      }
    }
  }
}

🌟 Features

  • 📊 Complete Budget Management

    • View and manage multiple budgets
    • Track account balances and transactions
    • Monitor category spending and goals
  • 💰 Transaction Control

    • List and search transactions
    • Update transaction details
    • Manage payees and categories
  • 📈 Financial Analysis

    • Get comprehensive financial overviews
    • Track spending patterns
    • Monitor budget progress

📋 Table of Contents

🚀 Installation & Usage

No installation needed when using uvx:

# Run directly (recommended)
uvx ynab-mcp-server

# Or with specific version
uvx ynab-mcp-server@0.1.1

For development:

# Clone and run from source
git clone https://github.com/yourusername/ynab-mcp-server.git
cd ynab-mcp-server
uv run ynab-mcp-server

🔧 Platform-Specific Setup

Claude Desktop

  1. Locate your configuration file:

    • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%/Claude/claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  2. Add the YNAB MCP server configuration:

{
  "mcpServers": {
    "ynab-mcp": {
      "command": "uvx",
      "args": ["ynab-mcp-server"],
      "env": {
        "YNAB_PAT": "your_token_here"
      }
    }
  }
}

Goose

  1. Open Goose settings
  2. Navigate to the MCP Servers section
  3. Add a new server with:
    • Name: ynab-mcp
    • Command: uvx ynab-mcp-server
    • Environment Variables:
      • YNAB_PAT: your_token_here

Other Platforms

For other MCP-compatible platforms, configure using these parameters:

  • Server Name: ynab-mcp
  • Command: uvx
  • Arguments: ynab-mcp-server
  • Required Environment Variable: YNAB_PAT

⚙️ Configuration

  1. Get Your YNAB Token

  2. Set Up Environment

    Create a .env file in your working directory:

    YNAB_PAT="your_token_here"
    

    Or set the environment variable directly:

    export YNAB_PAT="your_token_here"
    

🛠️ Available Tools

Budget Management

Tool Description
list-budgets List all available YNAB budgets
list-accounts List all accounts for a given budget
list-categories List categories with budgeted amounts

Transaction Management

Tool Description
list-transactions List account transactions
list-monthly-transactions List transactions by month
update-transactions Update transaction details

Financial Overview

Tool Description
get-financial-overview Get current financial status
refresh-financial-overview Update overview with latest data

Budget Planning

Tool Description
move-budget-amount Transfer between categories
assign-budget-amount Set category budget

📝 Usage Examples

Basic Budget Overview

# List all budgets
result = await handle_call_tool("list-budgets", {})

# View current month's transactions
result = await handle_call_tool("list-monthly-transactions", {
    "month": "2024-03-01"
})

Category Management

# Move funds between categories
result = await handle_call_tool("move-budget-amount", {
    "month": "2024-03-01",
    "from_category_id": "11111111-2222-3333-4444-555555555555",  # Example: Dining Out
    "to_category_id": "66666666-7777-8888-9999-000000000000",    # Example: Groceries
    "amount": 5000  # $50.00 (amounts are in milliunits)
})

Transaction Updates

# Update transaction details
result = await handle_call_tool("update-transactions", {
    "transactions": [{
        "id": "12345678-90ab-cdef-ghij-klmnopqrstuv",  # Example UUID
        "category_id": "98765432-fedc-ba98-7654-321012345678",  # Example category UUID
        "memo": "Updated grocery shopping description"
    }]
})

🔨 Development

Local Setup

  1. Clone the repository:

    git clone https://github.com/yourusername/ynab-mcp-server.git
    cd ynab-mcp-server
    
  2. Install dependencies:

    uv sync
    
  3. Run the server:

    uv run ynab-mcp-server
    

Debugging

Use the MCP Inspector for debugging:

npx @modelcontextprotocol/inspector uvx ynab-mcp-server

For local development debugging:

cd path/to/ynab-mcp-server
npx @modelcontextprotocol/inspector uv run ynab-mcp-server

You can also view logs with:

tail -n 20 -f ~/Library/Logs/Claude/mcp*.log

Building and Publishing

# Build package
uv build

# Publish to PyPI
uv publish

👥 Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please ensure your PR:

  • Follows the existing code style
  • Includes appropriate tests
  • Updates documentation as needed

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured