Access and Analyze YNAB Financial Data
An MCP server bridging YNAB budget data into AI assistants - budgets, categories, transactions, and financial analysis, kept local.
Why it matters
Securely connect AI assistants to your YNAB account to query budget details, analyze spending, and track financial goals.
Outcomes
What it gets done
Retrieve user and budget information.
Search and list financial transactions with custom filters.
Analyze income vs. expense summaries and recent activity.
Query account balances and category details.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-ynab | bash Capabilities
Tools your agent gets
Get your YNAB user ID
Get all budgets in your YNAB account
Detailed information about a specific budget
List of budget months
All categories in the budget
Detailed information about a category
Find transactions with customizable filters
Get transactions for a specific account
Overview
YNAB MCP Server
This MCP server exposes 13 tools for YNAB: budget and user metadata, category and transaction search, account and payee listing, and financial summaries like current-month snapshots and income versus expenses. Use it when an AI assistant needs to analyze real YNAB budget and spending data. The API token stays local and is never shared with third parties.
What it does
An MCP server, built with .NET 9, bridging YNAB (You Need A Budget) financial data into AI assistants, exposing tools across four areas: user and budget info (GetUserInfo, ListBudgets, GetBudgetDetails, GetBudgetMonths), categories and transactions (ListCategories, GetCategoryDetails, SearchTransactions with custom filters, ListAccountTransactions), accounts and payees (ListAccounts, ListPayees), and financial analysis (GetCurrentMonthSnapshot, GetRecentActivitySummary, GetIncomeVsExpenseSummary). It lets an AI assistant query budgets, analyze spending patterns, check account balances, track financial goals, and surface insights about spending habits - all while keeping the YNAB API token local and never shared with third parties, since the server runs on the user's own machine and uses the token only to talk directly to the YNAB API.
When to use - and when NOT to
Use it when an AI assistant needs to analyze real YNAB budget and spending data instead of giving generic financial advice - for example, checking the current month's budget snapshot or comparing income to expenses over time. It requires a YNAB account with API access and an MCP-compatible client such as Claude for Desktop or VS Code. It is not useful for budgeting tools outside the YNAB ecosystem.
Capabilities
13 tools spanning four areas: user and budget metadata (GetUserInfo, ListBudgets, GetBudgetDetails, GetBudgetMonths), category and transaction search and detail (ListCategories, GetCategoryDetails, SearchTransactions, ListAccountTransactions), account and payee listing (ListAccounts, ListPayees), and three financial-analysis summaries covering the current month, recent activity, and income versus expenses (GetCurrentMonthSnapshot, GetRecentActivitySummary, GetIncomeVsExpenseSummary). The server is designed to be extensible: new tools are added as methods in YnabTools.cs decorated with the McpServerTool and Description attributes, then picked up on rebuild.
How to install
npx -y @smithery/cli install @ChuckBryan/ynabmcpserver --client claude
Alternatively, install directly in VS Code via the provided "Install in VS Code" or "Insiders" buttons, which configure a Docker-based server and prompt for the YNAB API token on first run, started by pressing F5 or using the Run menu. A local build requires either Docker or the .NET 9 SDK. The required environment variable is YNAB_API_TOKEN.
Who it's for
YNAB users who want an AI assistant to analyze their real budget and spending data conversationally - checking balances, reviewing categorized transactions, or comparing income to expenses - without exposing their YNAB API token beyond their own machine. The project is open source under the MIT License, uses semantic-release for automated versioning, ships as a multi-platform Docker image (linux/amd64 and linux/arm64), and is straightforward to extend with new YNAB API endpoints as needs grow over time.
Source README
YNAB MCP Server
A Model Context Protocol (MCP) server for integrating YNAB (You Need A Budget) with AI systems. This project allows AI assistants to securely access and analyze your YNAB financial data.
What is MCP?
The Model Context Protocol (MCP) is a standard that allows AI assistants to interact with external tools and services. It enables AI models like Claude to:
- Access real-time data beyond their training cutoff date
- Call functions in external systems
- Interact with APIs securely
- Provide contextual analysis based on your personal data
Instead of just answering based on general knowledge, MCP allows AI to work with your specific information.
About YNAB MCP Server
This project creates a secure bridge between your YNAB financial data and AI assistants. It allows you to:
- Query your budget information
- Analyze spending patterns
- Check account balances
- Track financial goals
- Get insights about your financial habits
All while keeping your YNAB API token secure and your financial data private.
Features
This MCP server implements a comprehensive set of tools for interacting with the YNAB API:
User and Budget Information
GetUserInfo- Retrieve your YNAB user IDListBudgets- Get all budgets in your YNAB accountGetBudgetDetails- Detailed information about a specific budgetGetBudgetMonths- List budget months
Categories and Transactions
ListCategories- All categories in a budgetGetCategoryDetails- Detailed information about a categorySearchTransactions- Find transactions with custom filtersListAccountTransactions- Get transactions for a specific account
Accounts and Payees
ListAccounts- Get all accounts in a budgetListPayees- Get all payees in a budget
Financial Analysis
GetCurrentMonthSnapshot- Summary of the current month's budgetGetRecentActivitySummary- Summary of recent financial activityGetIncomeVsExpenseSummary- Compare income to expenses over time
Getting Started
Prerequisites
- YNAB Account with API access
- An MCP-compatible client (e.g., Claude for Desktop)
- Either:
- Docker (for Docker installation)
- .NET 9 SDK (for local installation)
Installation
Installing via Smithery
To install YNAB Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @ChuckBryan/ynabmcpserver --client claude
Click one of these buttons to automatically install the YNAB MCP Server in VS Code:
This will:
- Configure VS Code to use the YNAB MCP Server Docker image
- Prompt you for your YNAB API token when needed
- Allow you to start the server with F5 or the Run menu
Once installed, you can start the server by pressing F5 in VS Code or using the Run menu. When prompted, enter your YNAB API token and the server will start automatically in a Docker container.
Available Environment Variables
YNAB_API_TOKEN: Your YNAB API token (required)
Security
This MCP server runs locally on your machine and does not share your YNAB API token with third parties. The API token is only used to communicate directly with the YNAB API.
Development
Project Structure
YnabMcpServer/
├── .vscode/ # VS Code configuration
├── docs/ # Documentation
├── requests/ # HTTP request samples for testing
├── scripts/ # Utility scripts
└── src/ # Source code
└── YnabMcpServer/ # Main project
├── Configuration/ # Configuration classes
├── Generated/ # Generated API client code
├── Services/ # Service implementations
├── Tools/ # MCP tool implementations
└── Program.cs # Application entry point
Extending the Server
To add new MCP tools:
- Add new methods to
YnabTools.cs - Decorate them with
[McpServerTool]and[Description]attributes - Rebuild and restart the server
Versioning and Release Process
This project uses semantic-release for automated versioning and releases. See VERSIONING.md for details on the commit message format and release process.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.