About ynab-mcp-server
ynab-mcp-server is a hosted remote MCP server on Cloudflare Workers for YNAB users who want to query and manage budgets through ChatGPT or Claude. It uses OAuth and includes budgeting workflows and read-only analytics tools.
Key features
- 01Connect a YNAB account with OAuth
- 02Read budgets, balances, and transactions
- 03Manage categories, goals, and scheduled transactions
- 04Run budget allocation workflows
- 05Analyze spending, cash flow, and net worth
Use cases
- 01Check account balances and category amounts
- 02Find and approve pending transactions
- 03Address overspending or allocate funds by goals
- 04Review spending trends and cash flow
MCP support
The hosted MCP server exposes YNAB tools and resources to ChatGPT and Claude; users authorize account access through OAuth.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://mcpforynab.smirnovlabs.com/mcpclaude mcp add --transport http com-smirnovlabs-ynab https://mcpforynab.smirnovlabs.com/mcp{"mcpServers":{"com-smirnovlabs-ynab":{"type":"http","url":"https://mcpforynab.smirnovlabs.com/mcp"}}}Open in Cursor{"servers":{"com-smirnovlabs-ynab":{"type":"http","url":"https://mcpforynab.smirnovlabs.com/mcp"}}}Open in VS Code{"mcpServers":{"com-smirnovlabs-ynab":{"type":"http","url":"https://mcpforynab.smirnovlabs.com/mcp"}}}{"mcpServers":{"com-smirnovlabs-ynab":{"serverUrl":"https://mcpforynab.smirnovlabs.com/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMEynab-mcp-server
Connect YNAB to ChatGPT or Claude with a hosted MCP server.
Use this if you want your AI assistant to read and manage your YNAB plans, categories, transactions, and goals — and review balances and net worth — after you sign in with your own YNAB account.
What You Need
- a YNAB account
- the hosted MCP URL:
https://mcpforynab.smirnovlabs.com/mcp - ChatGPT or Claude with support for custom MCP connectors
Quick Start
- Get your hosted MCP URL.
- Add that URL in ChatGPT or Claude.
- Click Connect.
- Sign in with YNAB when prompted.
- Return to your chat and start asking YNAB questions.
On Claude, the Add to Claude button at the top covers steps 1 and 2. See Set Up in Claude.
Set Up in ChatGPT
These steps are for the ChatGPT web app.
As of March 25, 2026, OpenAI requires developer mode for custom MCP connectors.
Before you start
- You need a ChatGPT plan that supports custom MCP connectors.
- If you are on a workspace plan, your admin may need to enable developer mode first.
- You need this hosted MCP URL:
https://mcpforynab.smirnovlabs.com/mcp.
Step-by-step
- Open
chatgpt.com. - Open Settings.
- Enable developer mode if it is not already enabled.
- Go to Apps or Connectors and choose to create a custom app or connector.
- Paste your hosted MCP URL.
- Choose OAuth if ChatGPT asks for an authentication method.
- Save or create the connector.
- Start a new chat.
- Open the tools menu and enable the new connector.
- When redirected, sign in with YNAB and approve access.
- Return to ChatGPT and send a test prompt.
Good first prompts
Show me the balances of all my plan accounts.List my plan categories with available amounts.Find my most recent grocery transactions.What were my largest spending categories last month?
Set Up in Claude
These steps are for claude.ai.
As of October 25, 2026, Claude keeps custom connectors under Customize > Connectors.
Before you start
- Free, Pro, Max, Team, and Enterprise plans support custom connectors. The Free plan allows one.
- The hosted MCP URL is
https://mcpforynab.smirnovlabs.com/mcp. The Add to Claude button fills it in for you. - On Claude Team or Enterprise, an organization Owner adds the connector first.
Step-by-step for Claude Free, Pro, or Max
- Click Add to Claude at the top of this page.
- If prompted, sign in to Claude.
- Claude opens the
Add custom connectordialog with the fields filled in, plus a notice that the values came from an external link. Check that the name isYNABand the URL ishttps://mcpforynab.smirnovlabs.com/mcp. - If the dialog shows Authentication and OAuth client settings, choose
Sign in nowandRegister automatically. This server does not supportUse Claude's published identity. - Click
Add. - Click
Connect. - When redirected, sign in with YNAB and approve access.
- Start a new chat.
- Click
+, selectConnectors, and turn onYNAB. - Send a test prompt.
To add the connector by hand, go to Customize > Connectors and click Add custom connector. Enter the name YNAB and the hosted MCP URL, then continue from step 4.
Step-by-step for Claude Team or Enterprise
An organization Owner adds the connector once. Then each member connects their own YNAB account.
For the Owner:
- Open the organization install link. Claude opens the organization's
Add custom connectordialog with the name and URL filled in. - If the dialog shows Authentication and OAuth client settings, choose
Sign in nowandRegister automatically. - Click
Add.
To add it by hand, go to Organization settings > Connectors and select Add, then Custom. Enter the name YNAB and the hosted MCP URL, then continue from step 2.
For each member:
- Go to
Customize > Connectors. - Find the connector your Owner added. It has the
Customlabel. - Click
Connect. - When redirected, sign in with YNAB and approve access.
- Start a new chat.
- Click
+, selectConnectors, and turn on the connector. - Send a test prompt.
Good first prompts
Show me my current account balances in YNAB.What categories are overspent right now?Find transactions from Amazon in the last 30 days.Summarize my spending by category this month.
What Happens When You Connect
- ChatGPT or Claude connects to the hosted MCP URL.
- The MCP server sends you to YNAB sign-in.
- You approve access to your YNAB account.
- The service stores the OAuth tokens needed to make future YNAB requests on your behalf.
- Your assistant can then use YNAB tools and resources in chat.
Available Tools
Once connected, your assistant can use the tools below. Read tools only look at your data; Write tools change your budget (and ones marked delete remove data).
Budgets & setup
| Tool | What it does | Access |
|---|---|---|
ynab_list_budgets | List your YNAB budgets | Read |
ynab_budget_summary | Month summary of categories, balances, and accounts | Read |
ynab_set_default_budget | Remember a default budget so you don't name it every time | Setup |
Categories & goals
| Tool | What it does | Access |
|---|---|---|
ynab_list_categories | List category groups and categories with balances and goals | Read |
ynab_create_category | Create a category in a group | Write |
ynab_update_category | Rename a category, edit its note, or move it between groups | Write |
ynab_create_category_group | Create a category group | Write |
ynab_update_category_group | Rename a category group | Write |
ynab_set_category_goals | Create, update, or remove a category's goal | Write |
Transactions
| Tool | What it does | Access |
|---|---|---|
ynab_list_transactions | List and filter transactions by account, category, payee, or date | Read |
ynab_get_unapproved_transactions | List transactions waiting for approval | Read |
ynab_create_transaction | Add a transaction | Write |
ynab_update_transaction | Edit an existing transaction | Write |
ynab_approve_transaction | Approve one pending transaction | Write |
ynab_bulk_approve_transactions | Approve many pending transactions at once | Write |
ynab_delete_transaction | Delete a transaction | Write (delete) |
Scheduled (recurring) transactions
| Tool | What it does | Access |
|---|---|---|
ynab_list_scheduled_transactions | List scheduled/recurring transactions | Read |
ynab_create_scheduled_transaction | Schedule a future or recurring transaction | Write |
ynab_update_scheduled_transaction | Edit a scheduled transaction | Write |
ynab_delete_scheduled_transaction | Delete a scheduled transaction | Write (delete) |
Budgeting workflows
| Tool | What it does | Access |
|---|---|---|
ynab_move_funds_between_categories | Move budgeted dollars between categories | Write |
ynab_auto_distribute_funds | Allocate "Ready to Assign" money across categories by goal | Write |
ynab_handle_overspending | Cover overspent categories by moving funds | Write |
ynab_budget_from_history | Allocate based on historical spending | Write |
ynab_reconcile_account | Reconcile an account to a statement balance | Write |
Analytics & insights (read-only)
| Tool | What it does |
|---|---|
ynab_analyze_spending_patterns | Spot spending trends and anomalies |
ynab_goal_progress_report | Track progress toward category goals |
ynab_cash_flow_forecast | Project upcoming cash flow from history |
ynab_category_performance_review | Compare budgeted vs. actual by category |
ynab_net_worth_analysis | Summarize net worth across accounts |
YNAB API Coverage
How these tools line up with the official YNAB API (accessed through the ynab JavaScript SDK). ✅ = covered, ◐ = partial, — = not yet.
| YNAB API area | Covered | Tools / notes |
|---|---|---|
| Budgets (plans) | ✅ | ynab_list_budgets, ynab_budget_summary; plan settings are not exposed |
| Accounts | ◐ | Balances read via ynab_budget_summary, ynab_net_worth_analysis, ynab_reconcile_account; no create-account or standalone account list |
| Categories & groups | ✅ | List, create, and update categories and groups; goals; per-month funding |
| Months | ✅ | Surfaced through ynab_budget_summary and the analytics tools |
| Transactions | ✅ | List, create, update, delete, approve, bulk-approve (file import is not exposed) |
| Scheduled transactions | ✅ | List, create, update, delete |
| Payees | — | Referenced implicitly by name in the transaction tools; no list/update-payee tool |
| Payee locations | — | Not exposed |
| User | — | Identity is handled by OAuth; getUser is not exposed |
Beyond the raw API, this server adds composite tools that have no single API endpoint: the budgeting workflows (move funds, auto-distribute, handle overspending, budget from history, reconcile) and the analytics tools (spending patterns, goal progress, cash flow, category performance, net worth).
Troubleshooting
The connector does not appear in ChatGPT
- Confirm your plan supports custom MCP connectors.
- Confirm developer mode is enabled.
- If you are on a workspace plan, confirm your admin enabled the required settings.
The connector does not appear in Claude
- Confirm your plan supports remote MCP connectors.
- On Team or Enterprise, confirm your workspace owner added the connector first.
I connected, but YNAB tools are not working
- Disconnect and reconnect the connector.
- Make sure you completed the YNAB OAuth approval step.
- Start a fresh chat and re-enable the connector for that conversation.
The MCP URL is not working
- Make sure you pasted the full HTTPS URL.
- Do not remove the trailing
/mcpif your hosted URL includes it.
Privacy
This service uses OAuth to connect to your YNAB account. It does not ask for your YNAB password directly.
This app is not officially supported by YNAB in any way. Use it at your own risk.
Read the privacy policy here:
For Self-Hosting or Operators
If you are trying to deploy or host this service yourself, use CONTRIBUTING.md. This README is intentionally written for end users connecting the hosted service in ChatGPT or Claude.
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.