Search / io.github.aleksUIX/vastlint
VASTlint
R0· no sign-inValidate VAST, VMAP, and DAAST ad tags against IAB specs. 246 rules, pure Rust core.
v0.15.0 · active · repository · descriptor JSON · versions
Search / io.github.aleksUIX/vastlint
R0· no sign-inValidate VAST, VMAP, and DAAST ad tags against IAB specs. 246 rules, pure Rust core.
v0.15.0 · active · repository · descriptor JSON · versions
{
"mcpServers": {
"vastlint": {
"type": "sse",
"url": "https://vastlint.org/mcp"
}
}
}claude mcp add --transport sse vastlint https://vastlint.org/mcp[mcp_servers.vastlint]
url = "https://vastlint.org/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"vastlint": {
"type": "remote",
"url": "https://vastlint.org/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"vastlint": {
"type": "sse",
"url": "https://vastlint.org/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=vastlint&config=eyJ0eXBlIjoic3NlIiwidXJsIjoiaHR0cHM6Ly92YXN0bGludC5vcmcvbWNwIn0%3D"
}{
"servers": {
"vastlint": {
"type": "sse",
"url": "https://vastlint.org/mcp"
}
}
}{
"mcpServers": {
"vastlint": {
"url": "https://vastlint.org/mcp"
}
}
}extensions:
"vastlint":
enabled: true
name: "vastlint"
type: sse
uri: "https://vastlint.org/mcp"
timeout: 300
protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportonly the legacy HTTP+SSE transport, deprecated until 2027-07-28protocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations15 of 15 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 4,115 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changesno tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +reachable +uptime-94% +updated-5d-ago -unpinned-packages(1)
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://vastlint.org/mcp sse | none | yes | 94% | 126 ms | 2025-11-25 | 2026-10-19 |
| package | registry | version | runtime | secrets |
|---|---|---|---|---|
https://github.com/aleksUIX/vastlint/releases/download/v0.15.0/vastlint-mcp-linux-x86_64.tar.gz | mcpb | unpinned | – |
calibrate_contentread-only | AdCP content-standards specialism. Evaluates a creative artifact against a content standard set before delivery. Returns a per-policy verdict and an overall pass/fail result. Use this as a pre-flight check before launching a campaign. Requires Bearer authentication. |
create_content_standards | AdCP content-standards specialism. Creates a new set of content quality policies for a brand. Policies include brand safety rules, imagery quality requirements, and compliance constraints. Returns a standards_id that can be used with calibrate_content and validate_content_delivery. Requires Bearer authentication. |
delete_content_standardsdestructive | AdCP content-standards specialism. Permanently removes a content standard set. Callers relying on the standards_id for calibrate_content or validate_content_delivery should retire those integrations first. Requires Bearer authentication. |
explain_ruleread-only | Get full details for a specific VAST validation rule: description, spec reference, severity, what triggers it, and how to fix it. Use rule IDs from list_rules. This is the primary tool for understanding and fixing VAST issues flagged by validate_vast. |
fix_vast | Auto-fix a VAST XML tag. Applies all deterministic, safe fixes: HTTP → HTTPS upgrades in all URL-bearing elements, and removal of deprecated attributes. 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. |
get_adcp_capabilitiesread-only | AdCP protocol discovery. Returns the AdCP version, supported protocols, and governance capabilities of this vastlint agent. Call this first when integrating vastlint into an AdCP creative pipeline — it declares which VAST creative features can be evaluated (spec compliance, HTTPS enforcement, wrapper depth). Part of the Ad Context Protocol (AdCP 3.0) specification. |
get_content_standardsread-only | AdCP content-standards specialism. Retrieves the full details of a specific content standard, including all policies and their enforcement levels. Requires Bearer authentication. |
inspect_vastread-only | Follow a VAST wrapper chain from a URL, fetching and validating every hop. Returns each hop as a structured object: AdSystem, AdTitle, Duration, impression count, tracking event count, media files (with MIME type, dimensions, bitrate, URL), companion count, and per-hop validation issues. The final InLine hop contains the actual creative. Use this to debug wrapper chains, verify creative assets, or analyse a full ad delivery path. max_depth defaults to 5 per IAB recommendation. |
list_content_standardsread-only | AdCP content-standards specialism. Lists content governance standards. When called with an 'account' object, returns buyer-defined standards stored for that brand. Without an account, returns the built-in catalog of VAST-relevant standards. Supports cursor-based pagination via the 'pagination' object. Requires Bearer authentication: Authorization: Bearer <api_key>. |
list_creativesread-only | AdCP creative governance. Lists creatives known to this agent. For a validation-only agent like vastlint, this always returns an empty collection — creatives are validated on demand via validate_vast rather than stored. Requires Bearer authentication. |
list_rulesread-only | List the full catalog of VAST validation rules available in vastlint. Returns rule IDs, default severities, and descriptions. Call this once and cache the result -- the catalog is static. Use rule IDs from this list with explain_rule for full details and fix guidance. |
update_content_standards | AdCP content-standards specialism. Updates the policies on an existing content standard set. The supplied policies array replaces the existing policy set. Requires Bearer authentication. |
validate_content_deliveryread-only | AdCP content-standards specialism. Validates that delivered creatives met the content standards. Accepts delivery records with creative references and returns per-record compliance status plus an overall summary. Requires Bearer authentication. |
validate_vastread-only | Validate a VAST XML tag against the IAB VAST 2.0-4.3 specification. Returns all issues found with severity, rule ID, location, and spec reference. A document is valid when errors == 0, regardless of warning or info count. Use wrapper_depth when validating a document inside a wrapper chain. |
validate_vast_urlread-only | Fetch a VAST tag from a URL and validate it. Handles redirects. Use max_depth to control how deep wrapper chains are followed (default 5, per IAB VAST 4.x recommendation). AI agents typically receive VAST URLs rather than raw XML -- use this tool for that case. |
Schemas: list_tools.
{
"name": "io.github.aleksUIX/vastlint",
"title": "VASTlint",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://vastlint.org/mcp",
"type": "sse"
}
],
"version": "0.15.0",
"packages": [
{
"transport": {
"type": "stdio"
},
"fileSha256": "f4ea22766df6f227f6d7c43fbb48d40ef6c8f713eadd04d5501c77b847275f32",
"identifier": "https://github.com/aleksUIX/vastlint/releases/download/v0.15.0/vastlint-mcp-linux-x86_64.tar.gz",
"registryType": "mcpb"
}
],
"repository": {
"url": "https://github.com/aleksUIX/vastlint",
"source": "github"
},
"description": "Validate VAST, VMAP, and DAAST ad tags against IAB specs. 246 rules, pure Rust core."
}