ToolAnnotations
Behavioural hints attached to a tool, mirroring the MCP tools/list annotation fields. They are advisory metadata for clients and LLMs — the SDK does not enforce them — but the HTTP transport's readOnly server mode uses readOnlyHint to decide which tools to expose.
Constructors
Properties
The tool changes device or app state (click, type, send, install, force-stop, write a setting, …). Mutually exclusive in spirit with readOnlyHint.
Running the tool repeatedly with the same arguments leaves the device in the same final state (e.g. enable_app, put_secure_setting). Safe to retry.
The tool reaches beyond the local device (e.g. a network call). Not relevant for most droid-mcp tools, which touch only the local device.
The tool only observes device state; it never mutates anything. Read/query/get/list/find/wait tools set this. Required for a tool to survive readOnly = true server mode.
Optional human-friendly display name; falls back to McpTool.name when null.