This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
Summary
AI summaryFour new transaction write tools were added (create, delete, add_to_recurring, split) and get_holdings no longer crashes on nullable fields.
Full changelog
Added
- Four new transaction write tools bringing the write surface to 17 (total: 17 read + 17 write = 34 tools). All mirror the shapes Copilot's own web app uses via GraphQL:
create_transaction(#320) — add a manual transaction to a non-Plaid account. Supportsinternal_transferflag and amount bounds. The GraphQL response is mapped back to the project's Transaction shape and returned directly;get_transactionswon't reflect the new row until the nextrefresh_databasecycle (no in-memory insert helper exists — consistent withsplit_transaction).delete_transaction(#321) — delete a manual transaction. MarkeddestructiveHint: true.add_transaction_to_recurring(#322) — link an existing transaction to an existing recurring rule (the counterpart tocreate_recurring, which seeds a fresh rule).split_transaction(#323) — split one transaction into N children with per-child amount, category, note, and tags. MarkeddestructiveHint: truebecause the parent transaction's original fields become shared state across the children.
- Split-transaction awareness in
get_transactions(#315) — transactions now surfacesplit_children/split_parent_idso agents can reason about splits, and the spending aggregators stop double-counting a parent plus its children. - Decoder schema-drop instrumentation —
validateOrWarnhelper (#309, #311) andwarnUnreadFieldswired into all 29 collection processors (#316). New or renamed Copilot fields that we were silently dropping now log a one-line warning to stderr instead of disappearing. Combined with #317, which closed every real-DB field coverage gap visible via the decode-coverage script. - GraphQL reconnaissance catalog —
docs/graphql/gained a full sweep of hidden mutations plus a tested-absent catalog documenting which app operations have no web-GraphQL equivalent (#319, #324). /finance-cleanupstructural audit (#312) — cross-category spending pattern detection and matcher-state persistence so repeated runs don't re-examine the same merchants.- Smoke test coverage for transaction writes (#327) —
scripts/smoke-graphql.tsgained a transactions-write section exercising the four new tools end-to-end against a real account.
Fixed
get_holdingsno longer crashes on newly nullable fields (#302, #310) — Copilot's recent schema change madevested_quantity/vested_valuenullable on holdings; the Zod schemas were updated to allownullso RSU-bearing accounts stopped failing validation.
Changed
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About ignaciohermosillacornejo/copilot-money-mcp
Read and manage Copilot Money personal finance data — 30 tools for transactions, budgets, accounts, recurring charges, investments, and goals. Reads are 100% local from the Firestore cache; opt-in writes (`--write`) go directly to Copilot's GraphQL API.
Related context
Beta — feedback welcome: [email protected]