Skip to main content
Glama

grid

Read-onlyIdempotent

Overlay a labelled coordinate grid on an image to estimate where an element sits when text-based locating fails, then zoom into that area to get the exact rectangle.

Instructions

Overlay a labelled coordinate grid every step px on an image, to find roughly where an element is when locate cannot read it (icons, images, no text). Then call zoom on that area for the exact rect. Writes the grid image to the temp folder; the input is not changed. The preview IS the grid, labels in source image px. Returns the grid path and the source image size.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
stepNoGrid spacing in image px (> 0).
image_pathYesPath of a PNG, JPEG or WebP image on this machine (~ allowed).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.1
    • addedInput schema / properties / image_path / description
      Added value: +"Path of a PNG, JPEG or WebP image on this machine (~ allowed)."
    • addedInput schema / properties / step / description
      Added value: +"Grid spacing in image px (> 0)."
  2. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

With readOnlyHint/destructiveHint already declaring safety, the description adds genuinely useful context: output goes to the temp folder, the input image is not modified, the preview IS the grid, and labels are in source image px. It also discloses the return payload (grid path and source image size), which matters because no output schema exists. Only minor gap is no mention of temp-file lifetime or cleanup.

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?

Four short sentences, front-loaded with the action and the purpose, then workflow routing, then side effects and returns. Nothing is padded, though it is dense enough that a reader must parse several clauses in one sentence.

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

Completeness5/5

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

For a two-parameter tool with no output schema, the description covers purpose, workflow placement, side effects, and return values. Nothing an agent needs in order to invoke it correctly is missing.

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 both parameters are already documented, and the schema already states 'Grid spacing in image px (> 0)'. The description's 'every `step` px' and 'labels in source image px' restate the same unit semantics rather than adding new meaning. Baseline 3 is appropriate.

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?

States a specific verb and resource ('overlay a labelled coordinate grid ... on an image') with the exact granularity ('every `step` px'). It also distinguishes itself from siblings by naming the workflow: use grid when `locate` cannot read the element, then use `zoom` for the exact rect.

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

Usage Guidelines5/5

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

Gives an explicit when-to-use trigger ('when locate cannot read it — icons, images, no text') and names both the precursor alternative (locate) and the follow-up tool (zoom) with the condition that selects it. An agent can route correctly without inferring anything.

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