Shape
Fields
Handler event
The handler receives:inputfor parsed tool inputctxfor mutable per-request contextrequestfor transport metadatatoolfor the resolved tool nameemit.progress(...)for progress updatessignalfor cancellation support
annotations
annotations help clients reason about tool behavior before they call it.
Notes:
- annotations are hints for clients and agents, not runtime enforcement
- tools can combine multiple hints when they describe different aspects of behavior
- avoid contradictory hints such as
readOnlyHint: trueanddestructiveHint: true
Notes
- If you omit
inputSchema, the handler receives the raw params object. outputSchemais exported to clients as JSON Schema, but Redop does not validate returned values against it at runtime.- Prefer explicit names such as
notes.listorbilling.invoice.createwhen a tool belongs to a feature area. afterResponseis the right place for per-tool analytics, impressions, and logging that should happen after the client response.- Tool-local hooks are the right place for per-tool post-processing.
- Shared concerns belong in global hooks or plugins instead.