@dizzlkheinz/ynab-mcpb 0.26.6 → 0.26.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/CLAUDE.md +1 -1
- package/dist/bundle/index.cjs +14 -2
- package/dist/tools/transactionWriteTools.js +14 -2
- package/docs/reference/API.md +3 -1
- package/package.json +1 -1
- package/src/tools/transactionWriteTools.ts +14 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.26.7] - 2026-04-03
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- **Improved `ynab_create_transaction` tool description** — Documents `flag_color`, `subtransactions`, and `import_id` parameters; clarifies when to use subtransactions vs `create_receipt_split_transaction`
|
|
15
|
+
- **Improved `ynab_create_transactions` tool description** — Clarifies `import_id` guidance for YNAB-side duplicate detection
|
|
16
|
+
- **Improved `ynab_create_receipt_split_transaction` tool description** — Documents `memo`, `receipt_subtotal`, `cleared`, `approved`, `flag_color` parameters; adds cross-reference to `create_transaction` for generic splits
|
|
17
|
+
- **API reference documentation** — Adds subtransaction and `import_id` guidance to `create_transaction`; cross-references `create_receipt_split_transaction` for receipt workflows
|
|
18
|
+
|
|
10
19
|
## [0.26.6] - 2026-04-03
|
|
11
20
|
|
|
12
21
|
### Changed
|
package/CLAUDE.md
CHANGED
|
@@ -6,7 +6,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
|
|
6
6
|
|
|
7
7
|
This is a Model Context Protocol (MCP) server for YNAB (You Need A Budget) integration, enabling AI assistants to interact with YNAB budgets, accounts, transactions, and categories. The codebase uses TypeScript with a modular, service-oriented architecture.
|
|
8
8
|
|
|
9
|
-
**Current Version:** 0.26.
|
|
9
|
+
**Current Version:** 0.26.7
|
|
10
10
|
|
|
11
11
|
## Essential Commands
|
|
12
12
|
|
package/dist/bundle/index.cjs
CHANGED
|
@@ -319,7 +319,12 @@ Args:
|
|
|
319
319
|
- memo (string, optional): Memo text.
|
|
320
320
|
- cleared (string, optional): "cleared", "uncleared", or "reconciled". Default: "uncleared".
|
|
321
321
|
- approved (boolean, optional): Mark as approved. Default: false.
|
|
322
|
+
- flag_color (string, optional): Transaction flag color ("red", "orange", "yellow", "green", "blue", "purple").
|
|
322
323
|
- dry_run (boolean, optional): Preview without saving. Default: false.
|
|
324
|
+
- subtransactions (array, optional): Manual split lines. Each entry accepts "amount" (integer milliunits), plus optional "memo", "category_id", "payee_id", and "payee_name".
|
|
325
|
+
|
|
326
|
+
Use "subtransactions" for manual split transactions. Use "ynab_create_receipt_split_transaction" when you have itemized receipt data and want proportional tax allocation handled for you.
|
|
327
|
+
Advanced: "import_id" is supported, but it is intentionally not part of normal guidance. Usually omit it if you want the transaction to remain eligible for later bank-import matching.
|
|
323
328
|
|
|
324
329
|
Returns: created transaction with account_balance.
|
|
325
330
|
|
|
@@ -335,18 +340,25 @@ Returns: summary (created, duplicates, failed), results[], transactions[].
|
|
|
335
340
|
|
|
336
341
|
Examples:
|
|
337
342
|
- Dry run first: set dry_run=true to validate before committing
|
|
338
|
-
-
|
|
343
|
+
- If you explicitly want YNAB-side duplicate import detection, set import_id on each transaction`,inputSchema:v4,outputSchema:gv,handler:n(yF),defaultArgumentResolver:a(),metadata:{annotations:{...We.WRITE_EXTERNAL_CREATE,title:"YNAB: Create Multiple Transactions"}}}),e.register({name:"ynab_create_receipt_split_transaction",description:`Create a split transaction from itemized receipt data with proportional tax allocation.
|
|
339
344
|
|
|
340
345
|
Args:
|
|
341
346
|
- budget_id (string, optional): Budget UUID. Omit to use the default budget.
|
|
342
347
|
- account_id (string, required): Account UUID.
|
|
343
|
-
- payee_name (string,
|
|
348
|
+
- payee_name (string, required): Store/payee name.
|
|
344
349
|
- receipt_total (number, required): Total amount in dollars (positive).
|
|
345
350
|
- receipt_tax (number, required): Tax amount in dollars (0 if none).
|
|
346
351
|
- categories (array, required): Category groups with items. Each item needs name, amount.
|
|
347
352
|
- date (string, optional): ISO date. Default: today.
|
|
353
|
+
- memo (string, optional): Memo applied to the parent transaction.
|
|
354
|
+
- receipt_subtotal (number, optional): Pre-tax subtotal for validation.
|
|
355
|
+
- cleared (string, optional): "cleared", "uncleared", or "reconciled". Default: "uncleared".
|
|
356
|
+
- approved (boolean, optional): Mark as approved. Default: false.
|
|
357
|
+
- flag_color (string, optional): Transaction flag color ("red", "orange", "yellow", "green", "blue", "purple").
|
|
348
358
|
- dry_run (boolean, optional): Preview subtransactions without saving. Default: false.
|
|
349
359
|
|
|
360
|
+
Use this helper when you have receipt line items and want tax allocated across categories automatically. For generic manual split transactions without receipt/tax logic, use "ynab_create_transaction" with "subtransactions".
|
|
361
|
+
|
|
350
362
|
Returns: transaction with subtransactions and receipt_summary.`,inputSchema:D7,outputSchema:bv,handler:n(hF),defaultArgumentResolver:a(),metadata:{annotations:{...We.WRITE_EXTERNAL_CREATE,title:"YNAB: Create Split Transaction from Receipt"}}}),e.register({name:"ynab_update_transaction",description:`Update fields on an existing YNAB transaction.
|
|
351
363
|
|
|
352
364
|
Args:
|
|
@@ -1309,7 +1309,12 @@ Args:
|
|
|
1309
1309
|
- memo (string, optional): Memo text.
|
|
1310
1310
|
- cleared (string, optional): "cleared", "uncleared", or "reconciled". Default: "uncleared".
|
|
1311
1311
|
- approved (boolean, optional): Mark as approved. Default: false.
|
|
1312
|
+
- flag_color (string, optional): Transaction flag color ("red", "orange", "yellow", "green", "blue", "purple").
|
|
1312
1313
|
- dry_run (boolean, optional): Preview without saving. Default: false.
|
|
1314
|
+
- subtransactions (array, optional): Manual split lines. Each entry accepts "amount" (integer milliunits), plus optional "memo", "category_id", "payee_id", and "payee_name".
|
|
1315
|
+
|
|
1316
|
+
Use "subtransactions" for manual split transactions. Use "ynab_create_receipt_split_transaction" when you have itemized receipt data and want proportional tax allocation handled for you.
|
|
1317
|
+
Advanced: "import_id" is supported, but it is intentionally not part of normal guidance. Usually omit it if you want the transaction to remain eligible for later bank-import matching.
|
|
1313
1318
|
|
|
1314
1319
|
Returns: created transaction with account_balance.
|
|
1315
1320
|
|
|
@@ -1339,7 +1344,7 @@ Returns: summary (created, duplicates, failed), results[], transactions[].
|
|
|
1339
1344
|
|
|
1340
1345
|
Examples:
|
|
1341
1346
|
- Dry run first: set dry_run=true to validate before committing
|
|
1342
|
-
-
|
|
1347
|
+
- If you explicitly want YNAB-side duplicate import detection, set import_id on each transaction`,
|
|
1343
1348
|
inputSchema: CreateTransactionsSchema,
|
|
1344
1349
|
outputSchema: CreateTransactionsOutputSchema,
|
|
1345
1350
|
handler: adaptWrite(handleCreateTransactions),
|
|
@@ -1358,13 +1363,20 @@ Examples:
|
|
|
1358
1363
|
Args:
|
|
1359
1364
|
- budget_id (string, optional): Budget UUID. Omit to use the default budget.
|
|
1360
1365
|
- account_id (string, required): Account UUID.
|
|
1361
|
-
- payee_name (string,
|
|
1366
|
+
- payee_name (string, required): Store/payee name.
|
|
1362
1367
|
- receipt_total (number, required): Total amount in dollars (positive).
|
|
1363
1368
|
- receipt_tax (number, required): Tax amount in dollars (0 if none).
|
|
1364
1369
|
- categories (array, required): Category groups with items. Each item needs name, amount.
|
|
1365
1370
|
- date (string, optional): ISO date. Default: today.
|
|
1371
|
+
- memo (string, optional): Memo applied to the parent transaction.
|
|
1372
|
+
- receipt_subtotal (number, optional): Pre-tax subtotal for validation.
|
|
1373
|
+
- cleared (string, optional): "cleared", "uncleared", or "reconciled". Default: "uncleared".
|
|
1374
|
+
- approved (boolean, optional): Mark as approved. Default: false.
|
|
1375
|
+
- flag_color (string, optional): Transaction flag color ("red", "orange", "yellow", "green", "blue", "purple").
|
|
1366
1376
|
- dry_run (boolean, optional): Preview subtransactions without saving. Default: false.
|
|
1367
1377
|
|
|
1378
|
+
Use this helper when you have receipt line items and want tax allocated across categories automatically. For generic manual split transactions without receipt/tax logic, use "ynab_create_transaction" with "subtransactions".
|
|
1379
|
+
|
|
1368
1380
|
Returns: transaction with subtransactions and receipt_summary.`,
|
|
1369
1381
|
inputSchema: CreateReceiptSplitTransactionSchema,
|
|
1370
1382
|
outputSchema: CreateReceiptSplitTransactionOutputSchema,
|
package/docs/reference/API.md
CHANGED
|
@@ -915,6 +915,8 @@ Creates a new transaction in the specified budget and account.
|
|
|
915
915
|
- `subtransactions` (array, optional): Split line items; each entry accepts `amount` (integer milliunits), plus optional `memo`, `category_id`, `payee_id`, and `payee_name`
|
|
916
916
|
|
|
917
917
|
When `subtransactions` are supplied, their `amount` values must sum to the parent `amount` in milliunits, matching YNAB API requirements.
|
|
918
|
+
Use `subtransactions` for manual split transactions. Use `create_receipt_split_transaction` when you have itemized receipt data and want proportional tax allocation handled automatically.
|
|
919
|
+
Advanced: `import_id` is supported, but it is intentionally not part of normal guidance. Usually omit it if you want the transaction to remain eligible for later bank-import matching.
|
|
918
920
|
|
|
919
921
|
**Example Request:**
|
|
920
922
|
```json
|
|
@@ -954,7 +956,7 @@ When `subtransactions` are supplied, their `amount` values must sum to the paren
|
|
|
954
956
|
|
|
955
957
|
### create_receipt_split_transaction
|
|
956
958
|
|
|
957
|
-
Creates a split transaction from categorized receipt data and allocates taxes proportionally across the selected categories. Use this helper after the user has confirmed the receipt breakdown and category assignments.
|
|
959
|
+
Creates a split transaction from categorized receipt data and allocates taxes proportionally across the selected categories. Use this helper after the user has confirmed the receipt breakdown and category assignments. For generic manual splits without receipt-tax logic, use `create_transaction` with `subtransactions`.
|
|
958
960
|
|
|
959
961
|
**Parameters:**
|
|
960
962
|
- `budget_id` (string, optional): The ID of the budget. Omit to use the default budget
|
package/package.json
CHANGED
|
@@ -2069,7 +2069,12 @@ Args:
|
|
|
2069
2069
|
- memo (string, optional): Memo text.
|
|
2070
2070
|
- cleared (string, optional): "cleared", "uncleared", or "reconciled". Default: "uncleared".
|
|
2071
2071
|
- approved (boolean, optional): Mark as approved. Default: false.
|
|
2072
|
+
- flag_color (string, optional): Transaction flag color ("red", "orange", "yellow", "green", "blue", "purple").
|
|
2072
2073
|
- dry_run (boolean, optional): Preview without saving. Default: false.
|
|
2074
|
+
- subtransactions (array, optional): Manual split lines. Each entry accepts "amount" (integer milliunits), plus optional "memo", "category_id", "payee_id", and "payee_name".
|
|
2075
|
+
|
|
2076
|
+
Use "subtransactions" for manual split transactions. Use "ynab_create_receipt_split_transaction" when you have itemized receipt data and want proportional tax allocation handled for you.
|
|
2077
|
+
Advanced: "import_id" is supported, but it is intentionally not part of normal guidance. Usually omit it if you want the transaction to remain eligible for later bank-import matching.
|
|
2073
2078
|
|
|
2074
2079
|
Returns: created transaction with account_balance.
|
|
2075
2080
|
|
|
@@ -2101,7 +2106,7 @@ Returns: summary (created, duplicates, failed), results[], transactions[].
|
|
|
2101
2106
|
|
|
2102
2107
|
Examples:
|
|
2103
2108
|
- Dry run first: set dry_run=true to validate before committing
|
|
2104
|
-
-
|
|
2109
|
+
- If you explicitly want YNAB-side duplicate import detection, set import_id on each transaction`,
|
|
2105
2110
|
inputSchema: CreateTransactionsSchema,
|
|
2106
2111
|
outputSchema: CreateTransactionsOutputSchema,
|
|
2107
2112
|
handler: adaptWrite(handleCreateTransactions),
|
|
@@ -2122,13 +2127,20 @@ Examples:
|
|
|
2122
2127
|
Args:
|
|
2123
2128
|
- budget_id (string, optional): Budget UUID. Omit to use the default budget.
|
|
2124
2129
|
- account_id (string, required): Account UUID.
|
|
2125
|
-
- payee_name (string,
|
|
2130
|
+
- payee_name (string, required): Store/payee name.
|
|
2126
2131
|
- receipt_total (number, required): Total amount in dollars (positive).
|
|
2127
2132
|
- receipt_tax (number, required): Tax amount in dollars (0 if none).
|
|
2128
2133
|
- categories (array, required): Category groups with items. Each item needs name, amount.
|
|
2129
2134
|
- date (string, optional): ISO date. Default: today.
|
|
2135
|
+
- memo (string, optional): Memo applied to the parent transaction.
|
|
2136
|
+
- receipt_subtotal (number, optional): Pre-tax subtotal for validation.
|
|
2137
|
+
- cleared (string, optional): "cleared", "uncleared", or "reconciled". Default: "uncleared".
|
|
2138
|
+
- approved (boolean, optional): Mark as approved. Default: false.
|
|
2139
|
+
- flag_color (string, optional): Transaction flag color ("red", "orange", "yellow", "green", "blue", "purple").
|
|
2130
2140
|
- dry_run (boolean, optional): Preview subtransactions without saving. Default: false.
|
|
2131
2141
|
|
|
2142
|
+
Use this helper when you have receipt line items and want tax allocated across categories automatically. For generic manual split transactions without receipt/tax logic, use "ynab_create_transaction" with "subtransactions".
|
|
2143
|
+
|
|
2132
2144
|
Returns: transaction with subtransactions and receipt_summary.`,
|
|
2133
2145
|
inputSchema: CreateReceiptSplitTransactionSchema,
|
|
2134
2146
|
outputSchema: CreateReceiptSplitTransactionOutputSchema,
|