validate_vastLABSCO 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 outvalidate_vast_url— fetch and validate a tag by URL, following wrapper chains to the configured depthinspect_vastfor a closer look at what a tag containslist_rules— all 232 rule ids with severities and descriptions; static, so cache itexplain_rule— the full detail, spec reference and fix guidance for one rule idfix_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
USE CASES
Rejecting a bad creative before you confirm a deal
Validate the tag by URL and branch on the issues array — rule id, severity and XPath are all in the response.
Fixing a tag instead of sending it back
Apply the deterministic safe fixes and revalidate the patched XML in the same loop.
Understanding a rule you have never seen
Look the rule id up and get the spec reference plus concrete fix guidance, with an example of the correct form.
Checking tags in CI before a release
Run validation against the XML you are about to ship and fail the build on errors rather than warnings.
6 tools
Listed in project docs. Your client may show a different list.
validate_vast_urlinspect_vastlist_rulesexplain_rulefix_vastBEFORE YOU INSTALL
What to know first
Tools you get
6 tools named in the project's documentation.
Requires
A client that can reach a remote MCP server over HTTP
Where it runs
Of the 2 documented clients, 1 runs the server on your machine and 1 connects to a hosted endpoint.
INSTALLATION
Connect your client
Server setup
cargo
cargo install vastlint-mcpHosted endpoint
https://vastlint.org/mcpAdd this hosted endpoint to your MCP client.
MCP Clients
Cursor
{
"mcpServers": {
"vastlint": {
"type": "sse",
"url": "https://vastlint.org/mcp"
}
}
}Any MCP client — stdio
{
"mcpServers": {
"vastlint": {
"command": "vastlint-mcp"
}
}
}