io.github.dizzlkheinz/ynab-mcpb

编码与调试

by dizzlkheinz

面向 YNAB(You Need A Budget)的 MCP 服务器,可管理预算、账户、交易与分类等数据。

什么是 io.github.dizzlkheinz/ynab-mcpb

面向 YNAB(You Need A Budget)的 MCP 服务器,可管理预算、账户、交易与分类等数据。

README

<div align="center">

YNAB MCP Server

Connect YNAB to any AI assistant. Manage your budget in plain English.

Download MCPB npm License: AGPL v3 Node.js

</div>

Demo

<div align="center"> <img src="docs/assets/demo/receipt-itemization-demo-lite.gif" alt="Receipt itemization demo" width="820" /> <br/> <sub>Paste a receipt &rarr; itemized split transaction in seconds</sub> </div>

What you can do

WorkflowExample prompt
Receipt split"Create a split transaction for this receipt and allocate tax."
Bank reconciliation"Reconcile my checking account using this CSV."
Spending analysis"What did I spend on takeout this month?"
Scheduled cash flow"What scheduled bills and income are due this month?"
Transaction creation"Create a transaction: $42.18 at Trader Joe's yesterday."
Month overview"Show my budget summary for January."

How it works

mermaid
graph LR
    U(You) -->|Plain English| C[Claude Desktop<br/>or any MCP client]
    C -->|MCP protocol| S[YNAB MCP Server<br/>35 tools]
    S -->|YNAB API| Y[(Your Budget)]

    style S fill:#2563EB,color:#fff,stroke:#1d4ed8
    style Y fill:#16a34a,color:#fff,stroke:#15803d
    style C fill:#7c3aed,color:#fff,stroke:#6d28d9

Features

  • Receipt itemization — Paste a receipt, get an itemized split transaction with tax allocation automatically distributed across line items.
  • Bank reconciliation (beta) — Import a bank CSV, fuzzy-match against YNAB, detect missing or mismatched transactions, and apply bulk fixes.
  • 35 YNAB tools — Full coverage plus scheduled transactions and deterministic period analytics.
  • Write safety by default — Preview mode requires a short-lived, single-use confirmation bound to the exact validated request.
  • Smaller tool profiles — Choose core, read-only, or full at startup without dynamic registration.
  • Delta sync — Fetches only changed data since the last request, keeping things fast.
  • Markdown or JSON — All read tools support response_format: human-readable markdown tables (default) or structured JSON.
  • MCP-native — Structured outputs, annotations, completions API, and resource templates.

How reconciliation works

<details> <summary>Show workflow diagram</summary>
mermaid
sequenceDiagram
    participant You
    participant Claude
    participant MCP as YNAB MCP Server
    participant YNAB

    You->>Claude: "Reconcile my checking<br/>with this CSV"
    Claude->>MCP: reconcile_account(csv_data)
    MCP->>YNAB: Fetch transactions
    YNAB-->>MCP: YNAB transactions
    MCP->>MCP: Parse CSV<br/>Fuzzy-match payees & dates<br/>Detect missing / mismatched
    MCP-->>Claude: Matches + recommendations
    Claude->>You: "Found 47 matches, 3 missing.<br/>Apply changes?"
    You->>Claude: "Yes"
    Claude->>MCP: Apply recommended changes
    MCP->>YNAB: Create / update transactions
    MCP-->>Claude: Done
    Claude->>You: "3 transactions created,<br/>account reconciled."
</details>

Setup (2 minutes)

1 — Get a YNAB token

  1. Open YNAB Web App
  2. Go to Account Settings → Developer Settings → New Token
  3. Copy it (shown once only)

2 — Install

<details> <summary><strong>Claude Desktop — MCPB file (recommended)</strong></summary>
  1. Download the latest .mcpb from Releases
  2. Drag it into Claude Desktop
  3. Enter your YNAB_ACCESS_TOKEN when prompted
  4. Restart Claude Desktop
</details> <details> <summary><strong>Claude Desktop — npx</strong></summary>

Add to your Claude Desktop config:

json
{
  "mcpServers": {
    "ynab": {
      "command": "npx",
      "args": ["-y", "@dizzlkheinz/ynab-mcpb@latest"],
      "env": {
        "YNAB_ACCESS_TOKEN": "your-token-here"
      }
    }
  }
}
</details> <details> <summary><strong>Cline (VS Code)</strong></summary>
json
{
  "mcpServers": {
    "ynab": {
      "command": "npx",
      "args": ["-y", "@dizzlkheinz/ynab-mcpb@latest"],
      "env": {
        "YNAB_ACCESS_TOKEN": "your-token-here"
      }
    }
  }
}
</details> <details> <summary><strong>Codex</strong></summary>
toml
[mcp_servers.ynab-mcpb]
command = "npx"
args = ["-y", "@dizzlkheinz/ynab-mcpb@latest"]
env = {"YNAB_ACCESS_TOKEN" = "your-token-here"}
startup_timeout_sec = 120
</details> <details> <summary><strong>Any other MCP client</strong></summary>
  • Command: npx
  • Args: ["-y", "@dizzlkheinz/ynab-mcpb@latest"]
  • Env: YNAB_ACCESS_TOKEN=<your token>
</details>

3 — Try these prompts

code
List my budgets and set the default to my main budget.
Show recent transactions in my checking account.
How much did I spend on groceries in the last 30 days?
Create a transaction: $42.18 at Trader Joe's yesterday.

Tools (35)

<details> <summary>See all tools by category</summary>
CategoryTools
Budgetslist_budgets get_budget get_default_budget set_default_budget
Accountslist_accounts get_account create_account
Transactionslist_transactions get_transaction create_transaction create_transactions update_transaction update_transactions delete_transaction export_transactions compare_transactions create_receipt_split_transaction
Categorieslist_categories get_category update_category
Payeeslist_payees get_payee
Monthslist_months get_month
Reconciliationreconcile_account
Scheduled transactionslist_scheduled_transactions get_scheduled_transaction create_scheduled_transaction update_scheduled_transaction delete_scheduled_transaction
Analyticsanalyze_spending compare_spending_periods
Utilitiesget_user diagnostic_info clear_cache

All read tools accept response_format ("markdown" or "json", default: "markdown").

Full reference: docs/reference/API.md

</details>

Configuration

VariableDefaultDescription
YNAB_ACCESS_TOKENRequired. Your YNAB personal access token.
YNAB_EXPORT_PATH~/DownloadsDirectory for exported transaction files.
YNAB_MCP_ENABLE_DELTAtrueEnable delta sync (only fetch changed data).
YNAB_MCP_WRITE_MODEpreviewread-only hides YNAB mutations; preview requires exact confirmation; enabled permits direct writes.
YNAB_MCP_TOOL_PROFILEfullcore, read-only, or full startup tool surface.
YNAB_MCP_CACHE_DEFAULT_TTL_MS300000Cache TTL in milliseconds (5 min).
YNAB_MCP_CACHE_MAX_ENTRIES1000Maximum cache entries before LRU eviction.

See .env.example for all options.

Write modes and compatibility

preview is the conservative default. A mutation call first runs its existing dry_run path and returns a confirmation token. That token expires after two minutes, can be used once, and only authorizes the same canonical tool name and validated arguments. read-only does not register YNAB mutation tools. enabled preserves the pre-safety direct-write behavior for users who explicitly opt in.

Transaction amounts now prefer amount_decimal (for example, -12.34) or the explicit raw field amount_milliunits (-12340). Category funding similarly prefers budgeted_decimal or budgeted_milliunits. The old amount and budgeted fields remain accepted as deprecated milliunit aliases for backward compatibility; their meaning is never guessed.

Tool profiles

Profiles are selected once at server startup, so clients receive a stable tools/list response:

  • core keeps common reads, transaction safety workflows, reconciliation, receipt splitting, scheduled review, and spending analytics.
  • read-only exposes every tool explicitly annotated read-only.
  • full exposes the complete 35-tool surface, subject to the selected write mode.

Privacy and trust

  • The server process runs locally and communicates with YNAB over YNAB's API.
  • Your YNAB personal access token is sensitive. Store it in your MCP client's secret configuration and never paste it into a conversation, issue, fixture, or log.
  • Financial data returned by tools and included in a conversation may be processed by the AI provider selected in your MCP client. Review that provider's data controls before sharing sensitive details.
  • Transaction exports remain on local disk at YNAB_EXPORT_PATH (or the platform default). The server does not upload exported files elsewhere.
  • Use read-only for no YNAB writes, preview for exact request confirmation, or enabled only when direct writes are an intentional compatibility choice.
  • This independent open-source project is not affiliated with or endorsed by YNAB.

Troubleshooting

SymptomFix
npx failsInstall Node.js 24+, then restart your MCP client.
Auth errorsRegenerate your YNAB token and update YNAB_ACCESS_TOKEN.
Tools not detectedRestart the MCP client after any config change.
Reconciliation issuesOpen an issue with an anonymized CSV sample.

For developers

bash
git clone https://github.com/dizzlkheinz/ynab-mcpb.git
cd ynab-mcpb
npm install
cp .env.example .env   # add YNAB_ACCESS_TOKEN
npm run build
npm test

Architecture and contributor guidance: CLAUDE.md

Reconciliation architecture: docs/technical/reconciliation-system-architecture.md


Contributing

Bug reports and CSV edge-case repros are very welcome, especially for bank reconciliation: Open an issue

PRs welcome — run npm test and npm run lint before submitting.


License

AGPL-3.0

常见问题

io.github.dizzlkheinz/ynab-mcpb 是什么?

面向 YNAB(You Need A Budget)的 MCP 服务器,可管理预算、账户、交易与分类等数据。

相关 Skills

前端设计

by anthropics

Universal
热门

面向组件、页面、海报和 Web 应用开发,按鲜明视觉方向生成可直接落地的前端代码与高质感 UI,适合做 landing page、Dashboard 或美化现有界面,避开千篇一律的 AI 审美。

想把页面做得既能上线又有设计感,就用前端设计:组件到整站都能产出,难得的是能避开千篇一律的 AI 味。

编码与调试
未扫描171.4k

网页应用测试

by anthropics

Universal
热门

用 Playwright 为本地 Web 应用编写自动化测试,支持启动开发服务器、校验前端交互、排查 UI 异常、抓取截图与浏览器日志,适合调试动态页面和回归验证。

借助 Playwright 一站式验证本地 Web 应用前端功能,调 UI 时还能同步查看日志和截图,定位问题更快。

编码与调试
未扫描171.4k

网页构建器

by anthropics

Universal
热门

面向复杂 claude.ai HTML artifact 开发,快速初始化 React + Tailwind CSS + shadcn/ui 项目并打包为单文件 HTML,适合需要状态管理、路由或多组件交互的页面。

在 claude.ai 里做复杂网页 Artifact 很省心,多组件、状态和路由都能顺手搭起来,React、Tailwind 与 shadcn/ui 组合效率高、成品也更精致。

编码与调试
未扫描171.4k

相关 MCP Server

GitHub

编辑精选

by GitHub

热门

GitHub 是 MCP 官方参考服务器,让 Claude 直接读写你的代码仓库和 Issues。

这个参考服务器解决了开发者想让 AI 安全访问 GitHub 数据的问题,适合需要自动化代码审查或 Issue 管理的团队。但注意它只是参考实现,生产环境得自己加固安全。

编码与调试
89.7k

by Context7

热门

Context7 是实时拉取最新文档和代码示例的智能助手,让你告别过时资料。

它能解决开发者查找文档时信息滞后的问题,特别适合快速上手新库或跟进更新。不过,依赖外部源可能导致偶尔的数据延迟,建议结合官方文档使用。

编码与调试
60.2k

by tldraw

热门

tldraw 是让 AI 助手直接在无限画布上绘图和协作的 MCP 服务器。

这解决了 AI 只能输出文本、无法视觉化协作的痛点——想象让 Claude 帮你画流程图或白板讨论。最适合需要快速原型设计或头脑风暴的开发者。不过,目前它只是个基础连接器,你得自己搭建画布应用才能发挥全部潜力。

编码与调试
49.9k

评论