Skip to main content
Glama
aamar-shahzad

MCP Screenshot Server

annotate_step

Add a numbered step callout with arrow and optional text to an image for creating tutorials or highlighting UI elements.

Instructions

Add a numbered step annotation with callout circle, arrow, and optional text.

This is a composite tool that combines a numbered callout with an arrow pointing to a target location. Useful for creating step-by-step tutorials or highlighting UI elements.

If callout_position is not specified, it's automatically placed offset from the target.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textNoOptional text label to display near the callout
colorNoColor for callout and arrowred
image_idYesID of the image to annotate
arrow_widthNoWidth of the arrow line
step_numberNoStep number (auto-increments if None)
callout_sizeNoSize of the callout circle
target_positionNoPosition the arrow points to. Named ('center'), percentage ('50%, 30%'), or pixels ('830px, 195px')center
callout_positionNoPosition for the callout. If None, auto-placed near target. Named, percentage, or pixels.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
messageYesStatus message
image_idYesImage ID that was annotated
step_numberYesThe step number used
target_positionYesPosition the arrow points to
callout_positionYesPosition of the callout circle

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior3/5

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

No annotations exist, so the description carries the burden. It discloses the composite behavior and auto-placement of callout_position, which is useful. However, it does not mention any side effects (e.g., whether it modifies the image in place), return behavior, or interaction with step_number auto-increment (which is only in the schema). The absence of these details leaves some behavioral ambiguity.

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?

Three sentences, no filler. The main purpose is in the first sentence, the composite nature clarifies scope, and the auto-placement note is a valuable detail. Every sentence earns its place.

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

Completeness4/5

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

For an 8-parameter tool with full schema coverage and an output schema present, the description covers the core purpose, use case, and a key behavior. It does not mention alternatives explicitly, which might be helpful given the large sibling set, but it is not strictly necessary. Overall, it is sufficiently complete for correct invocation.

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?

Schema description coverage is 100%, so every parameter already has a clear description. The tool description adds minimal extra semantic value beyond the schema—only reinforcing that text is optional and that callout auto-places. This aligns with the baseline 3: the schema does the heavy lifting.

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 opens with a specific verb-resource pair: 'Add a numbered step annotation with callout circle, arrow, and optional text.' It then clarifies this is a composite tool combining a numbered callout and arrow, which distinguishes it from siblings like add_arrow or add_numbered_callout. The purpose is unmistakable.

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 provides a clear use case: 'Useful for creating step-by-step tutorials or highlighting UI elements.' This tells an agent when to apply the tool. It does not explicitly name alternative tools or state when not to use it, but the composite nature and mention of auto-placement imply it's the high-level option. Slight gap in explicit exclusions.

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