Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Connect your AI assistant to YNAB. Read-only by default, with reversible opt-in writes.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
YNAB_API_KEY, YNAB_PLAN_ID, YNAB_ALLOW_WRITESLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"for-ynab": {
"command": "uvx",
"args": [
"mcp-server-for-ynab"
],
"env": {
"YNAB_API_KEY": "your-value",
"YNAB_PLAN_ID": "your-value",
"YNAB_ALLOW_WRITES": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add for-ynab --env YNAB_API_KEY=your-value --env YNAB_PLAN_ID=your-value --env YNAB_ALLOW_WRITES=your-value -- uvx mcp-server-for-ynabCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"for-ynab": {
"command": "uvx",
"args": [
"mcp-server-for-ynab"
],
"env": {
"YNAB_API_KEY": "your-value",
"YNAB_PLAN_ID": "your-value",
"YNAB_ALLOW_WRITES": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"for-ynab": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-server-for-ynab"
],
"env": {
"YNAB_API_KEY": "your-value",
"YNAB_PLAN_ID": "your-value",
"YNAB_ALLOW_WRITES": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
YNAB_PLAN_ID envYNAB_ALLOW_WRITES envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub hs737, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: YNAB_API_KEY
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.4.0) llegó al registro hace 2 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, Kanal Varna — drains, leaks & plumbing (Varna, BG)
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
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.
Drain unblocking, leak detection & plumbing in Varna, Bulgaria: services, prices, areas, contact
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
Ask your budget a question. Connect Claude, Codex, Cursor, or any MCP client to YNAB and get answers about your actual money — how the month is going, what is overspent, what your subscriptions really cost.
YNAB_API_KEY=your_token uvx mcp-server-for-ynab smoke
Read-only by default. The write tools are not registered at all unless you set YNAB_ALLOW_WRITES=1, so they never appear to the assistant and nothing can change your budget until you say so. When you do enable them, every write records the state that preceded it and can be undone.
An MCP server that exposes the YNAB API as tools, then adds enriched tools answering questions the raw API cannot answer in one call — budget health, cleanup queues, spending analysis, recurring charges.
Generate a personal access token at app.ynab.com/settings/developer.
You also need uv, which provides uvx:
curl -LsSf https://astral.sh/uv/install.sh | sh # macOS and Linux
brew install uv # macOS with Homebrew winget install --id=astral-sh.uv -e # Windows
Check both work. Nothing to clone — uvx fetches the package and runs it in a throwaway environment:
YNAB_API_KEY=your_token uvx mcp-server-for-ynab smoke
smoke validates configuration and tool registration, then exits. It should print smoke: app created, 62 tools registered.
The two most common paths:
Claude Code — install the plugin, which brings its own MCP config:
/plugin marketplace add hs737/mcp-server-for-ynab
/plugin install mcp-server-for-ynab@mcp-server-for-ynab
Or register the server directly, if you would rather not use a plugin:
claude mcp add --env YNAB_API_KEY=your_ynab_token --transport stdio --scope user \
ynab -- uvx mcp-server-for-ynab stdio
Claude Desktop, Cursor, Windsurf, and most others — paste into the client's MCP config file:
{
"mcpServers": { "ynab": { "command": "uvx", "args": ["mcp-server-for-ynab", "stdio"], "env": { "YNAB_API_KEY": "your_ynab_token", "YNAB_PLAN_ID": "your_plan_id" } } } }
YNAB_PLAN_ID is optional but recommended — with it set, you never have to name a budget in a request. Full per-client instructions, including where each config file lives and how to keep the token out of it, are in Client Setup.
Desktop hosts that accept bundles — download the .mcpb file from the latest release and open it. The host asks for your token in a form and stores it in your OS keychain, so there is no config file to edit and no token sitting in plain text. A checkbox controls whether writes are enabled.
A published image is available for linux/amd64 and linux/arm64. The server speaks MCP over stdin and stdout, so run it attached with -i. There is no port to publish:
docker run -i --rm -e YNAB_API_KEY=your_ynab_token \
ghcr.io/hs737/mcp-server-for-ynab
Or build it yourself from a clone:
docker build -t mcp-server-for-ynab .
docker run -i --rm -e YNAB_API_KEY=your_ynab_token mcp-server-for-ynab
If you enable writes, mount a volume for the history — otherwise --rm discards the record that makes a revert possible:
docker run -i --rm -e YNAB_API_KEY=your_ynab_token -e YNAB_ALLOW_WRITES=1 \
-v ynab-mcp-history:/home/app/.mcp-server-for-ynab mcp-server-for-ynab
What's my cash position across all accounts?
If that works, you're set. If it doesn't, see Troubleshooting — the usual cause is that the client cannot find uvx on its PATH.
Read-only, works out of the box:
| Ask | Tool it reaches for |
|---|---|
| "How is this month's budget doing?" | overview_month_health |
| "What's my cash position across all accounts?" | overview_cash_position |
| "Which transactions still need a category?" | triage_uncategorized |
| "What's waiting for me to approve?" | triage_unapproved |
| "Which categories are overspent, and by how much?" | analysis_overspent_categories |
| "Which targets won't be funded this month?" | analysis_target_funding_gaps |
| "Are any scheduled transactions at risk?" | analysis_upcoming_scheduled_risks |
| "What have I spent at this payee over the last year?" | bookkeeping_transaction_history |
| "What subscriptions am I actually paying for?" | analysis_recurring_charges |
| "Does this account match the statement, and what's in the way?" | reconcile_preview |
| "Here's the bank CSV — what's missing on each side?" | transactions_match_statement |
| "Are there card holds sitting on my account that never posted?" | triage_pending_imports |
With YNAB_ALLOW_WRITES=1:
Categorize last week's uncategorized transactions, then show me what you changed.
The agent categorizes, and history_list shows every write with the value that preceded it. history_revert undoes any of them.
Agents work best when they start with overview_available_tools, which returns the current tool catalog grouped by family. See Tool Surface for the full map.
Seven prompts ship with the server, and most clients surface them as slash commands — a starting point that does not require reading the tool list first: monthly review, weekly triage, categorize and approve, subscription audit, cash position, review-and-undo, and a multi-month budget audit.
Four resources (ynab://guide/*) carry the YNAB method, the write-safety rules, guidance on which tool to reach for, and how credit accounts behave. They are fetched on demand, so they cost nothing until a client asks for them.
| Variable | Required | Description |
|---|---|---|
YNAB_API_KEY | Yes | YNAB personal access token |
YNAB_PLAN_ID | Recommended | Default plan ID, making plan_id optional on most tools |
YNAB_ALLOW_WRITES | No | Register write tools. Unset means read-only |
YNAB_HISTORY_PATH | No | Write history file, default ~/.mcp-server-for-ynab/history.jsonl |
YNAB_RATE_LIMIT_PER_HOUR | No | Client-side request budget, default 190 of YNAB's 200 |
YNAB_RATE_WARN_THRESHOLD | No | Warn when this many requests remain, default 50 |
LOG_LEVEL | No | Logging verbosity, default INFO |
Set these in your MCP client's env block. For local development, copy .env.example to .env and fill it in.
YNAB allows 200 requests per hour per token, and a single enriched tool can spend several. The server tracks its own usage in a rolling hour and stops just below YNAB's ceiling, so the limit you hit is local and clearly reported rather than a 429 in the middle of a workflow.
Every tool response carries requests_used_this_hour and requests_remaining, the way an HTTP API returns X-RateLimit-Remaining — an agent paces itself against a number it can already see, where asking for it costs a call it will not make. overview_request_budget adds the limit, the window, and when an exhausted budget reopens; ping answers whether the server is up at all. Both cost nothing.
The quota belongs to the access token, so your own YNAB apps spend from it too. The count here is what this server used, which can be less than what YNAB has left — every rate-limit error says so, and carries the reopening time as an absolute timestamp as well as a delay, so a scheduled retry does not come back early.
62 read-only tools, 84 with writes enabled, plus 7 guided prompts and 4 reference resources.
| Family | Type | Purpose |
|---|---|---|
overview | enriched | Budget health snapshots and orientation |
triage | enriched | Transaction cleanup queues |
bookkeeping | enriched | Categorization suggestions, memo help, history |
analysis | enriched | Overspending, funding gaps, scheduled risks, card funding, multi-month audits |
reconcile | enriched | Statement comparison, bank-export matching, and finishing a reconciliation |
history | enriched | Review and roll back writes this server made |
changes | enriched | What moved since a given server_knowledge value |
user | raw | YNAB user info |
plans | raw | Plan and settings reads |
accounts | raw | Account reads and creation |
categories | raw | Categories and category groups |
months | raw | Month-level budget data, multi-month ranges, batch assignment |
payees | raw | Payee management |
payee_locations | raw | Geographic payee metadata, niche/low-priority |
transactions | raw | Transaction CRUD and import trigger |
scheduled_transactions | raw | Scheduled transaction management |
money_movements | raw | Money movement data, and moving money between categories |
Raw tools are close mirrors of YNAB endpoints — use them for exact reads and most writes. Enriched tools combine several reads into one answer — use th
Solo se muestra el principio; lee el resto en el repo