
You Need A Budget (YNAB) MCP
An MCP to give AI agents extensive knowledge of your personal finances and control of your budgeting.
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
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
- Platform-Specific Setup
- Configuration
- Available Tools
- Usage Examples
- Development
- Contributing
- License
🚀 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
-
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
- MacOS:
-
Add the YNAB MCP server configuration:
{
"mcpServers": {
"ynab-mcp": {
"command": "uvx",
"args": ["ynab-mcp-server"],
"env": {
"YNAB_PAT": "your_token_here"
}
}
}
}
Goose
- Open Goose settings
- Navigate to the MCP Servers section
- Add a new server with:
- Name:
ynab-mcp
- Command:
uvx ynab-mcp-server
- Environment Variables:
- YNAB_PAT: your_token_here
- Name:
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
-
Get Your YNAB Token
- Go to YNAB Developer Settings
- Create a new Personal Access Token
- Copy the token value
-
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
-
Clone the repository:
git clone https://github.com/yourusername/ynab-mcp-server.git cd ynab-mcp-server
-
Install dependencies:
uv sync
-
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:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - 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
- YNAB API for providing the core functionality
- Model Context Protocol for enabling AI assistant integration
Recommended Servers
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.
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.
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.

VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.

E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.