About MCP YNAB Server π°
MCP YNAB Server is a TypeScript bridge to the YNAB API for people using Cursor or other MCP clients to work with budget data. Its tools cover budget and account queries, transaction filtering, summaries, and transaction creation.
Key features
- 01List budgets and accounts
- 02Retrieve account balances
- 03Browse categories and category details
- 04View monthly budget summaries
- 05Filter budget transactions
- 06Create regular or split transactions
Use cases
- 01Inspect budgets and account balances
- 02Review monthly category and budget data
- 03Find transactions by account, category, or date
- 04Record a transaction from an MCP client
MCP support
The MCP server exposes YNAB API operations as tools for Cursor and other MCP clients, including reading and writing financial data.
Configuration
Local server config is the same for every client. Copy it into your clientβs MCP config file.
We havenβt collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP YNAB Server π°
Welcome to the MCP server for YNAB (TypeScript version)! π This project allows you to connect Cursor (or another MCP client) to your You Need A Budget (YNAB) account to interact with your financial data directly from your editor.
1. What is this? π€ (Purpose)
This is an implementation of the Model Context Protocol (MCP) in TypeScript that acts as a bridge to the official YNAB API. The goal is to provide standardized tools for reading and writing YNAB data from MCP-compatible environments, allowing AI assistants like Cursor's to help you with your finances.
2. Available Tools π οΈ
This server provides the following tools, each with its own detailed documentation:
listBudgets: Lists your available budgets.listAccounts: Lists accounts within a specified budget.getAccountBalance: Fetches the current balance for a specific account.listCategories: Lists categories within a specified budget.getCategoryInfo: Gets detailed information about a specific category for a given month.getBudgetSummary: Provides a budget summary (income, budgeted, activity) for a specific month.listTransactions: Lists transactions for a budget, with filtering options (by account, category, date, etc.).createTransaction: Creates a new transaction or split transaction within a budget.
See each tool's README.md for detailed information on arguments, output, and usage context.
3. Setup π
-
Clone the Repository:
# git clone https://github.com/Bulletninja/mcp-ynab # If you haven't already cd mcp-ynab -
Install Dependencies:
npm install -
Configure Your YNAB API Token: You need a Personal Access Token from YNAB. The recommended and tested way for Cursor integration is:
- Edit your global Cursor configuration file
~/.cursor/mcp.json. - Add or modify the entry for
mcp-ynab, ensuring thecommand,args,cwd, andenvare correct:{ "mcpServers": { // ... other servers ... "mcp-ynab": { "command": "node", // π Path to the compiled script "args": ["<path-to-your-project>/mcp-ynab/dist/server.js"], "cwd": "<path-to-your-project>/mcp-ynab", // Path to this project "enabled": true, "env": { // π Your YNAB token here, with the correct name! "YNAB_API_TOKEN": "YOUR_YNAB_TOKEN_HERE" } } // ... other servers ... } } - Alternative (requires code modification): You could use a
.envfile in the project root, but you would need to uncomment thedotenvlogic insrc/server.tsand ensure it doesn't interfere with server mode.
- Edit your global Cursor configuration file
-
Compile the Code:
npm run build
4. Usage with Cursor π‘
- Ensure the configuration in
~/.cursor/mcp.jsonis correct and"enabled": true. - Restart Cursor to load the updated configuration and launch the server.
- Done! In Cursor's MCP settings, you should see
mcp-ynabwith a green dot and the list of available tools. - You can now ask the AI assistant to use the tools:
- "List my YNAB budgets"
- "Use
mcp_ynab_list_accountswith budget_id 'last-used'" - "What's the balance of my account X (ID: YYY) in budget Z?" (Might use
mcp_ynab_get_account_balance)
5. Development π§βπ»
- Run server in development mode (with hot-reload):
npm run dev - Run tests:
npm test - Compile for production/MCP:
npm run build - CLI Mode (Commented Out): The logic to run commands like
node dist/server.js list-budgetsis commented out insrc/server.tsbecause it interfered with Cursor's MCP server mode. You can uncomment it for local testing if needed, but remember to comment it back out and recompile for Cursor integration.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.