ynab-mcp
Servidor MCP para YNAB. Concilia estados de cuenta bancarios, desglosa recibos, gestiona transacciones — todo mediante lenguaje natural.
Documentación
YNAB MCP Server
Conecta YNAB a cualquier asistente de IA. Gestiona tu presupuesto en lenguaje natural.
Demo
Pega un recibo → transacción dividida detallada en segundos
Lo que puedes hacer
| Flujo de trabajo | Ejemplo de prompt |
|---|---|
| División de recibos | "Crea una transacción dividida para este recibo y asigna los impuestos." |
| Conciliación bancaria | "Concilia mi cuenta corriente usando este CSV." |
| Análisis de gastos | "¿En qué gasté en comida para llevar este mes?" |
| Flujo de caja programado | "¿Qué facturas e ingresos programados vencen este mes?" |
| Creación de transacciones | "Crea una transacción: $42.18 en Trader Joe's ayer." |
| Resumen mensual | "Muestra mi resumen de presupuesto de enero." |
Cómo funciona
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
Características
- Detalle de recibos — Pega un recibo y obtén una transacción dividida detallada con la asignación de impuestos distribuida automáticamente entre las partidas.
- Conciliación bancaria (beta) — Importa un CSV bancario, haz coincidencias aproximadas con YNAB, detecta transacciones faltantes o no coincidentes y aplica correcciones masivas.
- 35 herramientas de YNAB — Cobertura completa más transacciones programadas y análisis de períodos deterministas.
- Seguridad de escritura por defecto — El modo de vista previa requiere una confirmación de un solo uso y corta duración vinculada a la solicitud validada exacta.
- Perfiles de herramientas más pequeños — Elige
core,read-onlyofullal inicio sin registro dinámico. - Sincronización delta — Obtiene solo los datos modificados desde la última solicitud, manteniendo la velocidad.
- Markdown o JSON — Todas las herramientas de lectura admiten
response_format: tablas markdown legibles (predeterminado) o JSON estructurado. - Nativo de MCP — Salidas estructuradas, anotaciones, API de completados y plantillas de recursos.
Cómo funciona la conciliación
Mostrar diagrama de flujo
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."
Configuración (2 minutos)
1 — Obtén un token de YNAB
- Abre YNAB Web App
- Ve a Configuración de cuenta → Configuración de desarrollador → Nuevo token
- Cópialo (se muestra solo una vez)
2 — Instalar
Claude Desktop — archivo MCPB (recomendado)
- Descarga la última
.mcpbdesde Releases - Arrástralo a Claude Desktop
- Introduce tu
YNAB_ACCESS_TOKENcuando se te solicite - Reinicia Claude Desktop
Claude Desktop — npx
Añade a tu configuración de Claude Desktop:
{
"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
Cualquier otro cliente MCP
- Comando:
npx - Argumentos:
["-y", "@dizzlkheinz/ynab-mcpb@latest"] - Entorno:
YNAB_ACCESS_TOKEN=<your token>
3 — Prueba estos prompts
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.
Herramientas (35)
Ver todas las herramientas por categoría
| Categoría | Herramientas |
|---|---|
| Presupuestos | list_budgets get_budget get_default_budget set_default_budget |
| Cuentas | list_accounts get_account create_account |
| Transacciones | list_transactions get_transaction create_transaction create_transactions update_transaction update_transactions delete_transaction export_transactions compare_transactions create_receipt_split_transaction |
| Categorías | list_categories get_category update_category |
| Beneficiarios | list_payees get_payee |
| Meses | list_months get_month |
| Conciliación | reconcile_account |
| Transacciones programadas | list_scheduled_transactions get_scheduled_transaction create_scheduled_transaction update_scheduled_transaction delete_scheduled_transaction |
| Análisis | analyze_spending compare_spending_periods |
| Utilidades | get_user diagnostic_info clear_cache |
Todas las herramientas de lectura aceptan response_format ("markdown" o "json", predeterminado: "markdown").
Referencia completa: docs/reference/API.md
Configuración
| Variable | Predeterminado | Descripción |
|---|---|---|
YNAB_ACCESS_TOKEN | — | Obligatorio. Tu token de acceso personal de YNAB. |
YNAB_EXPORT_PATH | ~/Downloads | Directorio para archivos de transacciones exportados. |
YNAB_MCP_ENABLE_DELTA | true | Habilita la sincronización delta (solo obtiene datos modificados). |
YNAB_MCP_WRITE_MODE | preview | read-only oculta las mutaciones de YNAB; preview requiere confirmación exacta; enabled permite escrituras directas. |
YNAB_MCP_TOOL_PROFILE | full | Superficie de herramientas de inicio core, read-only o full. |
YNAB_MCP_CACHE_DEFAULT_TTL_MS | 300000 | TTL de caché en milisegundos (5 min). |
YNAB_MCP_CACHE_MAX_ENTRIES | 1000 | Máximo de entradas de caché antes de la expulsión LRU. |
Consulta .env.example para todas las opciones.
Modos de escritura y compatibilidad
preview es el valor predeterminado conservador. Una llamada de mutación primero ejecuta su ruta dry_run existente y devuelve un token de confirmación. Ese token caduca después de dos minutos, puede usarse una sola vez y solo autoriza el mismo nombre de herramienta canónico y los argumentos validados. read-only no registra herramientas de mutación de YNAB. enabled conserva el comportamiento de escritura directa previo a la seguridad para usuarios que optan explícitamente.
Los montos de transacciones ahora prefieren amount_decimal (por ejemplo, -12.34) o el campo bruto explícito amount_milliunits (-12340). La financiación de categorías prefiere de manera similar budgeted_decimal o budgeted_milliunits. Los campos antiguos amount y budgeted siguen aceptándose como alias de milliunidades obsoletos por compatibilidad con versiones anteriores; su significado nunca se adivina.
Perfiles de herramientas
Los perfiles se seleccionan una vez al iniciar el servidor, por lo que los clientes reciben una respuesta tools/list estable:
coremantiene lecturas comunes, flujos de seguridad de transacciones, conciliación, división de recibos, revisión programada y análisis de gastos.read-onlyexpone cada herramienta explícitamente anotada como solo lectura.fullexpone la superficie completa de 35 herramientas, sujeta al modo de escritura seleccionado.
Privacidad y confianza
- El proceso del servidor se ejecuta localmente y se comunica con YNAB a través de la API de YNAB.
- Tu token de acceso personal de YNAB es sensible. Guárdalo en la configuración secreta de tu cliente MCP y nunca lo pegues en una conversación, issue, fixture o registro.
- Los datos financieros devueltos por las herramientas e incluidos en una conversación pueden ser procesados por el proveedor de IA seleccionado en tu cliente MCP. Revisa los controles de datos de ese proveedor antes de compartir detalles sensibles.
- Las exportaciones de transacciones permanecen en el disco local en
YNAB_EXPORT_PATH(o el valor predeterminado de la plataforma). El servidor no sube archivos exportados a ningún otro lugar. - Usa
read-onlypara no realizar escrituras en YNAB,previewpara confirmación exacta de solicitudes, oenabledsolo cuando las escrituras directas sean una elección de compatibilidad intencional. - Este proyecto independiente de código abierto no está afiliado ni respaldado por YNAB.
Solución de problemas
| Síntoma | Solución |
|---|---|
npx falla | Instala Node.js 24+ y luego reinicia tu cliente MCP. |
| Errores de autenticación | Regenera tu token de YNAB y actualiza YNAB_ACCESS_TOKEN. |
| Herramientas no detectadas | Reinicia el cliente MCP después de cualquier cambio de configuración. |
| Problemas de conciliación | Abre un issue con una muestra CSV anonimizada. |
Para desarrolladores
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
Arquitectura y guía para colaboradores: CLAUDE.md
Arquitectura de conciliación: docs/technical/reconciliation-system-architecture.md
Contribuciones
Los informes de errores y reproducciones de casos límite con CSV son muy bienvenidos, especialmente para la conciliación bancaria: Abre un issue
PRs bienvenidos — ejecuta npm test y npm run lint antes de enviarlos.