device_uhid_destroy
Remove a virtual HID device registered via device_uhid_create.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | UHID device id to destroy | |
| udid | Yes | Device serial number (UDID) |
Remove a virtual HID device registered via device_uhid_create.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | UHID device id to destroy | |
| udid | Yes | Device serial number (UDID) |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden, and it does disclose the core destructive effect ('Remove') and that the device must have been registered via device_uhid_create. However, it does not mention irreversibility, behavior when the device does not exist, or any side effects beyond removal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, direct sentence with no filler. The action and resource are front-loaded, and every word contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter destroy operation with fully documented parameters, the description is adequate but minimal. It lacks details about error conditions, idempotency, and what happens if the supplied device is not found, which would be relevant for an agent invoking this tool autonomously.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents both required parameters, udid and id. The description adds no additional meaning about parameter semantics, which is acceptable given the baseline of 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Remove') and resource ('virtual HID device'), and anchors it to the sibling tool device_uhid_create, making the tool's role obvious within a large family of uhid_* tools. It distinguishes itself from creation and input tools without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool—after device_uhid_create has been used—but it does not explicitly state exclusions, prerequisites, or any alternative. The lifecycle pairing is useful context, but the agent is left to infer that this is the teardown counterpart.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.