Skip to main content

Shape

Fields

Handler event

The handler receives:
  • input for parsed tool input
  • ctx for mutable per-request context
  • request for transport metadata
  • tool for the resolved tool name
  • emit.progress(...) for progress updates
  • signal for 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: true and destructiveHint: true

Notes

  • If you omit inputSchema, the handler receives the raw params object.
  • outputSchema is exported to clients as JSON Schema, but Redop does not validate returned values against it at runtime.
  • Prefer explicit names such as notes.list or billing.invoice.create when a tool belongs to a feature area.
  • afterResponse is 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.

See also