Acknowledge saved-watch matches
acknowledge_watchMark all currently unread matches on one owned watch as read. Requires watches:write and an Idempotency-Key.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| watchId | Yes | ||
| idempotencyKey | Yes |
acknowledge_watchMark all currently unread matches on one owned watch as read. Requires watches:write and an Idempotency-Key.
| Name | Required | Description | Default |
|---|---|---|---|
| watchId | Yes | ||
| idempotencyKey | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states a real state change (unread → read), scopes it to currently unread matches, and discloses the permission requirement. This adds useful context beyond the annotations while remaining consistent with readOnlyHint=false, idempotentHint=true, and destructiveHint=false.
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 no wasted words: the first names the action and scope, the second gives prerequisites. The wording is front-loaded and every clause carries information.
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 state-changing tool with no output schema, the description covers the operation, scope, ownership constraint, permission, and idempotency requirement. It does not describe the response, but that is not necessary for correct invocation of this tool.
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?
With 0% schema description coverage, the description compensates by tying watchId to 'one owned watch' and calling out the Idempotency-Key requirement. A minor gap is that it does not explain the purpose of the idempotency key, but the parameter name and idempotentHint make it recoverable.
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 opens with a specific verb and object: 'Mark all currently unread matches on one owned watch as read.' This clearly distinguishes it from generic watch-management siblings like update_watch and list_watches by targeting unread-match acknowledgement on a single owned watch.
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 context is clear: use it to acknowledge unread matches for a specific watch, and the prerequisites are explicit ('Requires watches:write and an Idempotency-Key'). It does not name alternatives or when-not-to-use cases, so it stops short of a 5.
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.