YNAB MCP Server
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)
Related MCP server: ynab-mcp
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 todayrequiere 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.jsonAgregar 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 budgetPuede 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-handlerDesarrollo 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
Actualice su paquete.json:
Asegúrese de que
namesea único y siga las convenciones de nomenclatura de npmEstablecer
versionapropiadaAñadir
description,author,license, etc.Verificar los puntos
binen el archivo de entrada correcto
Construir y probar localmente:
npm run build npm link ynab-mcp-server # Test your CLI locallyInicie sesión en npm (cree una cuenta si es necesario):
npm loginPublica 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 claudeDesarrollo 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
Realizar cambios en sus herramientas
Ejecute
npm run buildpara compilarEl servidor cargará automáticamente sus herramientas al iniciarse
Más información
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityAmaintenanceAn 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.86MIT
- AlicenseNot gradedqualityDmaintenanceA 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.4MIT
- AlicenseNot gradedqualityCmaintenanceA Model Context Protocol server that enables interaction with You Need A Budget (YNAB) via their API, allowing users to manage budgets, accounts, categories, and transactions through natural language.2MIT
- AlicenseAqualityBmaintenanceA Model Context Protocol server for YNAB (You Need A Budget). Enables users to query budgets, accounts, categories, transactions, and more, as well as create, update, and delete transactions and manage scheduled transactions from any MCP client.252MIT
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
Hosted remote MCP server for YNAB on Cloudflare Workers with OAuth
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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