YNAB Conversation MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@YNAB Conversation MCPMove $40 from dining out to groceries."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
YNAB Conversation MCP
Talk through your budget. Put the changes into YNAB.
Connect Claude or Codex to your YNAB plan with Model Context Protocol. Review spending, assign money, move funds between categories, and update transactions as you talk.
Run it on your computer, or deploy your own private Cloudflare endpoint that stays available when your laptop is off.
“Help me budget this month. Start with what's available and which categories need attention.”
“Move $40 from dining out to groceries.”
“Find my uncategorized transactions and help me categorize them.”
Example prompts only—no personal budget data is included in this repository.
Choose your setup
On your computer | On Cloudflare | |
Connection | Local stdio | Remote HTTP with OAuth |
Clients | Claude Code, Claude Desktop, Codex | Clients that support remote MCP and OAuth |
Availability | While the local server can run | Independent of your laptop |
Credentials | Local | Cloudflare secrets + separate connector password |
Get started |
The Cloudflare deployment is for one owner and one YNAB token. Each person should deploy their own instance. This is an independent community project, not affiliated with YNAB, Anthropic, or OpenAI.
Related MCP server: YNAB MCP Server
Local installation
You'll need Node.js 22 or newer, pnpm 11.24.0 (the version pinned in this project), and a YNAB personal access token. See pnpm installation if needed.
git clone https://github.com/itsRoze/ynab-mcp.git
cd ynab-mcp
pnpm install --frozen-lockfile
pnpm run build
pnpm run setup
pnpm run doctor
pnpm run configCreate a token in YNAB → Account Settings → Developer Settings. Enter it at the hidden
setupprompt, not in an agent conversation.doctorverifies authentication with a read-only call; it does not print your financial data.configoffers a menu for Codex, Claude Code, both, or Claude Desktop, and installs the configuration for you. Restart your client or start a new session afterward.
The setup command saves your token in a Git-ignored .env file with owner-only permissions and refuses to overwrite it. Client configuration references that file rather than copying the token. Desktop configuration is backed up before changes.
Prefer a direct command? Use pnpm run config --client codex, --client claude, --client both, or --client desktop. Use pnpm run config --print codex to inspect manual configuration. If you move the checkout or your Node installation, rerun configuration.
Read-only local mode: set YNAB_READ_ONLY=true in .env to omit write tools. Writes are otherwise enabled. The hosted deployment currently exposes both read and write tools.
Use it from anywhere
The guide covers account setup, OAuth storage, secret installation, connecting clients, updates, and troubleshooting. Once deployed, your client connects to your own URL:
https://YOUR_WORKER.YOUR_SUBDOMAIN.workers.dev/mcpThe YNAB token stays on the server. Sign in using a separate generated connector password. Remote client availability, including mobile, depends on the client's custom connector support and your account.
What it can do
Understand your budget: plans, accounts, categories, targets, monthly totals, and Ready to Assign.
Find spending: transactions by date and filters, individual transaction details, and upcoming scheduled transactions.
Budget together: set monthly assigned amounts and move available money between categories.
Keep things tidy: create or update transactions; change category names, notes, and target amounts.
Full tool reference and write behavior →
Amounts use exact decimal strings in your plan's currency. Budget changes check fresh assignments before writing, and transaction creation supports retry deduplication. Client permissions still apply; the server itself does not add a confirmation dialog.
Know the limits: moving money requires two YNAB writes and can partially succeed. An uncertain write is never automatically retried. Avoid simultaneous edits across clients and the YNAB app. Transaction deletion, split editing, scheduled-transaction editing, and advanced target cadence editing are not supported.
Privacy
Your token is sent only to the official YNAB API over HTTPS; redirects are rejected. Financial responses are not persisted by this server. Local mode has no telemetry. Cloudflare mode stores OAuth grants and consent state and enables sampled operational logs/traces, without application logging of tokens, passwords, request bodies, or financial results.
Your AI provider receives the tool results it requests. Keep .env, .env.remote, wrangler.private.json, and local runtime files private; they are excluded from Git. Never attach real budget exports or credentials to issues.
Development
pnpm install --frozen-lockfile
pnpm test # Build, unit tests, and stdio MCP integration
pnpm run check:worker # Worker type checking
pnpm run test:remote # Local Workers runtime: OAuth + MCP integration
pnpm pack --dry-run # Inspect package contentsTests use synthetic data and run without YNAB credentials. CI checks Node.js 22 and 24. See CONTRIBUTING.md for the development workflow and SECURITY.md for private vulnerability reporting.
Directory | Purpose |
| YNAB API client, money conversion, MCP tools, stdio entry point |
| Cloudflare transport, owner login, request coordination |
| Setup, client configuration, deployment, diagnostics |
| Synthetic API, protocol, and authentication tests |
License & references
MIT. Source installation is supported; no published npm package is required.
YNAB API · MCP · Claude Code MCP · Codex MCP
“Plan” and “budget” refer to the same YNAB concept here.
This server cannot be deployed
Maintenance
Related MCP Connectors
Chat with your bank data: balances, transactions, budgets, bills. Reads only, never moves money.
Track budgets from your AI chat: envelopes, monthly limits, variance reports. All data is local.
Personal finance by conversation: expenses, receipts, statement import, budgets, net worth.
- Era ContextOAuthapp.era
Personal finance, bank account, and shared memory connector for Claude, ChatGPT, Gemini Spark & more
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables interaction with You Need A Budget (YNAB) through their API, allowing users to manage budgets, accounts, categories, transactions, payees, and scheduled transactions through natural language.1210 npm1GPL 3.0
- FlicenseAqualityCmaintenanceEnables users to manage budgets, accounts, categories, and transactions on You Need A Budget (YNAB) through Claude. It supports both core daily budget management and extended operations like bulk transaction creation and historical trend analysis.152-
- AlicenseAqualityBmaintenanceEnables AI assistants to interact with YNAB budgets, performing read-only queries by default and optional write operations like creating transactions and managing categories through natural language.39223 npm33MIT
- AlicenseAqualityBmaintenanceEnables reading and writing YNAB budget data, such as listing budgets, accounts, categories, transactions, and creating or updating transactions, through natural language commands.8MIT