Skip to main content
Glama

YNAB MCP Server

by dgalarza

create_split_transaction

Create a new transaction split across multiple budget categories to track spending allocations for a single purchase or payment.

Instructions

Create a NEW split transaction with multiple category allocations.

This tool creates a brand new transaction that is split across multiple categories. It CANNOT be used to add splits to an existing transaction - the YNAB API does not support that. Args: budget_id: The ID of the budget (use 'last-used' for default budget) account_id: The account ID for this transaction date: Transaction date in YYYY-MM-DD format amount: Total transaction amount (positive for inflow, negative for outflow) subtransactions: JSON string containing array of subtransactions. Each subtransaction should have: - amount (required): The subtransaction amount - category_id (optional): Category ID for this split - payee_id (optional): Payee ID for this split - memo (optional): Memo for this split Example: '[{"amount": -50.00, "category_id": "cat1", "memo": "Groceries"}, {"amount": -30.00, "category_id": "cat2", "memo": "Gas"}]' payee_name: Name of the payee for the main transaction (optional) memo: Transaction memo (optional) cleared: Cleared status - 'cleared', 'uncleared', or 'reconciled' (default: 'uncleared') approved: Whether the transaction is approved (default: False) Returns: JSON string with the created split transaction Important Notes: - This creates a NEW transaction only - cannot modify existing transactions to add splits - The sum of subtransaction amounts should equal the total transaction amount - Once created, subtransactions cannot be modified via the API (YNAB limitation) - To "split" an existing transaction, you must delete it and create a new split transaction

Input Schema

NameRequiredDescriptionDefault
account_idYes
amountYes
approvedNo
budget_idYes
clearedNouncleared
dateYes
memoNo
payee_nameNo
subtransactionsYes

Input Schema (JSON Schema)

{ "properties": { "account_id": { "title": "Account Id", "type": "string" }, "amount": { "title": "Amount", "type": "number" }, "approved": { "default": false, "title": "Approved", "type": "boolean" }, "budget_id": { "title": "Budget Id", "type": "string" }, "cleared": { "default": "uncleared", "title": "Cleared", "type": "string" }, "date": { "title": "Date", "type": "string" }, "memo": { "default": null, "title": "Memo", "type": "string" }, "payee_name": { "default": null, "title": "Payee Name", "type": "string" }, "subtransactions": { "title": "Subtransactions", "type": "string" } }, "required": [ "budget_id", "account_id", "date", "amount", "subtransactions" ], "type": "object" }

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

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