Ir al contenido

Elegir cómo se ejecuta avenir-mcp

avenir-mcp se configura con variables de entorno, definidas en el bloque env de su cliente MCP. La lista completa está en Configuración.

Ajuste Efecto
nada (por defecto) 11 herramientas de solo lectura; las 9 de escritura no se listan ni se pueden llamar
AVENIR_MCP_WRITE=1 las 20 herramientas; cada escritura salvo approve_transactions se previsualiza y confirma

Cualquier otro valor (0, true, yes) mantiene el servidor en solo lectura: solo 1 activa las escrituras.

Su cliente arranca avenir-mcp como subproceso y le habla por su entrada y salida estándar. Nada escucha en la red. Es lo que hacen todos los ejemplos de Instalación.

Para un cliente que se conecta a una URL, o para compartir un servidor entre varios clientes de su máquina. Cree primero un token aleatorio largo, que los clientes tendrán que presentar:

Ventana de terminal
export AVENIR_MCP_HTTP_TOKEN=$(openssl rand -hex 32)

Después arranque el servidor:

Ventana de terminal
AVENIR_MCP_TRANSPORT=http \
AVENIR_MCP_HOST=127.0.0.1 \
AVENIR_MCP_PORT=8103 \
YNAB_API_KEY=su-token \
uvx avenir-mcp

Escucha en http://127.0.0.1:8103/mcp (HTTP streamable). Apunte su cliente allí con el token en una cabecera Authorization — con Claude Code:

Ventana de terminal
claude mcp add --transport http avenir-mcp http://127.0.0.1:8103/mcp \
--header "Authorization: Bearer $AVENIR_MCP_HTTP_TOKEN"

Por HTTP, cada petición se comprueba antes de llegar a una herramienta:

Comprobación Rechazo Lo que impide
la cabecera Host designa esta máquina (127.0.0.1, localhost, ::1) 421 una página web que llegara al servidor por DNS rebinding
una cabecera Origin, si existe, es la de este servidor 403 una página de otro sitio, abierta en su navegador
Authorization: Bearer <AVENIR_MCP_HTTP_TOKEN>, si hay un token definido 401 cualquier otro programa de su máquina o de su red

Con AVENIR_MCP_WRITE=1, el token es obligatorio: sin él, el servidor se niega a arrancar. El modo de solo lectura por HTTP funciona sin token, solo con las dos primeras comprobaciones.

Las operaciones aplicadas se registran para poder deshacerlas. Por defecto el diario es $XDG_STATE_HOME/avenir-mcp/journal.jsonl, o ~/.local/state/avenir-mcp/journal.jsonl cuando XDG_STATE_HOME no está definida. Elija otro archivo con AVENIR_MCP_JOURNAL. Vea Diario y deshacer.

avenir-mcp escribe sus diagnósticos en stderr — nunca en stdout, que pertenece al protocolo en modo stdio — al nivel de AVENIR_MCP_LOG_LEVEL, WARNING por defecto:

Nivel Verá
WARNING (por defecto) solo los problemas
INFO cada llamada a herramienta y cada petición a YNAB
DEBUG todo, incluidos los mensajes de la propia biblioteca MCP

Un error esperado (un mes mal formado, una cuenta desconocida) se registra en una línea; un fallo real conserva su traza. El token nunca se registra.

Para un recolector como Vector, Fluent Bit, Promtail o un agente de Datadog, pida JSON y escriba stderr en un archivo que el recolector lea. En la configuración del cliente:

"command": "/bin/sh",
"args": ["-c", "exec uvx avenir-mcp 2>>\"$HOME/.local/state/avenir-mcp/avenir.log\""],
"env": { "YNAB_API_KEY": "su-token", "AVENIR_MCP_LOG_FORMAT": "json", "AVENIR_MCP_LOG_LEVEL": "INFO" }

Cada línea queda así:

{"time":"2026-09-25T09:12:04.120+00:00","level":"INFO","logger":"avenir_mcp.client","message":"Fetching accounts for budget demo-budget"}

Por HTTP, como servicio, el gestor de servicios guarda stderr: systemd lo envía al journal, launchd al archivo indicado en StandardErrorPath.

Desde el nivel INFO, los mensajes solo contienen identificadores y cantidades — nunca beneficiarios, importes ni nombres de categorías —: los logs pueden salir de su máquina sin sus datos financieros. Deje DEBUG para depurar en local.

AVENIR_MCP_CONFIDENCE_THRESHOLD (por defecto 0.90) es la parte del historial de un beneficiario que debe coincidir antes de sugerir una categoría. Bájelo para obtener más sugerencias, acertadas con menos frecuencia. Vea Sugerencias.

Proyecto no oficial. «We are not affiliated, associated, or in any way officially connected with YNAB or any of its subsidiaries or affiliates.» No estamos afiliados, asociados ni conectados oficialmente con YNAB. YNAB y You Need A Budget son marcas registradas de YNAB. avenir-mcp se ofrece tal cual, sin garantía, y no es asesoramiento financiero. Aviso legal