Servidor MCP YNAB
Una implementación de servidor MCP que proporciona acceso a la funcionalidad YNAB (You Need A Budget) a través del Protocolo de contexto de modelo.
Características
Ver saldos y transacciones de cuentas
Crear nuevas transacciones
Acceda a los datos de YNAB a través de recursos MCP estandarizados
Related MCP server: ABAP-ADT-API MCP-Server
Instalación
uv pip install -e .Configuración
El servidor requiere una clave API de YNAB para funcionar. Puedes obtenerla en la configuración de desarrollador de YNAB .
La clave API se puede proporcionar a través de:
Variable de entorno:
YNAB_API_KEY=your_api_keySistema de gestión de secretos MCP
archivo
.enven la raíz del proyecto
Uso
Ejecución del servidor
# Development mode with hot reload and browser launch
task dev
# Production install for Claude Desktop, Goose, or any other MCP-supported environment
task installRecursos disponibles
ynab://accounts- Listar todas las cuentas YNABynab://transactions/{account_id}- Obtener transacciones recientes para una cuenta específica
Herramientas disponibles
create_transaction- Crea una nueva transacciónget_account_balance- Obtener el saldo actual de una cuenta
Ejemplo de uso
# Create a new transaction
result = await create_transaction(
account_id="your_account_id",
amount=42.50, # in dollars
payee_name="Coffee Shop",
category_name="Dining Out",
memo="Morning coffee"
)
# Get account balance
balance = await get_account_balance("your_account_id")
# List accounts
accounts = await ctx.read_resource("ynab://accounts")
# Get recent transactions
transactions = await ctx.read_resource(f"ynab://transactions/{account_id}")Desarrollo
# Install dependencies (uses uv)
task deps
# Run all tests including integration tests (you will need a YNAB API key for this)
task test:all
# Generate coverage report
task coverage
# Format and lint code
task fmt # Should add this to TaskfileTareas del proyecto
Este proyecto utiliza un archivo de tareas para operaciones comunes. Comandos de teclado:
task dev # Start dev server with auto-reload
task test # Run unit tests
task coverage # Generate test coverage report
task install # Install production build
task deps # Synchronize dependenciesConsulte Taskfile.yml para ver todas las tareas disponibles.