Skip to main content
Glama

YNAB MCP Server

by calebl

servidor ynab-mcp

Un servidor de Protocolo de Contexto de Modelo (MCP) desarrollado con mcp-framework. Este MCP proporciona herramientas para interactuar con la configuración de presupuestos de YNAB en https://ynab.com

Para que una IA interactúe con esta herramienta, deberá obtener su token de acceso personal de YNAB: https://api.ynab.com/#personal-access-tokens . Al agregar este servidor MCP a cualquier cliente, deberá proporcionar su token de acceso personal como YNAB_API_TOKEN. Este token nunca se envía directamente al LLM. Se almacena de forma privada en una variable de entorno para su uso con la API de YNAB.

Configuración

Especificar variables de entorno:

  • YNAB_API_TOKEN (obligatorio)
  • YNAB_BUDGET_ID (opcional)

Meta

El objetivo del proyecto es poder interactuar con mi presupuesto de YNAB mediante una conversación de IA. Hay algunos flujos de trabajo principales que quiero habilitar:

Flujos de trabajo:

Configuración por primera vez

  • Se le pedirá que seleccione su presupuesto entre los disponibles. Si intenta usar otra herramienta primero, debería aparecer este mensaje pidiéndole que configure su presupuesto predeterminado.
    • Herramientas necesarias: ListBudgets

Gestionar categorías de gastos excesivos

Agregar nuevas transacciones

Aprobación de transacciones

Verifique el gasto mensual total versus el ingreso total

Distribuir automáticamente fondos listos para asignar según los objetivos de la categoría

Estado actual

Herramientas disponibles:

  • ListBudgets: enumera los presupuestos disponibles en su cuenta
  • Resumen presupuestario: proporciona un resumen de las categorías con fondos insuficientes y las cuentas con fondos bajos.
  • GetUnapprovedTransactions: recupera todas las transacciones no aprobadas
  • CreateTransaction: crea una transacción para un presupuesto y una cuenta específicos.
    • Ejemplo de solicitud: Add a transaction to my Ally account for $3.98 I spent at REI today
    • requiere que se llame a GetBudget primero para que sepamos el ID de la cuenta
  • AprobarTransacción: aprueba una transacción existente en su presupuesto de YNAB
    • requiere un ID de transacción para aprobar
    • se puede utilizar junto con GetUnapprovedTransactions para aprobar transacciones pendientes
    • Después de llamar y obtener transacciones no aprobadas, mensaje: approve the transaction for $6.95 on the Apple Card

Próximo:

  • Poder aprobar múltiples transacciones con una sola llamada
  • Herramienta updateCategory (o herramienta más general updateTransaction) si puedo lograr que los parámetros opcionales funcionen correctamente con el marco zod y mcp
  • ¿Pasar del marco mcp para usar el protocolo de contexto de modelo SDK directamente?

Inicio rápido

# Install dependencies npm install # Build the project npm run build

Estructura del proyecto

ynab-mcp-server/ ├── src/ │ ├── tools/ # MCP Tools │ └── index.ts # Server entry point ├── .cursor/ │ └── rules/ # Cursor AI rules for code generation ├── package.json └── tsconfig.json

Agregar componentes

El SDK de YNAB describe los puntos finales de API disponibles: https://github.com/ynab/ynab-sdk-js .

La especificación de la API abierta de YNAB está aquí: https://api.ynab.com/papi/open\_api\_spec.yaml . Esto puede usarse para solicitar a una IA que genere una nueva herramienta. Ejemplo de solicitud para el Agente de Cursor:

create a new tool based on the readme and this openapi doc: https://api.ynab.com/papi/open_api_spec.yaml The new tool should get the details for a single budget

Puede agregar más herramientas usando la CLI:

# Add a new tool mcp add tool my-tool # Example tools you might create: mcp add tool data-processor mcp add tool api-client mcp add tool file-handler

Desarrollo de herramientas

Ejemplo de estructura de herramienta:

import { MCPTool } from "mcp-framework"; import { z } from "zod"; interface MyToolInput { message: string; } class MyTool extends MCPTool<MyToolInput> { name = "my_tool"; description = "Describes what your tool does"; schema = { message: { type: z.string(), description: "Description of this input parameter", }, }; async execute(input: MyToolInput) { // Your tool logic here return `Processed: ${input.message}`; } } export default MyTool;

Publicación en npm

  1. Actualice su paquete.json:
    • Asegúrese de que name sea único y siga las convenciones de nomenclatura de npm
    • Establecer version apropiada
    • Añadir description , author , license , etc.
    • Verificar los puntos bin en el archivo de entrada correcto
  2. Construir y probar localmente:
    npm run build npm link ynab-mcp-server # Test your CLI locally
  3. Inicie sesión en npm (cree una cuenta si es necesario):
    npm login
  4. Publica tu paquete:
    npm publish

Después de publicar, los usuarios pueden agregarlo a su cliente de escritorio Claude (leer a continuación) o ejecutarlo con npx

Uso con Claude Desktop

Instalación mediante herrería

Para instalar YNAB Budget Assistant para Claude Desktop automáticamente a través de Smithery :

npx -y @smithery/cli install @calebl/ynab-mcp-server --client claude

Desarrollo local

Agregue esta configuración a su archivo de configuración de Claude Desktop:

MacOS : ~/Library/Application Support/Claude/claude_desktop_config.json Windows : %APPDATA%/Claude/claude_desktop_config.json

{ "mcpServers": { "ynab-mcp-server": { "command": "node", "args":["/absolute/path/to/ynab-mcp-server/dist/index.js"] } } }

Después de la publicación

Agregue esta configuración a su archivo de configuración de Claude Desktop:

MacOS : ~/Library/Application Support/Claude/claude_desktop_config.json Windows : %APPDATA%/Claude/claude_desktop_config.json

{ "mcpServers": { "ynab-mcp-server": { "command": "npx", "args": ["ynab-mcp-server"] } } }

Otros clientes de MCP

Consulte https://modelcontextprotocol.io/clients para ver otros clientes disponibles.

Construcción y pruebas

  1. Realizar cambios en sus herramientas
  2. Ejecute npm run build para compilar
  3. El servidor cargará automáticamente sus herramientas al iniciarse

Más información

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Un servidor de protocolo de contexto de modelo que permite la interacción impulsada por IA con datos de YNAB (You Need A Budget), lo que permite a los usuarios consultar sus presupuestos a través de interfaces conversacionales.

  1. Configuración
    1. Meta
      1. Flujos de trabajo:
        1. Configuración por primera vez
        2. Gestionar categorías de gastos excesivos
        3. Agregar nuevas transacciones
        4. Aprobación de transacciones
        5. Verifique el gasto mensual total versus el ingreso total
        6. Distribuir automáticamente fondos listos para asignar según los objetivos de la categoría
      2. Estado actual
        1. Inicio rápido
          1. Estructura del proyecto
            1. Agregar componentes
              1. Desarrollo de herramientas
                1. Publicación en npm
                  1. Uso con Claude Desktop
                    1. Instalación mediante herrería
                    2. Desarrollo local
                    3. Después de la publicación
                    4. Otros clientes de MCP
                  2. Construcción y pruebas
                    1. Más información

                      Related MCP Servers

                      • A
                        security
                        F
                        license
                        A
                        quality
                        An MCP server that allows users to interact with YNAB data, enabling access to account balances, transactions, and the creation of new transactions through the Model Context Protocol.
                        Last updated -
                        10
                        1
                        Python
                      • -
                        security
                        F
                        license
                        -
                        quality
                        Provides access to YNAB (You Need A Budget) functionality through the Model Context Protocol, allowing users to view account balances, access transaction data, and create new transactions.
                        Last updated -
                        Python
                      • -
                        security
                        A
                        license
                        -
                        quality
                        A Model Context Protocol server that enables AI assistants to manage meeting data, including creating meeting bots, searching transcripts, and organizing calendar events.
                        Last updated -
                        15
                        TypeScript
                        MIT License
                        • Apple
                      • -
                        security
                        A
                        license
                        -
                        quality
                        A Model Context Protocol (MCP) server for interacting with YNAB (You Need A Budget). Provides tools for accessing budget data through MCP-enabled clients like Claude Desktop.
                        Last updated -
                        Python
                        MIT License

                      View all related MCP servers

                      MCP directory API

                      We provide all the information about MCP servers via our MCP API.

                      curl -X GET 'https://glama.ai/api/mcp/v1/servers/calebl/ynab-mcp-server'

                      If you have feedback or need assistance with the MCP directory API, please join our Discord server