Skip to main content
Glama

Validate a script

tourwright_validate
Read-onlyIdempotent

Validate a tour script's structure offline—fields, actions, and variables—before running it. Returns OK or a list of errors to fix; check live-site targets separately.

Instructions

Check the structure of a script (fields, actions, variables) without opening any website: fast, offline. Returns { ok } or the list of errors to fix. To know whether its targets still exist on the live site, use tourwright_check.

Input Schema

NameRequiredDescriptionDefault
varsNoValues for the script variables ({{name}}): the same script makes a different video per set of values
scriptYesThe script: an object, or YAML/JSON text. Read tourwright_guide first for the format.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint=false and idempotentHint, so the safety profile is known. The description adds genuine beyond-schema context: it runs offline without opening a website (fast), and it discloses the return shape ('{ ok } or the list of errors'), which matters since no output schema exists. Remaining gap is only the exact error object format.

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?

Two sentences, zero filler: the offline/fast property and scope come first, the return value next, and the sibling routing last. Every clause carries information an agent needs.

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 a low-complexity, two-param, read-only tool with no output schema, the description covers purpose, offline behavior, return shape, and the alternative tool. Only the structure of the returned error list is left unspecified, a minor gap.

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 params (script, vars) are already fully documented, including the YAML/JSON-or-object union and the {{name}} variable substitution. The description only echoes 'fields, actions, variables' generically and adds no syntax or format detail beyond the schema, so the baseline 3 applies.

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 ('Check the structure of a script') and enumerates the checked dimensions (fields, actions, variables), then explicitly separates it from tourwright_check on live-site target existence. An agent can distinguish it from all siblings without opening a schema.

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?

Names the alternative tool and the exact condition that selects it ('To know whether its targets still exist on the live site, use tourwright_check'), and the schema text adds the prerequisite of reading tourwright_guide first. Both when-to-use and when-to-use-something-else are covered.

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