m3_call
Invoke any M3 catalog tool by name without loading its domain, including tools not loaded at startup. Run single calls or isolated batches, with dry-run validation before execution.
Instructions
Invoke ANY m3 catalog tool by name without loading its domain — the low-token path to the full tool surface, and the way to reach every tool not loaded at startup. Single call: pass tool (e.g. 'files_stats') and args (an object). Batch: pass batch, a list of {tool, args} (each isolated — one failure won't abort the rest; capped at 100). Set dry_run to validate args + check the destructive gate WITHOUT executing. Returns JSON. Call m3_index first if you don't know a tool's args. Destructive tools are refused unless mcp.allow_destructive is enabled (m3 config set mcp.allow_destructive true).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | Arguments object for the target tool. | |
| tool | No | Catalog tool name (see m3_index). | |
| batch | No | List of {tool, args} for one-round-trip batch dispatch. | |
| store | No | Named store for this call only: main, or a [stores.<name>] in m3_config.toml. | |
| dry_run | No | Validate + gate-check only; do not execute. | |
| timeout | No | Per-call timeout in seconds; <=0 disables. | |
| database | No | SQLite file for this call only (legacy; prefer store). SQLite backend only. |