Optional_See General fields: _meta for notes on _meta usage.
OptionalannotationsOptional additional tool information.
Display name precedence order is: title, annotations.title, then name.
OptionaldescriptionA human-readable description of the tool.
This can be used by clients to improve the LLM's understanding of available tools. It can be thought of like a "hint" to the model.
OptionaliconsOptional set of sized icons that the client can display in a user interface.
Clients that support rendering icons MUST support at least the following MIME types:
image/png - PNG images (safe, universal compatibility)image/jpeg (and image/jpg) - JPEG images (safe, universal compatibility)Clients that support rendering icons SHOULD also support:
image/svg+xml - SVG images (scalable but requires security precautions)image/webp - WebP images (modern, efficient format)A JSON Schema object defining the expected parameters for the tool.
Intended for programmatic or logical use, but used as a display name in past specs or fallback (if title isn't present).
OptionaloutputAn optional JSON Schema object defining the structure of the tool's output returned in the structuredContent field of a CallToolResult.
OptionaltitleIntended for UI and end-user contexts — optimized to be human-readable and easily understood, even by those unfamiliar with domain-specific terminology.
If not provided, the name should be used for display (except for Tool,
where annotations.title should be given precedence over using name,
if present).
Definition for a tool the client can call.