Documentation
recategorize_by_patterns
recategorize_by_patterns MCP tool reference, parameters, return type, and safety hints.
What it does
Recategorizes by patterns in the local Clovis ledger.
(rules: Array<Record<string, unknown>>, date_from?: string | null, date_to?: string | null, dry_run?: boolean, persist_rules?: boolean, old_account_id?: string | null, verbose?: boolean, status?: string, amount_min?: number | null, amount_max?: number | null) => Record<string, unknown>Can write, but supports dry-run. Ask the agent to preview the result before committing changes.
When to use it
Use this section to decide whether the tool fits the user request before calling it.
Before calling
Agents should gather these facts or confirmations first.
Have exact values for required inputs: rules.
Start with dry_run=true, show the preview, then ask before applying the change.
State the intended ledger change in plain language before calling the tool.
Parameters
Required inputs are marked clearly. Optional inputs can usually be omitted unless the workflow needs them.
rulesrequiredMatch rules to create or apply.
date_fromoptionalStart date filter in YYYY-MM-DD format.
Default: nulldate_tooptionalEnd date filter in YYYY-MM-DD format.
Default: nulldry_runoptionalPreview the result without committing changes.
Default: truepersist_rulesoptionalBoolean switch for this workflow.
Default: falseold_account_idoptionalIdentifier from the local Clovis ledger.
Default: nullverboseoptionalBoolean switch for this workflow.
Default: falsestatusoptionalTransaction status filter or value: posted, pending, planned, or void.
Default: "posted"amount_minoptionalMoney or quantity value in the relevant asset.
Default: nullamount_maxoptionalMoney or quantity value in the relevant asset.
Default: nullAgent call shape
Use the exact tool name and pass arguments as structured JSON through the MCP client.
recategorize_by_patterns
Copy this shape into agent instructions, evals, or MCP client tests.
{
"tool": "recategorize_by_patterns",
"arguments": {
"rules": [],
"dry_run": true
}
}