Register a *dynamic* tool with a context-aware handler (progress /
logging / sampling / elicitation available via ctx).
This is the explicit escape hatch for runtime-defined tools whose
inputSchema is built at runtime and therefore have no compile-time D
type: the handler receives the raw Json arguments as they arrived on the
wire. For a statically-typed tool, prefer the UDA layer
(@tool-annotated methods registered via registerTools), which marshals
typed parameters for you and dispatches through this same dynamic path.
Register a *dynamic* tool with a context-aware handler (progress / logging / sampling / elicitation available via ctx).
This is the explicit escape hatch for runtime-defined tools whose inputSchema is built at runtime and therefore have no compile-time D type: the handler receives the raw Json arguments as they arrived on the wire. For a statically-typed tool, prefer the UDA layer (@tool-annotated methods registered via registerTools), which marshals typed parameters for you and dispatches through this same dynamic path.