Undo a list change
undo_list_changeTakes back one list change (change_id from its reply).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | ||
| change_id | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| change_id | No |
undo_list_changeTakes back one list change (change_id from its reply).
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | ||
| change_id | Yes |
| Name | Required | Description | Default |
|---|---|---|---|
| change_id | No |
Changes observed during successful MCP inspections.
Output schema / (root)Previous value: -nullNew value: +{
+ "properties": {
+ "change_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+}Input schema / properties / site / descriptionRemoved value: -"Site name"Input schema / properties / site / descriptionPrevious value: -"Site name, e.g. brave-otter-4821"New value: +"Site name"Output schema / (root)Previous value: -{
- "additionalProperties": {},
- "properties": {
- "agent_message": {
- "type": "string"
- },
- "confirm_token": {
- "type": "string"
- },
- "error": {
- "description": "On failure (isError): {code, message}"
- }
- },
- "type": "object"
-}New value: +nullDoes the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds one genuinely useful behavioral detail beyond that — that change_id must be taken from the original change's reply — but it does not warn that the undo itself is non-idempotent, irreversible, or what happens if the change is stale.
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 short sentence, front-loaded with the action. It is efficient, though the brevity borders on under-specification for a destructive two-parameter tool rather than being genuinely tight.
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?
An output schema exists, so return values need no explanation, but for a destructive, non-idempotent operation the description should at minimum explain 'site' and state the reversal preconditions. As written, an agent knows only the vague action and one parameter's provenance.
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 0%, so the description must carry the load. It clarifies where change_id comes from ('from its reply'), which is real added meaning, but the required 'site' parameter is completely unexplained in both schema and description, leaving half the parameters undocumented.
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 verb phrase "takes back one list change" conveys an undo of a single list mutation, which is more specific than the title alone and implies a scoped, single-item reversal. However, 'takes back' is loose wording, and the description does not distinguish this from the sibling tool 'rollback' or from 'update_list_items' / 'remove_list_items'.
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?
There is no statement of when to use this versus the 'rollback' sibling, no prerequisites, and no note that only the most recent (or a specific) change can be reverted. The only hint is that change_id comes from a prior reply, which is about provenance rather than usage conditions.
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.