Skip to main content
Glama

YNAB MCP

README.md3.75 kB
# YNAB MCP YNAB Model Context Protocol (MCP) server for Claude Code integration with You Need A Budget (YNAB). ## Overview This repository contains a Docker-based MCP server that enables Claude Code to interact with YNAB (You Need A Budget) accounts. It implements the OAuth flow and provides a comprehensive API for budget management, transaction tracking, and financial insights. ## Known Issues ### MCP Tool Availability The following issues have been identified: 1. **Transactions API** - The `list_transactions` endpoint fails with "invalid date" errors when using the `sinceDate` parameter 2. **Missing API Tools** - Several endpoints that are defined in the source code are not available in the MCP integration 3. **Inconsistent Behavior** - Some tools work in testing with test-mcp.js but fail in the actual MCP integration ### Issue Tracking We're actively working on the following fixes: - `fix-transactions-api` branch: Addressing the date format handling in the transactions API - `fix-mcp-registration` branch: Ensuring all API tools are properly registered and available ## Features - OAuth-based authentication with YNAB API - Complete budget and account management - Transaction creation and categorization - Advanced category management with bulk allocation and recommendations - Support for multiple budgets (personal and family) - Rate limit handling (YNAB API limit: 200 requests/hour) - Caching for improved performance ### New Category Management Features This MCP includes advanced category management capabilities: - **Assign to Categories**: Allocate funds from Ready to Assign to multiple categories in one operation - **Recommended Allocations**: Get AI-powered suggestions for budget distribution based on goals and spending patterns See [Category Management Documentation](docs/category-management.md) for details. ## Getting Started ### Prerequisites - Docker - Node.js v18+ (for development) - Claude Code CLI - YNAB account ### Installation 1. Clone this repository 2. Copy `config/config.example.js` to `config/config.js` and add your YNAB API credentials 3. Build the Docker image: `docker build -t ynab-mcp:latest .` 4. Create a JSON configuration for Claude: ```json { "command": "docker", "args": [ "run", "--rm", "-i", "-v", "/path/to/data:/app/data", "-v", "/path/to/config:/app/config", "-e", "NODE_ENV=production", "ynab-mcp:latest" ] } ``` 5. Register the MCP with Claude Code CLI: ```bash claude mcp add-json ynab '{"command": "docker", "args": ["run", "--rm", "-i", "-v", "/path/to/data:/app/data", "-v", "/path/to/config:/app/config", "-e", "NODE_ENV=production", "ynab-mcp:latest"]}' ``` You can also save the JSON to a file and use: ```bash claude mcp add-json ynab "$(cat config.json)" ``` 6. Authenticate with your YNAB account when prompted by Claude ## Integration with Claude This MCP integrates seamlessly with Claude, allowing: - Viewing budgets and transactions - Getting financial insights - Managing your budget through natural conversation ## Security - Tokens are stored securely in a mounted Docker volume - No sensitive data is logged - Authentication uses OAuth 2.0 standards - Support for read-only mode ## Implementation Details The implementation follows the Model Context Protocol standard using: - Node.js and the official MCP SDK - Docker for containerization and deployment - YNAB JavaScript SDK for API operations - OAuth 2.0 for authentication ## License MIT ## Acknowledgements - [YNAB API](https://api.youneedabudget.com/) - [YNAB JavaScript Library](https://github.com/ynab/ynab-sdk-js) - [Anthropic Claude](https://claude.ai/)

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/mattweg/ynab-mcp'

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