Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Local-first YNAB MCP for reconciliation, receipt splitting, safe cleanup, and spending analysis
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
YNAB_ACCESS_TOKEN, YNAB_MCP_WRITE_MODE, YNAB_MCP_TOOL_PROFILE「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"ynab-mcpb": {
"command": "npx",
"args": [
"-y",
"@dizzlkheinz/ynab-mcpb"
],
"env": {
"YNAB_ACCESS_TOKEN": "your-value",
"YNAB_MCP_WRITE_MODE": "your-value",
"YNAB_MCP_TOOL_PROFILE": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add ynab-mcpb --env YNAB_ACCESS_TOKEN=your-value --env YNAB_MCP_WRITE_MODE=your-value --env YNAB_MCP_TOOL_PROFILE=your-value -- npx -y @dizzlkheinz/ynab-mcpb動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"ynab-mcpb": {
"command": "npx",
"args": [
"-y",
"@dizzlkheinz/ynab-mcpb"
],
"env": {
"YNAB_ACCESS_TOKEN": "your-value",
"YNAB_MCP_WRITE_MODE": "your-value",
"YNAB_MCP_TOOL_PROFILE": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"ynab-mcpb": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@dizzlkheinz/ynab-mcpb"
],
"env": {
"YNAB_ACCESS_TOKEN": "your-value",
"YNAB_MCP_WRITE_MODE": "your-value",
"YNAB_MCP_TOOL_PROFILE": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
YNAB_MCP_WRITE_MODE envYNAB_MCP_TOOL_PROFILE envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント dizzlkheinz で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:YNAB_ACCESS_TOKEN
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.33.0)がレジストリに届いたのは今日です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Compose Preview Catalogs
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Browse, inspect and render Jetpack Compose Material 3 and Wear component catalogs.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Connect YNAB to any AI assistant. Manage your budget in plain English.
Paste a receipt → itemized split transaction in seconds
| Workflow | Example 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." |
graph LR
U(You) -->|Plain English| C[Claude Desktop or any MCP client] C -->|MCP protocol| S[YNAB MCP Server 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
core, read-only, or full at startup without dynamic registration.response_format: human-readable markdown tables (default) or structured JSON.Show workflow diagram
sequenceDiagram
participant You participant Claude participant MCP as YNAB MCP Server participant YNAB
You->>Claude: "Reconcile my checking with this CSV" Claude->>MCP: reconcile_account(csv_data) MCP->>YNAB: Fetch transactions YNAB-->>MCP: YNAB transactions MCP->>MCP: Parse CSV Fuzzy-match payees & dates Detect missing / mismatched MCP-->>Claude: Matches + recommendations Claude->>You: "Found 47 matches, 3 missing. Apply changes?" You->>Claude: "Yes" Claude->>MCP: Apply recommended changes MCP->>YNAB: Create / update transactions MCP-->>Claude: Done Claude->>You: "3 transactions created, account reconciled."
Claude Desktop — MCPB file (recommended)
.mcpb from ReleasesYNAB_ACCESS_TOKEN when promptedClaude Desktop — npx
Add to your Claude Desktop config:
{
"mcpServers": { "ynab": { "command": "npx", "args": ["-y", "@dizzlkheinz/ynab-mcpb@latest"], "env": { "YNAB_ACCESS_TOKEN": "your-token-here" } } } }
Cline (VS Code)
{
"mcpServers": { "ynab": { "command": "npx", "args": ["-y", "@dizzlkheinz/ynab-mcpb@latest"], "env": { "YNAB_ACCESS_TOKEN": "your-token-here" } } } }
Codex
[mcp_servers.ynab-mcpb]
command = "npx" args = ["-y", "@dizzlkheinz/ynab-mcpb@latest"] env = {"YNAB_ACCESS_TOKEN" = "your-token-here"} startup_timeout_sec = 120
Any other MCP client
npx["-y", "@dizzlkheinz/ynab-mcpb@latest"]YNAB_ACCESS_TOKEN= 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.
See all tools by category
| Category | Tools |
|---|---|
| Budgets | list_budgets get_budget get_default_budget set_default_budget |
| Accounts | list_accounts get_account create_account |
| Transactions | list_transactions get_transaction create_transaction create_transactions update_transaction update_transactions delete_transaction export_transactions compare_transactions create_receipt_split_transaction |
| Categories | list_categories get_category update_category |
| Payees | list_payees get_payee |
| Months | list_months get_month |
| Reconciliation | reconcile_account |
| Scheduled transactions | list_scheduled_transactions get_scheduled_transaction create_scheduled_transaction update_scheduled_transaction delete_scheduled_transaction |
| Analytics | analyze_spending compare_spending_periods |
| Utilities | get_user diagnostic_info clear_cache |
All read tools accept response_format ("markdown" or "json", default: "markdown").
Full reference: docs/reference/API.md
| Variable | Default | Description |
|---|---|---|
YNAB_ACCESS_TOKEN | — | Required. Your YNAB personal access token. |
YNAB_EXPORT_PATH | ~/Downloads | Directory for exported transaction files. |
YNAB_MCP_ENABLE_DELTA | false | Set to true to enable delta sync (only fetch changed data). Must be exactly true or false. |
YNAB_MCP_WRITE_MODE | preview | read-only hides YNAB mutations; preview requires exact confirmation; enabled permits direct writes. |
YNAB_MCP_TOOL_PROFILE | full | core, read-only, or full startup tool surface. |
YNAB_MCP_CACHE_DEFAULT_TTL_MS | 300000 | Cache TTL in milliseconds (5 min). |
YNAB_MCP_CACHE_MAX_ENTRIES | 1000 | Maximum cache entries before LRU eviction. |
See .env.example for all options.
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.
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.YNAB_EXPORT_PATH (or the platform default). The server does not upload exported files elsewhere.read-only for no YNAB writes, preview for exact request confirmation, or enabled only when direct writes are an intentional compatibility choice.| Symptom | Fix |
|---|---|
npx fails | Install Node.js 24+, then restart your MCP client. |
| Auth errors | Regenerate your YNAB token and update YNAB_ACCESS_TOKEN. |
| Tools not detected | Restart the MCP client after any config change. |
| Reconciliation issues | Open an issue with an anonymized CSV sample. |
git clone https://github.com/dizzlkheinz/ynab-mcpb.git
cd ynab-mcpb npm ci --ignore-scripts npm run build npm test npm run test:integration
The build and offline tests require no YNAB credentials. npm test runs unit and performance tests; test:integration runs mocked integration tests. Use test:all, test:coverage, or test:watch for the combined suite, coverage, or watch mode. Pass file/test-name filters directly, for example npm run test:integration -- transactionTools.
To start the server locally, copy .env.example to .env, add your token, and run npm start. Live smoke tests require an explicit RUN_LIVE_YNAB_TESTS=true and run through npm run test:live; SKIP_E2E_TESTS=true disables them.
Builds do not package or install global tools. To create a Claude Desktop bundle, install the official CLI once (npm install --global @anthropic-ai/mcpb), then run npm run build and npm run package:mcpb. Review npm package contents with npm pack --dry-run --ignore-scripts.
Architecture and contributor guidance: CLAUDE.md
Reconciliation architecture: docs/technical/reconciliation-system-architecture.md
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.
AGPL-3.0