Skip to main content
Glama

You Need A Budget (YNAB) MCP

by Jtewen
MIT License
1
  • Apple
  • Linux

YNAB MCP Server

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 EnvironmentCreate 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

ToolDescription
list-budgetsList all available YNAB budgets
list-accountsList all accounts for a given budget
list-categoriesList categories with budgeted amounts

Transaction Management

ToolDescription
list-transactionsList account transactions
list-monthly-transactionsList transactions by month
update-transactionsUpdate transaction details

Financial Overview

ToolDescription
get-financial-overviewGet current financial status
refresh-financial-overviewUpdate overview with latest data

Budget Planning

ToolDescription
move-budget-amountTransfer between categories
assign-budget-amountSet 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

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    An MCP server that lets AI assistants interact with your Lunchmoney data, enabling natural language queries about transactions, budgets, and spending patterns.
    Last updated -
    4
    3
    8
    TypeScript
    MIT License
  • -
    security
    A
    license
    -
    quality
    An MCP server that helps AI assistants manage expense-sharing for social events, enabling the creation of gatherings, tracking of expenses, and calculation of fair reimbursements among participants.
    Last updated -
    Python
    Apache 2.0
  • A
    security
    F
    license
    A
    quality
    An MCP server that transforms AI assistants into personal chefs by providing recipe recommendations and meal planning features based on the HowToCook repository.
    Last updated -
    4
    389
    478
    TypeScript

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Jtewen/ynab-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server