# ynab-mcp [Health: Active]

**Category:** 💰 Finance & Fintech  
**Repository:** https://github.com/auzroz/ynab-mcp  
**GitHub Stars:** 5  
**npm Downloads (last month):** 1330  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/ynab-mcp

## Description
Self-hostable MCP server for YNAB: full API coverage plus spending analytics, over stdio or Streamable HTTP with OAuth

## Tools
Capabilities this server exposes over MCP:

- **ynab_get_user** — Get information about the authenticated YNAB user.

Use when the user asks:
- "Who am I logged in as?"
- "What's my YNAB user ID?"
- "Show my user ID"

Returns the user's ID.
- **ynab_list_budgets** — List all budgets the user has access to in YNAB.

Use when the user asks:
- "What budgets do I have?"
- "Show me my YNAB budgets"
- "List my budgets"
- "Which budget should I use?"

Returns budget names, IDs, last modified dates, first and last month, and date format. Optionally includes account summaries.

Not possible through the YNAB API (do it in the YNAB app): creating, renaming or deleting plans (budgets), and changing plan settings.
- **ynab_get_budget** — Get detailed information about a specific budget including accounts, categories, and payees.

Use when the user asks:
- "Show me my budget details"
- "What's in my budget?"
- "Give me an overview of my budget"
- "Tell me about my main budget"

Returns comprehensive budget data including all accounts, category groups, categories, and payees.

Not possible through the YNAB API (do it in the YNAB app): creating, renaming or deleting plans (budgets), and changing plan settings.
- **ynab_get_budget_settings** — Get settings for a budget including currency format, date format, and other preferences.

Use when the user asks:
- "What currency is my budget in?"
- "Show my budget settings"
- "What's my budget date format?"
- "What are my YNAB preferences?"

Returns currency format, date format, and currency ISO code.

Not possible through the YNAB API (do it in the YNAB app): creating, renaming or deleting plans (budgets), and changing plan settings such as currency or date format.
- **ynab_list_accounts** — List all accounts in a budget with their current balances.

Use when the user asks:
- "What accounts do I have?"
- "Show my account balances"
- "What's my net worth?"
- "List my bank accounts"
- "How much money do I have?"

Returns account names, types, and current/cleared/uncleared balances, plus on_budget, closed, note, last_reconciled_at, direct import status, transfer_payee_id (use it as payee_id to record a transfer), and debt details (original balance, interest rates, minimum payments, escrow) when present.
Pass since_server_knowledge (the server_knowledge of an earlier response) to get only the accounts changed since then.

Not possible through the YNAB API (do it in the YNAB app): editing, closing or reopening accounts, setting up loan accounts, and changing interest rates.
- **ynab_get_account** — Get details about a specific account including balance and recent activity.

Use when the user asks:
- "Show me details for my checking account"
- "What's the balance of [account name]?"
- "Tell me about my savings account"
- "Get info on a specific account"

Also returns transfer_payee_id: set it as payee_id on ynab_create_transaction to record a transfer into this account.

Requires an account_id. Use ynab_list_accounts first to find the account ID.

Not possible through the YNAB API (do it in the YNAB app): editing, closing or reopening an account, setting up loan accounts, and changing interest rates.
- **ynab_list_categories** — List all category groups and categories in a budget with budgeted amounts and balances.

Use when the user asks:
- "What categories do I have?"
- "Show my budget categories"
- "How is my budget organized?"
- "What are my spending categories?"
- "List my budget breakdown"

Returns category groups with their categories, including budgeted amounts, activity, and remaining balances.
Pass since_server_knowledge (the server_knowledge of an earlier response) to get only the groups and categories changed since then. Budgeted, activity and balance are for the current month, and a new month changes them without YNAB reporting a change, so re-read in full after a month begins.

Not possible through the YNAB API (do it in the YNAB app): target cadences other than monthly/weekly/yearly, due days, choosing the target type, and snoozing a target; hiding, unhiding, deleting or reordering categories and groups.
- **ynab_get_category** — Get details about a specific budget category including budgeted amount, activity, and goal status.

Use when the user asks:
- "Show me details for my Groceries category"
- "What's the balance in [category name]?"
- "How much is budgeted for [category]?"
- "What's my goal progress for [category]?"

Requires a category_id. Use ynab_list_categories first to find the category ID.

Not possible through the YNAB API (do it in the YNAB app): target cadences other than monthly/weekly/yearly, due days, choosing the target type, and snoozing a target.
- **ynab_get_month_category** — Get category details for a specific month, including that month's budgeted amount, activity, and balance.

Use when the user asks:
- "How much did I budget for Groceries in January?"
- "What was my spending in [category] last month?"
- "Show me [category] for [month]"
- "What was my [category] balance in [month]?"

Use first-of-month format for the month parameter (e.g., 2024-01-01 for January 2024).
Requires a category_id. Use ynab_list_categories first to find the category ID.

Not possible through the YNAB API (do it in the YNAB app): target cadences other than monthly/weekly/yearly, due days, choosing the target type, and snoozing a target.
- **ynab_list_payees** — List all payees in a budget.

Use when the user asks:
- "Show my payees"
- "List all merchants"
- "Who have I paid?"
- "Find a payee"

Returns payee names and IDs. Payees are merchants, people, or places you transact with.
Pass since_server_knowledge (the server_knowledge of an earlier response) to get only the payees changed since then.

Not possible through the YNAB API (do it in the YNAB app): deleting or merging payees, and editing payee locations.
- **ynab_get_payee** — Get details about a specific payee.

Use when the user asks:
- "Show me details for [payee]"
- "Get info on a merchant"

Requires a payee_id. Use ynab_list_payees first to find the payee ID.
- **ynab_list_payee_locations** — List all payee locations for a budget.

Use when the user asks:
- "Where are my payees located?"
- "Show payee locations"
- "Map of where I spend"
- "Payee geographic data"

Returns payee locations with latitude/longitude for mapping purposes.

Not possible through the YNAB API (do it in the YNAB app): adding, editing or deleting payee locations.
- **ynab_get_payee_location** — Get a specific payee location by ID.

Returns the details of a single payee location including coordinates.
- **ynab_list_payee_locations_by_payee** — List all locations for a specific payee.

Use when the user asks:
- "Where is [payee] located?"
- "Show locations for [store]"
- "Which [payee] locations have I visited?"

Returns all recorded locations for a specific payee.
- **ynab_list_months** — List all budget months with summary information.

Use when the user asks:
- "Show my budget months"
- "What months do I have budgeted?"
- "List my budget history"
- "Show me past months"

Returns each month's income, budgeted, activity, and to-be-budgeted amounts.
Pass since_server_knowledge (the server_knowledge of an earlier response) to get only the months changed since then.
- **ynab_get_month** — Get detailed information about a specific budget month including all categories.

Use when the user asks:
- "Show me January's budget"
- "What did I budget last month?"
- "Give me details for [month]"
- "How much did I have to budget in [month]?"

Use first-of-month format for the month parameter (e.g., 2024-01-01 for January 2024).
Use "current" for the current month.
- **ynab_list_transactions** — List transactions for a budget with optional filters.

Use when the user asks:
- "Show my recent transactions"
- "What did I spend this month?"
- "List my uncategorized transactions"
- "Show transactions since [date]"
- "What purchases have I made recently?"
- "Show all transactions for March" (month: "2024-03-01")
- "Show me the past 7 days of transactions"
- "What did I spend last week?"

Supports filtering by date (ISO or natural language like "past 30 days", "this month") and type (uncategorized/unapproved).
Returns transaction details including date, payee, amount, category, and status.

NOTE: If since_date is omitted, YNAB returns only the last 12 months of transactions (API 1.85 default). Pass an earlier since_date to see older history. until_date sets an inclusive upper bound.
Pass month (YYYY-MM-01 or "current") to list a single budget month instead of the default 12-month window; it can be narrowed further with since_date/until_date.
Pass since_server_knowledge (the server_knowledge of an earlier response with the same filters) to get only the transactions changed since then. If more changed than limit, the response keeps your cursor (cursor_withheld: true) so nothing is skipped. A delta may leave out a transaction that changed so it no longer matches the filters; re-read in full to keep a filtered list exact.
- **ynab_get_transaction** — Get details about a specific transaction.

Use when the user asks:
- "Show me details for that transaction"
- "What's the info on transaction [id]?"
- "Tell me more about that purchase"

Requires a transaction_id. Use ynab_list_transactions first to find the transaction ID.
- **ynab_list_account_transactions** — List transactions for a specific account.

Use when the user asks:
- "Show transactions for my checking account"
- "What purchases were made on my credit card?"
- "List activity in [account name]"
- "Which transactions in my checking account are unapproved?"
- "Show uncategorized transactions in [account name]"

Pass type ("unapproved" or "uncategorized") to narrow to transactions that need attention.
Requires an account_id. Use ynab_list_accounts first to find the account ID.

NOTE: If since_date is omitted, YNAB returns only the last 12 months of transactions (API 1.85 default). Pass an earlier since_date to see older history. until_date sets an inclusive upper bound.
Pass since_server_knowledge (the server_knowledge of an earlier response with the same filters) to get only the transactions changed since then. If more changed than limit, the response keeps your cursor (cursor_withheld: true) so nothing is skipped. A delta may leave out a transaction that changed so it no longer matches the filters; re-read in full to keep a filtered list exact.
- **ynab_list_category_transactions** — List transactions for a specific category.

Use when the user asks:
- "Show my grocery transactions"
- "What did I spend on dining out?"
- "List transactions in [category name]"
- "Show unapproved transactions in the [category] category"

Pass type ("unapproved" or "uncategorized") to narrow to transactions that need attention.
Requires a category_id. Use ynab_list_categories first to find the category ID.

NOTE: If since_date is omitted, YNAB returns only the last 12 months of transactions (API 1.85 default). Pass an earlier since_date to see older history. until_date sets an inclusive upper bound.
Pass since_server_knowledge (the server_knowledge of an earlier response with the same filters) to get only the transactions changed since then. If more changed than limit, the response keeps your cursor (cursor_withheld: true) so nothing is skipped. A delta may leave out a transaction that changed so it no longer matches the filters; re-read in full to keep a filtered list exact.
- **ynab_list_payee_transactions** — List transactions for a specific payee (merchant/vendor).

Use when the user asks:
- "Show my Amazon purchases"
- "What have I spent at Costco?"
- "List transactions for [payee name]"
- "Are there unapproved transactions for [payee]?"

Pass type ("unapproved" or "uncategorized") to narrow to transactions that need attention.
Requires a payee_id. Use ynab_list_payees first to find the payee ID.

NOTE: If since_date is omitted, YNAB returns only the last 12 months of transactions (API 1.85 default). Pass an earlier since_date to see older history. until_date sets an inclusive upper bound.
Pass since_server_knowledge (the server_knowledge of an earlier response with the same filters) to get only the transactions changed since then. If more changed than limit, the response keeps your cursor (cursor_withheld: true) so nothing is skipped. A delta may leave out a transaction that changed so it no longer matches the filters; re-read in full to keep a filtered list exact.
- **ynab_list_scheduled_transactions** — List all scheduled transactions (recurring bills, subscriptions, etc.) in a budget.

Use when the user asks:
- "Show my scheduled transactions"
- "What recurring bills do I have?"
- "List my subscriptions"
- "What payments are coming up?"

Returns scheduled transaction details including frequency, next occurrence, and amounts.
Pass since_server_knowledge (the server_knowledge of an earlier response) to get only the scheduled transactions changed since then.
- **ynab_get_scheduled_transaction** — Get details about a specific scheduled transaction.

Use when the user asks:
- "Show me details for that scheduled transaction"
- "What's the info on my Netflix subscription?"

Requires a scheduled_transaction_id. Use ynab_list_scheduled_transactions first to find the ID.
- **ynab_detect_recurring** — Detect recurring transactions (subscriptions, bills) by analyzing transaction patterns.

Use when the user asks:
- "What subscriptions do I have?"
- "Find my recurring bills"
- "What do I pay every month?"
- "Detect my regular payments"

Analyzes transaction history to find patterns and estimates monthly costs.
- **ynab_spending_analysis** — Analyze spending patterns and trends.

Use when the user asks:
- "How much am I spending?"
- "What are my biggest expenses?"
- "Show my spending trends"
- "Analyze my spending habits"
- "Where does my money go?"

Provides category breakdowns, trends, and insights.
- **ynab_budget_health** — Get an overall budget health assessment.

Use when the user asks:
- "How is my budget doing?"
- "What's my budget status?"
- "Am I on track this month?"
- "Budget health check"
- "Any budget problems?"

Provides key metrics, alerts, and recommendations.
- **ynab_savings_opportunities** — Find potential savings opportunities based on spending patterns.

Use when the user asks:
- "How can I save money?"
- "Where can I cut back?"
- "What are my unnecessary expenses?"
- "Help me reduce spending"
- "Find savings opportunities"

Analyzes spending to identify areas where cuts might be possible.
- **ynab_budget_vs_actuals** — Compare budgeted amounts against actual spending for each category.

Use when the user asks:
- "How am I doing on my budget?"
- "Am I over budget anywhere?"
- "Compare budget vs actual"
- "Which categories are overspent?"
- "Show my budget performance"

Returns detailed budget vs actuals for all categories with variance analysis.
- **ynab_quick_summary** — Get a quick at-a-glance summary of the budget status.

Use when the user asks:
- "How's my budget looking?"
- "Give me a quick overview"
- "What's my financial status?"
- "Summary of my finances"
- "How much money do I have?"

Returns key metrics: available funds, spending this month, account balances, and alerts.
This is the best tool to use for general budget status questions.
- **ynab_income_expense** — Track income vs expenses with monthly breakdown.

Use when the user asks:
- "How much did I earn vs spend?"
- "What's my income vs expenses?"
- "Am I spending more than I make?"
- "Show my cash flow"
- "What's my savings rate?"

Returns monthly income, expenses, net savings, and savings rate.
- **ynab_net_worth** — Calculate total net worth from all accounts.

Use when the user asks:
- "What's my net worth?"
- "How much do I have in total?"
- "Show all my account balances"
- "What are my assets and liabilities?"

Includes both budget accounts and tracking accounts (investments, property, etc.).
Returns breakdown by account type with total assets, liabilities, and net worth.
- **ynab_goal_progress** — Track progress on all category goals.

Use when the user asks:
- "How are my goals doing?"
- "Show goal progress"
- "Which goals need more funding?"
- "Am I on track with my savings goals?"
- "What goals are behind?"

Returns goal progress, funding status, and projections for each category with a goal.
- **ynab_spending_by_payee** — Analyze spending patterns by merchant/payee.

Use when the user asks:
- "Where do I spend the most?"
- "Top merchants by spending"
- "Which stores do I shop at most?"
- "Show spending by payee"
- "Who gets most of my money?"

Returns top payees ranked by total spending with transaction counts and averages.
- **ynab_unused_categories** — Find categories with no recent activity.

Use when the user asks:
- "Which categories am I not using?"
- "Find unused categories"
- "Clean up my budget categories"
- "Categories with no activity"
- "What categories can I delete?"

Helps identify categories that could be removed or consolidated.
- **ynab_monthly_comparison** — Compare this month vs last month for spending and budgeting.

Use when the user asks:
- "How does this month compare to last month?"
- "Am I spending more or less?"
- "Month over month comparison"
- "Compare my spending"
- "What's changed since last month?"

Returns side-by-side comparison of spending, income, and category performance.
- **ynab_spending_trends** — Analyze spending trends over multiple months.

Use when the user asks:
- "What are my spending trends?"
- "How has my spending changed over time?"
- "Show me category trends"
- "Which categories are increasing?"
- "Am I spending more or less over time?"

Returns month-by-month spending data with trend analysis.
- **ynab_cash_flow_forecast** — Project future cash flow based on scheduled transactions.

Use when the user asks:
- "What's my cash flow forecast?"
- "Will I have enough money next month?"
- "What bills are coming up?"
- "Project my account balance"
- "When will I run low on money?"

Returns projected cash flow including scheduled income and expenses.
- **ynab_reconciliation_helper** — Help with account reconciliation by showing uncleared transactions.

Use when the user asks:
- "Help me reconcile my accounts"
- "What transactions haven't cleared?"
- "Show uncleared transactions"
- "Pending transactions"
- "Reconciliation status"

Returns uncleared transactions organized by account with totals.
- **ynab_budget_suggestions** — Suggest budget amounts based on historical spending.

Use when the user asks:
- "How much should I budget for [category]?"
- "Suggest budget amounts"
- "What's a realistic budget?"
- "Help me set my budget"
- "Based on my spending, what should I budget?"

Returns suggested monthly budget amounts for each category based on actual spending patterns.
- **ynab_overspending_alerts** — Check for categories that are currently overspent.

Use when the user asks:
- "Am I overspending?"
- "What categories are over budget?"
- "Any overspending alerts?"
- "Where am I in the red?"
- "Check my budget status"

Returns a quick list of all overspent categories with amounts.
- **ynab_transaction_search** — Search transactions with powerful filtering options.

Use when the user asks:
- "Find transactions at [store]"
- "Search for [keyword] in my transactions"
- "Transactions over $100"
- "What did I spend on [category]?"
- "Find large purchases"
- "Search my expenses"

Supports filtering by payee, category, amount range, date range, and text search.

NOTE: If since_date is omitted, YNAB returns only the last 12 months of transactions (API 1.85 default). If only until_date is given, the search starts at the budget's first month so older ranges work (may fetch many transactions; still one request).
- **ynab_spending_pace** — Track daily spending rate and project end-of-month status.

Use when the user asks:
- "Am I on track this month?"
- "What's my spending pace?"
- "Will I stay within budget?"
- "How much can I spend per day?"
- "Daily spending rate"

Returns current spending rate vs target rate with projections.
- **ynab_category_balances** — Check category balances with optional filtering.

Use when the user asks:
- "What's my balance in [category]?"
- "How much do I have for groceries?"
- "Show category balances"
- "Which categories have money?"
- "What categories are negative?"

Returns current category balances with filtering options.
- **ynab_credit_card_status** — Check credit card balances and payment category status.

Use when the user asks:
- "What's my credit card balance?"
- "How much do I owe on credit cards?"
- "Credit card payment status"
- "Do I have enough to pay my credit cards?"
- "Show credit card accounts"

Returns credit card balances with corresponding payment category balances.
- **ynab_age_of_money** — Get the Age of Money metric with explanation and tips.

Use when the user asks:
- "What's my age of money?"
- "How old is my money?"
- "Explain age of money"
- "Am I living on last month's income?"
- "How long does my money last?"

Returns the current age of money with context and improvement tips.
- **ynab_preview_scheduled_transaction** — Preview a scheduled transaction before creating it.

Use when the user asks:
- "Show me what this scheduled transaction would look like"
- "Preview recurring payment"
- "What would this subscription cost annually?"
- "Validate scheduled transaction"

Validates all inputs and returns a preview with estimated costs.
Does NOT create anything - use ynab_create_scheduled_transaction to actually create.
- **ynab_list_money_movements** — List money movements (moves of funds between categories) for a budget.

Use when the user asks:
- "Show me my money moves between categories"
- "When did I move money out of [category]?"
- "List my category fund transfers"
- "What money did I move in [month]?"

Returns each movement's amount (formatted, plus amount_milliunits), the categories it moved between, when it happened and who performed it (performed_by_user_id, masked). Pass month (YYYY-MM-01 or "current") to limit to a single budget month. Pass group_by_group=true to get movements nested under their money movement group (money_movement_groups[].movements, plus ungrouped_movements) instead of a flat list; it costs one extra request.
- **ynab_list_money_movement_groups** — List money movement groups: batches of category-to-category fund moves that were made together.

Use when the user asks:
- "Which budget rebalancing batches did I do?"
- "Show my money move groups for [month]"
- "What were the notes on my category fund moves?"

Each group has an id, creation time, month, note and who performed it (performed_by_user_id, masked). Use the group id to match entries from ynab_list_money_movements (money_movement_group_id). Pass month (YYYY-MM-01 or "current") to limit to one budget month.
- **ynab_rate_limit_status** — Check the current YNAB API rate limit status.

Use when you need to:
- Check how many API requests are available
- See if rate limiting might affect operations
- Plan large operations that require many API calls

YNAB allows 200 requests per hour. This server uses 180 as a safety margin. If YNAB itself has answered 429 (too many requests), ynab_exhausted shows when that happened and when requests are allowed again; until then requests fail fast.
- **ynab_audit_log** — View the audit log of write operations.

Use when the user asks:
- "What changes have been made?"
- "Show me the audit log"
- "What transactions were created?"
- "Were there any failed operations?"

Shows all create, update, and delete operations with timestamps.
- **ynab_health_check** — Check the health of the YNAB MCP server and API connection.

Use when:
- Troubleshooting connection issues
- Verifying the server is configured correctly
- Checking if the YNAB API is accessible

Returns server status, API connectivity, and configuration details.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "ynab-mcp": {
    "command": "npx",
    "args": ["-y","ynab-mcp"],
    "env": {
      "YNAB_ACCESS_TOKEN": ""
    }
  }
}
```

**Requires environment variables:** `YNAB_ACCESS_TOKEN` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What ynab-mcp does

ynab-mcp connects an MCP-compatible client to a YNAB account and makes budget information available through natural-language requests. Its 69 tools combine broad YNAB API coverage with custom analytics, allowing an assistant to inspect budgets, transactions, categories, accounts, and scheduled activity, then calculate higher-level financial insights.

The analytics set includes recurring-payment detection, spending analysis, budget-health scoring, savings opportunities, budget-versus-actual comparisons, net-worth calculations, goal-progress tracking, cash-flow forecasting, reconciliation assistance, spending pace, and month-over-month comparisons. The server is useful for questions such as how much was spent in a category, whether spending is on track, or where expenses could be reduced.

## How it works

Local deployments use stdio by default. The server can also expose MCP Streamable HTTP at `POST /mcp`, with `GET /health` available for load-balancer checks. HTTP sessions have per-user isolation for the cache, rate limiter, and audit log. A single-user HTTP setup can pass a YNAB token through the `X-YNAB-Token` header, with `YNAB_ACCESS_TOKEN` available as a fallback.

For multi-user hosting, configure a YNAB OAuth application, `ENCRYPTION_KEY`, and `PUBLIC_URL`. In that mode, the server acts as an OAuth 2.1 authorization server federated to YNAB, allowing users to connect their own accounts and choose read-only or read-write access during consent.

Caching includes TTL handling for slower-changing data and delta synchronization using YNAB's `last_knowledge_of_server` value. Requests are governed by a token-bucket limiter set around a 180-request-per-hour budget with a safety margin.

## Setup and configuration

A YNAB account with API access and a Personal Access Token is required for the basic setup. Run the package directly with `npx -y ynab-mcp`, use the published Docker image, or build it from source with npm. Node.js 22.14 or newer is indicated for source-based use.

Set `YNAB_ACCESS_TOKEN` to the Personal Access Token. `YNAB_BUDGET_ID` can select a default budget; otherwise the server uses YNAB's last-used budget. `YNAB_READ_ONLY` defaults to `true`; set it to `false` to enable write operations.

Set `MCP_TRANSPORT=http` for remote mode. `PORT` controls the HTTP port and defaults to 3000. Remote deployments can also configure host and origin allowlists, session limits, idle timeouts, the MCP resource URL, and DNS-rebinding protection. DNS-rebinding checks are enabled by default. HTTP deployments should be served behind TLS.

Claude Desktop can launch the server with an MCP configuration that invokes `npx`, Docker, or a locally built Node.js entry point.

## Tools and capabilities

The server groups its tools into:

- 43 tools covering YNAB API functionality.
- 23 analytics tools for trends, recurring payments, forecasts, budget status, and related insights.
- 3 system tools.

Named analytics tools include `ynab_net_worth`, `ynab_detect_recurring`, `ynab_budget_health`, `ynab_spending_pace`, `ynab_monthly_comparison`, `ynab_savings_opportunities`, `ynab_spending_analysis`, and `ynab_list_category_transactions`. Write-capable API operations are protected by the read-only default and become available only when explicitly enabled.

## Limitations and notes

YNAB API access and a valid token are needed to retrieve account data. The default read-only behavior is intended to prevent accidental changes, but enabling writes changes that safety posture. Rate limiting applies to API requests, and cached or delta-synchronized reads may not fetch the entire dataset on every request.

Remote multi-user installations use a SQLite or PostgreSQL database whose schema is migrated in place at startup. Deployers should back up that database before upgrading. HTTP mode also requires careful host, origin, TLS, and session configuration, particularly when placed behind a proxy.

_Full upstream README: https://allmcps.com/mcp/ynab-mcp/readme_

