key_up
Release a held keyboard key in the browser to stop active key sequences and reset input states.
Instructions
Release one held physical key. Use sequence_stop while a sequence is running.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes |
Release a held keyboard key in the browser to stop active key sequences and reset input states.
Release one held physical key. Use sequence_stop while a sequence is running.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes |
Changes observed during successful MCP inspections.
v0.1.0Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the mutating nature is covered. The description adds the context that the key must be held and the sequencing note, but does not disclose potential side effects (e.g., if the key is not held) or error behavior. Given annotations carry the safety profile, this is adequate but not rich.
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?
Two sentences with zero filler. The primary purpose is front-loaded, and the only additional sentence is a critical usage caveat. No redundant information; every word earns its place.
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 one-parameter action, the description covers the core intent and the most important alternative (sequence_stop). It doesn't specify return values or error conditions, but given the simplicity and lack of output schema, these are minor omissions. An agent can infer the inverse relationship with key_down and the distinction from release_all from the name and context.
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 coverage is 0%, so the description must add meaning beyond the pattern-based schema. It clarifies that the 'key' parameter refers to a physical key currently held, which is not in the schema. However, it does not provide examples or further format guidance beyond what the pattern already enforces. The added value is modest but sufficient for a single parameter.
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 states a clear, specific verb ('Release') and object ('one held physical key'), which immediately distinguishes it from siblings like key_down (press) and release_all (release all keys). The mention of 'physical key' adds precision, and the alternative mention of sequence_stop further clarifies scope.
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?
Explicitly states when to use this tool ('Release one held physical key') and when not to: 'Use sequence_stop while a sequence is running.' This names the alternative tool and the condition that overrides this one, giving the agent an unambiguous decision rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.