Skip to main content
Glama

inspect

Opens a URL in a recording profile, lists every interactive element with ranked selectors, and saves logs and a screenshot to guide automation.

Instructions

Open a URL in the recording profile (logged-in state included) and list every visible interactive element with UNIQUE selectors ranked data-testid → id → aria-label → role/text → name/placeholder → class → path, plus headings and iframes. Use it BEFORE writing targets — no selector guessing, no wasted probe. Writes logs/inspect-.json and a screenshot in the demo dir. Returns a jobId immediately — poll job_status. Rejects if another job is running.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dirYesdemo project directory — pass an absolute path
urlYespage to inspect (absolute URL)
limitNomax elements (default 80)
framesNoiframe selectors to scan too, as in the storyboard `frames` block
profileNoChrome user-data dir (default: the recording profile)
headlessNodefault true
viewportNodefault 1280x720 (use the storyboard's video size)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindYes
jobIdYes
statusYes
demoDirYesresolved absolute demo directory
logFileYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.14.1

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, and it does so thoroughly. It states side effects ('Writes logs/inspect-<n>.json and a screenshot'), async behavior ('Returns a jobId immediately — poll job_status'), concurrency restrictions ('Rejects if another job is running'), and environmental context ('logged-in state included'). This fully informs the agent of the tool's operational traits beyond what a schema alone would convey.

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?

The description is three sentences, each earning its place: the first defines the core function, the second gives usage guidance, and the third lists side effects and constraints. It is front-loaded with the primary purpose and contains zero filler. This is an exemplar of concise, well-structured tool documentation.

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 tool of this complexity (7 parameters, nested objects, output schema, async behavior), the description is remarkably complete. It covers purpose, usage timing, side effects, concurrency, and the selector ranking strategy. Since an output schema exists, the description need not enumerate return values. Nothing an agent needs to correctly invoke and interpret the tool 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 the baseline is 3. The description does not add parameter-specific details beyond what the schema already provides; it only indirectly references the 'dir' parameter when mentioning the demo directory for outputs. No new meaning is introduced for any of the 7 parameters, so the score remains at the baseline.

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?

The description clearly states the tool's function: 'Open a URL in the recording profile... and list every visible interactive element with UNIQUE selectors ranked...' It is specific about the verb (open, list) and resource (URL, interactive elements). However, it does not explicitly name an alternative sibling tool (e.g., 'probe') to distinguish itself, so it falls short of the 5-point bar which requires explicit sibling differentiation.

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?

The description gives a clear usage context: 'Use it BEFORE writing targets — no selector guessing, no wasted probe.' This tells the agent when to employ the tool (before authoring targets) and implies it should be used instead of guesswork. It does not explicitly state when NOT to use it or name a specific alternative, but the guidance is actionable and sufficient for most cases.

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