Skip to main content
Glama
shapeyourphone

shapeyourphone

by rachitkj

undo

Revert specific phone changes by ID or the last N actions, previewing first and applying only after owner approval.

Instructions

Undo specific changes by id, or the last N.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "undo"
  }
}

Input Schema

NameRequiredDescriptionDefault
idsNo
lastNo
deviceNoadb serial, only needed when several phones are connected
owner_approvedNotrue only after the phone's owner saw the preview and agreed. Omit to get a preview.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, openWorldHint=false, and destructiveHint=false. The description adds selection scope (specific ids or last N) but does not explain preview/approval workflow, reversibility, permissions, or side effects beyond what the schema carries. No annotation contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no wasted words. However, for a four-parameter undo tool with preview semantics, it is arguably too terse to earn a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Annotations and schema cover mutation safety and the owner_approved preview workflow, but the description omits where IDs come from, how this differs from restore_everything, and the preview requirement in prose. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description clarifies that 'ids' refers to specific change IDs and 'last' is a count of recent changes, adding some meaning beyond the schema's property names. It does not cover 'device' or 'owner_approved', though the schema descriptions do, and it leaves precedence between ids and last unstated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Undo') and resource ('changes') plus selection modes by id or last N. Clear what it does, but does not differentiate from siblings like restore_everything, reapply, or drift.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not guidance, and no alternatives are named. The only implication is that it reverts changes, leaving the agent to infer its relationship to list_changes, restore_everything, and reapply.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.