VASTlint — Claude Code MCP server: what it does, how to install
Checks VAST, VMAP and DAAST XML against IAB specs, then hands your agent rule IDs, XPath locations and a fix path.
claude mcp add --transport sse vastlint https://vastlint.org/mcpWhat VASTlint does
Give the server an XML document or a tag URL and it answers with structured JSON: which rule broke, where in the tree, and which part of the spec covers it. The rule set has 246 entries covering required fields, schema, value formats, OMID and SIMID blocks, plus VMAP 1.0 and DAAST 1.0. Rules flagged with $ carry direct revenue impact, so vastlint check --fail-on-warning in CI catches them before release.
Nothing runs on your machine. The transport is SSE at vastlint.org/mcp. Tools exposed are validate_vast, validate_vast_url, inspect_vast, list_rules, explain_rule and fix_vast. A Rust core with no runtime dependencies keeps each call fast.
SIMID support stops at the creative's XML envelope. Fetching the creative, reading frame headers and the postMessage handshake sit outside the core. Bid requests are a different job — RTBlint handles OpenRTB, Pixellint handles pixels and postbacks.
What it helps with
- catch a broken VAST tag before the campaign goes live
- inspect a production tag URL and see which rule fires
- settle a tracking dispute by pointing at the specific spec clause
- run tag checks in CI and block releases on
$-flagged errors - repair creative XML from a rule ID instead of reading the whole spec
Example prompts for the agent
- Validate this tag and list the rule IDs it trips:
<?xml version="1.0"?><VAST version="4.1"></VAST> - Fetch this tag URL and tell me what is wrong with it
- Explain the rule behind the
UniversalAdIdfailure and patch the file
How to install VASTlint
Platform CLI: remote server
claude mcp add --transport sse vastlint https://vastlint.org/mcpCodex
Codex connects MCP servers over stdio and streamable HTTP only, and this server speaks SSE
Config file
{
"mcpServers": {
"vastlint": {
"url": "https://vastlint.org/mcp"
}
}
}Config file
{
"servers": {
"vastlint": {
"type": "sse",
"url": "https://vastlint.org/mcp"
}
}
}Platform CLI: remote server
gemini mcp add -t sse vastlint https://vastlint.org/mcpStep by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about VASTlint
How do I install VASTlint in Claude Code?
Run claude mcp add --transport sse vastlint https://vastlint.org/mcp.
What does VASTlint do?
It validates VAST, VMAP and DAAST XML against IAB specifications and reports the broken rules with locations and spec references.
Does it need a local Rust toolchain?
No. The server lives at vastlint.org/mcp and your client connects to it over SSE.