The shape of an MCP tool class: an execute method that the server calls with the
RequestContext, the input, and, when a tool needs to know who is calling,
.
(ctx: RequestContext, input: I, caller?: McpCallerInfo) => Promise<O> | OThe tool's implementation. The server calls it with a RequestContext for the caller, the validated input, and McpCallerInfo. The caller info is always passed, though the parameter is optional so a tool that ignores it can leave it out. Whatever the method returns becomes the tool's result.