Skip to main content
Glama

Ask the person before a change

propose_change

Ask for approval before adding, updating, or removing workspace components, especially when removing content or intent is unclear. Nothing changes until the user answers.

Instructions

Ask before making a change instead of making it. Use this whenever a change takes something away, and whenever you are guessing at what the person wants. Nothing happens until they answer. Carries one add_component, update_component, or remove_component call.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoBlock id, for update or remove.
sizeNo
spanNo
toneNo
toolYesThe change to make if they say yes.
frameNo
propsNo
canvasNo
regionNo
summaryYesThe question, in plain words, ending in a question mark. Say what would change and why you are asking.
positionNo
componentNoComponent name, for add.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the bar is lower. The description nonetheless adds real behavioral context beyond them: 'Nothing happens until they answer' discloses the gating/confirmation semantics, and 'Carries one ... call' clarifies it performs a single wrapped action.

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

Conciseness5/5

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

Four short sentences, front-loaded with the core purpose, then usage conditions, then the key behavioral guarantee. Every sentence carries distinct information with no redundancy.

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?

For a 12-parameter meta-tool with 33% schema coverage and no output schema, the description covers purpose, usage, and gating behavior well but is thin on how the many component-property parameters map to the wrapped call. Adequate at the purpose level, incomplete at the parameter level.

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

Parameters2/5

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

Schema coverage is only 33% across 12 parameters, so the description must compensate and largely does not. It names three of the four 'tool' enum values but omits remove_canvas, and says nothing about id, size, span, tone, frame, props, canvas, region, position, or component, leaving most of a complex parameter set unexplained.

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

Purpose5/5

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

The description states a specific action ('Ask before making a change instead of making it') and explicitly names the sibling tools it wraps (add_component, update_component, remove_component), so an agent can tell it is a confirmation gate rather than the mutation itself. The 'instead of making it' phrasing directly contrasts it with the direct-mutation siblings.

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

Usage Guidelines4/5

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

It gives explicit when-to-use conditions: 'whenever a change takes something away' and 'whenever you are guessing at what the person wants.' This is clear positive guidance, though it never states the inverse (when to call the mutation tools directly), leaving that to inference.

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