Problem
The core transaction rule tools (list_rules, create_rule, delete_rule) are implemented in SDK, MCP, and CLI. Several refinements remain that improve usability and test coverage.
Remaining Work
Tool docstring improvements
The MCP tool docstrings should be enhanced:
list_rules: note that rules execute in order sequence, with later rules overriding earlier ones for the same field
create_rule: document all supported criteria operators (eq, contains, gt, lt) and the distinction between:
merchantCriteria — matches Monarch's resolved merchant name
originalStatementCriteria — matches raw bank statement text
merchantNameCriteria — matches display merchant name
create_rule: warn that apply_to_existing=True can bulk-modify transaction history
- Cross-reference
update_transaction as the one-off alternative to rules for ad-hoc merchant renaming
Verify delete mutation against live API
DELETE_TRANSACTION_RULE_MUTATION returns deleted: true/false based on the captured mutation shape. The mutation has not been tested against the live API. Verify the response shape and error handling.
Preview query
PREVIEW_TRANSACTION_RULE_QUERY is captured in queries.py but not wired to SDK/MCP/CLI. This query shows which existing transactions a rule would match before creating it — useful for validation. Low priority until create_rule sees more use.
Work Breakdown
Problem
The core transaction rule tools (
list_rules,create_rule,delete_rule) are implemented in SDK, MCP, and CLI. Several refinements remain that improve usability and test coverage.Remaining Work
Tool docstring improvements
The MCP tool docstrings should be enhanced:
list_rules: note that rules execute inordersequence, with later rules overriding earlier ones for the same fieldcreate_rule: document all supported criteria operators (eq,contains,gt,lt) and the distinction between:merchantCriteria— matches Monarch's resolved merchant nameoriginalStatementCriteria— matches raw bank statement textmerchantNameCriteria— matches display merchant namecreate_rule: warn thatapply_to_existing=Truecan bulk-modify transaction historyupdate_transactionas the one-off alternative to rules for ad-hoc merchant renamingVerify delete mutation against live API
DELETE_TRANSACTION_RULE_MUTATIONreturnsdeleted: true/falsebased on the captured mutation shape. The mutation has not been tested against the live API. Verify the response shape and error handling.Preview query
PREVIEW_TRANSACTION_RULE_QUERYis captured inqueries.pybut not wired to SDK/MCP/CLI. This query shows which existing transactions a rule would match before creating it — useful for validation. Low priority untilcreate_rulesees more use.Work Breakdown
create_ruleandlist_rulesMCP tool docstrings per abovedelete_ruleagainst live Monarch API