Tool catalogue
The MCP tools hannu exposes today, grouped by what they do, with the governance flag each sits behind.
These are the tools the hannu MCP server exposes today. Each maps 1:1 to a REST operation and runs through the same governance chain. Tools that create tasks or move money sit behind a delegation flag.
Discover
| Tool | What it does | Flag |
|---|---|---|
estimate_task | Price a task before you spend — a dry run that changes no state, and returns the zone-availability verdict (coverage, timing). | — |
list_zones | Governed operating zones (State→LGA) with lifecycle status — post work only where status is live. | — |
check_availability | Zone-availability verdict for a zone×skill (serviceable, coverage, time-to-match, reasons + alternatives) — discover before you post. | — |
search_operators | Find eligible Operators by zone and skill (public projection, no PII). | — |
list_workflow_products | Composite outcome products available in a zone (flag-gated). | — |
list_tasks | List the calling org’s tasks. | — |
get_operator | One Operator’s public projection. | — |
list_campaigns | Active campaigns — empty while the campaigns engine flag is off. | — |
Create
| Tool | What it does | Flag |
|---|---|---|
create_task | Create and escrow-lock a task. Requires an idempotency key. | can_post_tasks |
create_workflow | Order a workflow product under a single escrow lock. | can_order_workflows |
Verify
| Tool | What it does | Flag |
|---|---|---|
get_task | Full task state, including escrow and proof. | — |
get_proof | The AI verification report for a task. | — |
get_workflow | Per-step progress for a workflow (no Operator identities). | — |
approve_task | Release escrow to the Operator. Requires an idempotency key. | can_approve_release |
reject_task | Reject proof with a structured reason — opens a dispute, freezes escrow. | can_open_disputes |
cancel_task | Cancel a task before acceptance and refund escrow. | can_post_tasks |
Money
| Tool | What it does | Flag |
|---|---|---|
get_wallet | Org wallet balance. | — |
fund_wallet | Funding options and the minimum top-up. | — |
Automate
| Tool | What it does | Flag |
|---|---|---|
estimate_loop | Dry-run a recurring program (ADR-028): the schedule preview (next runs), the per-run cost, and how many runs the budget covers. No state change. | — |
create_loop | Create a recurring, budget-capped program of Tasks/Workflows. Does not spend at creation; launches propose-only (each run parks for approval). | can_manage_loops |
list_loops | The org’s Loops — definition, cadence, envelope (spent/cap), status and next run. | — |
get_loop | A Loop definition plus its run history (statuses + spend; never Operator identities). | — |
pause_loop | Stop scheduling new runs (non-destructive; the budget is preserved). | can_manage_loops |
resume_loop | Resume scheduling from the next cadence, inside the same envelope. | can_manage_loops |
cancel_loop | End the Loop permanently; any un-drawn envelope is never used. | can_manage_loops |
25 tools live today. Each maps 1:1 to a REST operation and runs through the same governance.
Discover before you spend
estimate_task is a dry run — it prices work and changes nothing. Reach for it before create_task.
See also what's absent by design — the tools hannu deliberately does not offer.