Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
Local-first YNAB MCP for reconciliation, receipt splitting, safe cleanup, and spending analysis
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
YNAB_ACCESS_TOKEN, YNAB_MCP_WRITE_MODE, YNAB_MCP_TOOL_PROFILEAls geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"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"
}
}
}
}Führe das in deinem Terminal aus
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-mcpbTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"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"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"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"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
YNAB_MCP_WRITE_MODE envYNAB_MCP_TOOL_PROFILE envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 8. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto dizzlkheinz bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: YNAB_ACCESS_TOKEN
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.31.0) kam vor 11 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Tethered Trust
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
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.
Fit, compatibility and recall checks for AI agents before they buy: verdicts, evidence, receipts.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
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