Tool annotations (MCP)
Tool annotations are optional metadata a Model Context Protocol server attaches to a tool's definition -- hints such as readOnlyHint, destructiveHint, idempotentHint and openWorldHint that describe what kind of effect calling the tool is expected to have. A client or gateway can use these hints to decide how much friction to apply before a call goes through, for instance requiring explicit confirmation before a tool flagged as destructive runs, while letting a read-only one proceed more freely. The specification is explicit that annotations are untrusted hints, not a security boundary: a server can declare any value it wants, including a false readOnlyHint on a tool that actually deletes data, so a client that treats annotations as guaranteed rather than advisory is trusting the same server it may not have otherwise vetted.
By AdminKit team, Netbase JSC · Updated