Skip to main content
Glama

fix_vast

Idempotent

Auto-fix VAST XML errors with deterministic safe fixes, including HTTPS upgrades and SIMID corrections. Returns repaired XML, applied fixes, and remaining issues for manual review.

Instructions

Auto-fix a VAST XML tag. Applies all deterministic, safe fixes: HTTP → HTTPS upgrades (including SIMID HTTP://), SIMID apiFramework casing, true-intent variableDuration, missing SIMID type="text/html", and removal of deprecated attributes. Does not rewrite javascript: URLs or an existing type MIME. Returns the repaired XML, a list of every fix applied (rule ID + description + path), and any remaining issues that require manual intervention. Always re-validate the returned xml with validate_vast to confirm no errors remain.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
xmlYesRaw VAST XML string to auto-fix.
wrapper_depthNoCurrent wrapper chain depth (0 = root document). Default: 0.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
xmlYes
appliedYes
remainingYes
applied_countYes
remaining_countYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.13.9

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true and destructiveHint=false, so the description correctly avoids repeating those. It adds behavioral specifics beyond annotations: it 'Applies all deterministic, safe fixes,' lists what it will not rewrite, and describes the return payload (repaired XML, list of fixes, remaining issues). This gives an agent a clear model of side effects and output without contradicting the annotation hints.

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 compact and front-loaded with the core action, then lists fix categories, exclusions, return contents, and a mandatory follow-up in logical order. Every sentence carries unique information; there is no redundancy or filler. Ideal length for the complexity involved.

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 mutation tool with an output schema, the description covers everything an agent needs: what fixes are applied, what is intentionally not fixed, what the return value contains, and the required re-validation step. The output schema handles return structure, and the input schema already documents parameters. No critical gap remains.

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 coverage is 100%, with both parameters already described in the input schema (xml as raw string, wrapper_depth with default and bounds). The description adds no additional meaning about parameter usage, syntax, or interplay. Baseline 3 is appropriate when the schema fully documents the parameters and the description does not need to compensate.

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 precise action ('Auto-fix a VAST XML tag') and enumerates the specific fix categories (HTTP→HTTPS, SIMID casing, variableDuration, missing type, deprecated attributes). This clearly distinguishes it from sibling tools like validate_vast (which only validates) and inspect_vast (which only inspects). The verb+resource is unambiguous and the scope is explicit.

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?

Provides explicit after-action guidance: 'Always re-validate the returned xml with validate_vast to confirm no errors remain.' It also states what it deliberately does not touch ('javascript: URLs or an existing type MIME') and notes that remaining issues require manual intervention, implicitly telling the agent when to stop using this tool and switch to manual handling. This is strong when/after guidance with a named alternative.

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