protogrid

Search / io.github.aleksUIX/vastlint

VASTlint

R0· no sign-in

Validate VAST, VMAP, and DAAST ad tags against IAB specs. 246 rules, pure Rust core.

v0.15.0 · active · repository · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality82good
Trust92of 100
Uptime, 30 days94%
Latency p50126 ms

Connect

8 clients · secrets stay placeholders
{
  "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

Quality 82 / 100good

protocol50 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • warn
    protocol.transportonly the legacy HTTP+SSE transport, deprecated until 2027-07-28
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations15 of 15 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 4,115 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

15 tools, about 4,115 tokens to load them all · tool set d68040126bf5 · checked 2026-10-19 10:20 UTC

Tool changes

No 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.

Trust 92 / 100

provenance80
liveness97
freshness100
hygiene95

+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.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://vastlint.org/mcp ssenoneyes94%126 ms2025-11-252026-10-19
packageregistryversionruntimesecrets
https://github.com/aleksUIX/vastlint/releases/download/v0.15.0/vastlint-mcp-linux-x86_64.tar.gzmcpbunpinned–

Tools (15)

calibrate_contentread-onlyAdCP 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_standardsAdCP 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_standardsdestructiveAdCP 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-onlyGet 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_vastAuto-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-onlyAdCP 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-onlyAdCP content-standards specialism. Retrieves the full details of a specific content standard, including all policies and their enforcement levels. Requires Bearer authentication.
inspect_vastread-onlyFollow 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-onlyAdCP 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-onlyAdCP 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-onlyList 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_standardsAdCP 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-onlyAdCP 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-onlyValidate 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-onlyFetch 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.

Similar MCP servers

More from io.github.aleksUIX

Official server.json
{
  "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."
}