vastlintBLOCK
IAB VAST, VMAP, and DAAST validator. Hosted MCP at https://vastlint.org/mcp (auth none).
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Website & web validator: VAST tag validator Paste a VAST tag and get results in your browser, no install required.
A high-performance VAST XML validator built on a pure-Rust core. Checks ad tags against the IAB Tech Lab VAST specification so you don't have to read it. Over $30 billion in annual CTV and video ad spend flows through VAST XML, and malformed tags are one of the most common causes of lost impressions, broken tracking, and revenue discrepancies between platforms. There is no widely adopted open-source tool that validates VAST XML against the full IAB specification across all published versions.
VASTlint ships a native MCP server - making VAST validation available as a callable tool from Claude, Cursor, the AAMP Buyer Agent SDK, or any MCP-compatible client. Connect to vastlint.org/mcp and call validate_vast, validate_vast_url, inspect_vast, list_rules, explain_rule, or fix_vast. Each tool returns structured JSON with rule IDs, XPath locations, and spec references.
Native bindings for realtime ad pipelines: `vastlint-go` (CGo, prebuilt static libs, no Rust toolchain needed), `vastlint-java` (gRPC client for JVM ad servers), `vastlint-erlang` (Elixir/Erlang: OTP port mode for production ad delivery, DirtyCpu NIF for non-critical paths), and a WASM npm package for Node.js and browsers. All bindings share the same compiled Rust core. Consistent results everywhere, sub-millisecond latency at scale.
Need a copy-paste frontend starting point? See the React drop-in example in npm/examples.
[](https://crates.io/crates/vastlint-cli) [](h
1d31a29518a4OBSERVED · 2026-10-10Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add vastlint -- npx -y [email protected]
{
"mcpServers": {
"vastlint": {
"command": "npx",
"args": [
"-y",
"[email protected]"
]
}
}
}Trust audit
BLOCKgrade D · trust 67/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (4 observation(s))
- Network
- declared (2 observation(s))
- Shell
- declared (1 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (25)
exec(string: string): RegExpExecArray | null;
vast-lint-extension.zip
vastlint-0.4.1.vsix
vastlint-0.4.5.vsix
node_modules/.bin/tsc
node_modules/.bin/tsserver
node_modules/vastlint
node_modules/vastlint-client
node_modules/vastlint-react
.package-lock.json
.vscodeignore
run: wasm-pack build crates/vastlint-wasm --target bundler --out-dir ../../npm/pkg
run: wasm-pack build crates/vastlint-wasm --target nodejs --out-dir ../../npm/pkg-node
wasm-pack build crates/vastlint-wasm --target bundler --out-dir ../../npm/pkg
wasm-pack build crates/vastlint-wasm --target nodejs --out-dir ../../npm/pkg-node
wasm-pack build crates/vastlint-wasm --target bundler --out-dir ../../npm/pkg
./target/release/examples/loadgen --target http://127.0.0.1:50340 \
./target/release/examples/loadgen --target http://127.0.0.1:50341 \
target: "http://127.0.0.1:50051".to_string(),
<![CDATA[ https://prebid-log.getpublica.com/bpixel2.png?CIUIEiRhOTQ0OGI2Ni0wNjAwLTQwMTYtYTM2Zi03YzljNDYxZjAxMTYaJDllNjE1MzQwLTcyOTgtNGViNy05ZTI2LWJlYWVmMTllMjI5Myo0CiQ4N2YxZmE0MS1mZTBhLTQ1MTctOTA4Mi0y
<![CDATA[ https://vtrk.dv.tech/?tid=ZW-12000000&ec=vast&cid=ba35cd15-9ede-43ac-81b3-0597b76744ec&el=https%3A%2F%2Fserverside.doubleclick.net%2Fddm%2Fpfadx%2FN1670579.3958515PMPRECISIONTHETR%2FB3443917
<![CDATA[ https://ox-rtb-us-east1.openx.net/win/publica?p=6.616&t=2DAABBgABAAECAAIBAAsAAgAAAfUcGApLcVVIeVJneHhWHBa0uoKAr52JkgMW7a7LwceqvKnRAQAcFtHrrZ_A74KO8AEW16zb6qvu7_3eAQAWwrHtng0VBjgkNTVjMDU4NjctM
<![CDATA[ https://prebid-log.getpublica.com/bpixel2.png?CPIHEiRhOTQ0OGI2Ni0wNjAwLTQwMTYtYTM2Zi03YzljNDYxZjAxMTYaJDllNjE1MzQwLTcyOTgtNGViNy05ZTI2LWJlYWVmMTllMjI5Myo0CiQ4N2YxZmE0MS1mZTBhLTQ1MTctOTA4Mi0y
<![CDATA[ https://samsungtv-d.openx.net/v/1.0/rv?t=creativeView&ts=2DAABBgABAAECAAIBAAsAAgAAAfUcGApLcVVIeVJneHhWHBa0uoKAr52JkgMW7a7LwceqvKnRAQAcFtHrrZ_A74KO8AEW16zb6qvu7_3eAQAWwrHtng0VBjgkNTVjMDU4Njct
atob(data: string): string;
Gates applied: no_behavioural_pass.
1d31a29518a4full audit observations/trust-audit/mcp-server/aleksuix__vastlint.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-10 | 1d31a29518a4 | BLOCK | D | 67 | first audit |
Questions
What is the vastlint MCP server?
IAB VAST, VMAP, and DAAST validator. Hosted MCP at https://vastlint.org/mcp (auth none).
Is vastlint safe to connect to an agent?
No — not without reading the findings first. The audit graded it D (67/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on.
What credentials does vastlint need?
No credential environment variables were found in its source, so it appears to need none.
How does vastlint run?
It speaks sse and stdio, so it runs as a local process your client starts. It is published on npm as vastlint at 0.14.0.
How current is this page?
The grade is for one exact copy of the source (1d31a29518a4), read on 2026-10-10. The repository is watched and re-audited when it changes.