LabscoMCP early access ↗
aleksUIXMCP SERVER · OFFICIAL PROJECT

VASTlint

Validate a VAST ad tag against the IAB spec and get back rule ids, XPath locations and a patched tag.

by aleksUIX ↗Marketing Automation & Advertising✓ Official

LABSCO SUMMARY

Every answer carries the rule id and the place in the tag that failed.

That is what makes it usable inside a loop rather than as a linter you read: validate, look up the rule you tripped, apply the safe fixes, validate again — all from structured output. The docs are also clear about the boundary: the tools run the XML catalogue including the SIMID envelope, but they do not fetch the SIMID HTML or drive a session.

What it is

A Rust VAST XML validator with a native MCP server. It checks ad tags against the IAB Tech Lab VAST specification and answers in structured JSON — rule id, severity, the XPath of the offending node, and a spec reference.

What you get

  • validate_vast — raw XML in, an issues array out
  • validate_vast_url — fetch and validate a tag by URL, following wrapper chains to the configured depth
  • inspect_vast for a closer look at what a tag contains
  • list_rules — all 232 rule ids with severities and descriptions; static, so cache it
  • explain_rule — the full detail, spec reference and fix guidance for one rule id
  • fix_vast — applies the deterministic safe fixes (HTTP to HTTPS including SIMID, SIMID apiFramework/type/variableDuration, deprecated attribute removal) and returns the patched XML plus a diff of what changed

Requirements

Nothing to install for the hosted route: point any SSE-capable client at https://vastlint.org/mcp. For an air-gapped or low-latency setup, cargo install vastlint-mcp and run vastlint-mcp over stdio — same tools, same JSON schema, no network round trips.

Setup effort

One command — cargo install vastlint-mcp