ReadonlydescriptionOne or two lines, agent-facing, English.
ReadonlynameTool name and subcommand — the same word on every surface.
ReadonlyparamsOptional ReadonlysdkThe SDK expression this tool wraps, e.g. sheet.getRange(scope).find(pattern, {...}).
Rendered into every surface's description as one SDK: … line — the graduation path
from tool call to macro. Generated from here so the mapping cannot drift from the tool
it describes; it also makes tool↔SDK name divergence harmless where realigning an
existing SDK method is cheaper than renaming it.
The default agent-facing rendering of a result.
A read capability, plus its default rendering.
Remarks
runreturns typed data andrenderturns it into the agent-facing text form. They are separate so a consumer that wants the data (a macro's caller, a UI, a test) is never forced through the string.