Server definition
- Hash
- sha256:01a1712357d40e6708f01139bd26e03247abdb884004d6e6217d37b55c02f0af
- What it is
- What a remote MCP server returned when asked what it offers: 15 tools
The blob, as servednamed by its sha256
{
"instructions": "When the user asks to validate, lint, check, or fix a VAST, VMAP, or DAAST tag, call these tools. Do not send them to a website. Use validate_vast when the XML is in the conversation. Use validate_vast_url when they give a tag URL. Use inspect_vast to follow a wrapper chain hop-by-hop. Use list_rules, explain_rule, and fix_vast as needed. Public validation tools require no login. AdCP content-standards tools require a Bearer token. Tags sent to this hosted endpoint may be stored (identifiers stripped) to improve rules. Details: https://vastlint.org/privacy/. Use local vastlint-mcp over stdio if the tag must not leave the machine.",
"tools": [
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"description": "Buyer account context. Scopes the evaluation to a specific brand.",
"properties": {
"brand": {
"properties": {
"domain": {
"type": "string"
}
},
"type": "object"
},
"operator": {
"type": "string"
}
},
"type": "object"
},
"artifact": {
"description": "Creative artifact to evaluate: metadata and asset URLs (image, video) to check against each policy.",
"properties": {
"artifact_id": {
"type": "string"
},
"assets": {
"items": {
"properties": {
"alt_text": {
"type": "string"
},
"duration_ms": {
"type": "integer"
},
"height": {
"type": "integer"
},
"type": {
"type": "string"
},
"url": {
"type": "string"
},
"width": {
"type": "integer"
}
},
"type": "object"
},
"type": "array"
},
"description": {
"type": "string"
},
"property_rid": {
"type": "string"
}
},
"type": "object"
},
"context": {
"additionalProperties": true,
"description": "Caller-supplied context object. Echoed back unchanged in the response.",
"type": "object"
},
"idempotency_key": {
"description": "Optional unique key to make this request idempotent. Re-submitting the same key returns the original result without re-evaluating.",
"type": "string"
},
"standards_id": {
"description": "ID of the content standard set to evaluate against. Returned by create_content_standards.",
"type": "string"
}
},
"required": [
"standards_id",
"artifact"
],
"title": "CalibrateContentInput",
"type": "object"
},
"name": "calibrate_content",
"outputSchema": {
"properties": {
"context": {
"additionalProperties": true,
"type": "object"
},
"errors": {
"items": {
"type": "object"
},
"type": "array"
},
"features": {
"items": {
"properties": {
"explanation": {
"type": "string"
},
"feature_id": {
"type": "string"
},
"policy_id": {
"type": "string"
},
"status": {
"enum": [
"passed",
"failed",
"warning",
"unevaluated"
],
"type": "string"
}
},
"required": [
"feature_id",
"status"
],
"type": "object"
},
"type": "array"
},
"standards_id": {
"type": "string"
},
"status": {
"enum": [
"submitted",
"working",
"input-required",
"completed",
"failed"
],
"type": "string"
},
"verdict": {
"enum": [
"pass",
"fail"
],
"type": "string"
}
},
"required": [
"status",
"verdict"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"description": "Buyer account that owns this content standard (brand domain required).",
"properties": {
"brand": {
"properties": {
"domain": {
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"operator": {
"type": "string"
}
},
"required": [
"brand"
],
"type": "object"
},
"context": {
"additionalProperties": true,
"description": "Caller-supplied context object. Echoed back unchanged in the response.",
"type": "object"
},
"idempotency_key": {
"description": "Optional unique key to make this request idempotent. Re-submitting the same key returns the original result without creating a duplicate.",
"type": "string"
},
"policies": {
"description": "Array of content quality policies. Each policy has an ID, enforcement level (must/should/may), and natural-language rule text.",
"items": {
"properties": {
"channels": {
"items": {
"type": "string"
},
"type": "array"
},
"enforcement": {
"enum": [
"must",
"should",
"may"
],
"type": "string"
},
"policy": {
"type": "string"
},
"policy_categories": {
"items": {
"type": "string"
},
"type": "array"
},
"policy_id": {
"type": "string"
}
},
"required": [
"policy_id",
"enforcement",
"policy"
],
"type": "object"
},
"type": "array"
},
"scope": {
"description": "Optional scope constraints: restrict policies to specific languages or channels.",
"properties": {
"channels_any": {
"items": {
"type": "string"
},
"type": "array"
},
"description": {
"type": "string"
},
"languages_any": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
},
"required": [
"account",
"policies"
],
"title": "CreateContentStandardsInput",
"type": "object"
},
"name": "create_content_standards",
"outputSchema": {
"properties": {
"context": {
"additionalProperties": true,
"type": "object"
},
"errors": {
"items": {
"type": "object"
},
"type": "array"
},
"replayed": {
"type": "boolean"
},
"standards_id": {
"type": "string"
},
"status": {
"enum": [
"submitted",
"working",
"input-required",
"completed",
"failed"
],
"type": "string"
}
},
"required": [
"status",
"standards_id"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"description": "Buyer account context. Scopes the deletion to a specific brand.",
"properties": {
"brand": {
"properties": {
"domain": {
"type": "string"
}
},
"type": "object"
},
"operator": {
"type": "string"
}
},
"type": "object"
},
"context": {
"additionalProperties": true,
"description": "Caller-supplied context object. Echoed back unchanged in the response.",
"type": "object"
},
"idempotency_key": {
"description": "Optional unique key to make this request idempotent. Re-submitting the same key returns the original result instead of re-evaluating a since-changed state.",
"type": "string"
},
"standards_id": {
"description": "ID of the content standard set to delete. Returned by create_content_standards.",
"type": "string"
}
},
"required": [
"standards_id"
],
"title": "DeleteContentStandardsInput",
"type": "object"
},
"name": "delete_content_standards",
"outputSchema": {
"properties": {
"context": {
"additionalProperties": true,
"type": "object"
},
"errors": {
"items": {
"type": "object"
},
"type": "array"
},
"standards_id": {
"type": "string"
},
"status": {
"enum": [
"submitted",
"working",
"input-required",
"completed",
"failed"
],
"type": "string"
},
"success": {
"type": "boolean"
}
},
"required": [
"status",
"success",
"standards_id"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"rule_id": {
"description": "Rule ID to explain, e.g. \"VAST-4.1-adservingid-missing\". Use list_rules to get valid IDs.",
"type": "string"
}
},
"required": [
"rule_id"
],
"title": "ExplainRuleInput",
"type": "object"
},
"name": "explain_rule",
"outputSchema": {
"properties": {
"description": {
"type": "string"
},
"hint": {
"type": "string"
},
"id": {
"type": "string"
},
"severity": {
"type": "string"
},
"source": {
"type": "string"
},
"status": {
"enum": [
"submitted",
"working",
"input-required",
"completed",
"failed"
],
"type": "string"
}
},
"required": [
"status",
"id",
"severity",
"description",
"source"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"wrapper_depth": {
"default": 0,
"description": "Current wrapper chain depth (0 = root document). Default: 0.",
"format": "uint8",
"minimum": 0,
"type": "integer"
},
"xml": {
"description": "Raw VAST XML string to auto-fix.",
"type": "string"
}
},
"required": [
"xml"
],
"title": "FixVastInput",
"type": "object"
},
"name": "fix_vast",
"outputSchema": {
"properties": {
"applied": {
"items": {
"properties": {
"description": {
"type": "string"
},
"path": {
"type": "string"
},
"rule_id": {
"type": "string"
}
},
"required": [
"rule_id",
"description",
"path"
],
"type": "object"
},
"type": "array"
},
"applied_count": {
"type": "integer"
},
"remaining": {
"items": {
"properties": {
"id": {
"type": "string"
},
"message": {
"type": "string"
},
"path": {
"type": "string"
},
"severity": {
"type": "string"
},
"spec_ref": {
"type": "string"
}
},
"required": [
"id",
"severity",
"message",
"spec_ref"
],
"type": "object"
},
"type": "array"
},
"remaining_count": {
"type": "integer"
},
"status": {
"enum": [
"submitted",
"working",
"input-required",
"completed",
"failed"
],
"type": "string"
},
"xml": {
"type": "string"
}
},
"required": [
"status",
"xml",
"applied_count",
"remaining_count",
"applied",
"remaining"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"adcp_major_version": {
"description": "AdCP major version the caller's payloads conform to. When omitted, assumes highest supported version (3).",
"type": "integer"
},
"context": {
"additionalProperties": true,
"description": "Caller-supplied context object. Echoed back unchanged in the response.",
"type": "object"
},
"protocols": {
"description": "Filter to specific protocol names. When omitted, returns all supported protocols.",
"items": {
"type": "string"
},
"type": "array"
}
},
"title": "GetAdcpCapabilitiesInput",
"type": "object"
},
"name": "get_adcp_capabilities",
"outputSchema": {
"properties": {
"adcp": {
"properties": {
"idempotency": {
"oneOf": [
{
"properties": {
"replay_ttl_seconds": {
"maximum": 604800,
"minimum": 3600,
"type": "integer"
},
"supported": {
"const": true
}
},
"required": [
"supported",
"replay_ttl_seconds"
],
"type": "object"
},
{
"properties": {
"supported": {
"const": false
}
},
"required": [
"supported"
],
"type": "object"
}
]
},
"major_versions": {
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"major_versions",
"idempotency"
],
"type": "object"
},
"context": {
"additionalProperties": true,
"type": "object"
},
"governance": {
"description": "Governance protocol capability detail. Present iff \"governance\" is in supported_protocols.",
"properties": {
"content_standards": {
"description": "Content standards verification capabilities.",
"properties": {
"calibration_formats": {
"items": {
"type": "string"
},
"type": "array"
},
"supported": {
"type": "boolean"
}
},
"required": [
"supported"
],
"type": "object"
}
},
"type": "object"
},
"operator": {
"properties": {
"domain": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"domain"
],
"type": "object"
},
"specialisms": {
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"enum": [
"submitted",
"working",
"input-required",
"completed",
"failed"
],
"type": "string"
},
"supported_protocols": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"status",
"adcp",
"operator",
"supported_protocols",
"specialisms"
],
"type": "object"
}
},
{
"description": "AdCP content-standards specialism. Retrieves the full details of a specific content standard, including all policies and their enforcement levels. Requires Bearer authentication.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"description": "Buyer account context. Scopes the lookup to a specific brand.",
"properties": {
"brand": {
"properties": {
"domain": {
"type": "string"
}
},
"type": "object"
},
"operator": {
"type": "string"
}
},
"type": "object"
},
"context": {
"additionalProperties": true,
"description": "Caller-supplied context object. Echoed back unchanged in the response.",
"type": "object"
},
"standards_id": {
"description": "ID of the content standard set to retrieve. Returned by create_content_standards.",
"type": "string"
}
},
"required": [
"standards_id"
],
"title": "GetContentStandardsInput",
"type": "object"
},
"name": "get_content_standards",
"outputSchema": {
"properties": {
"context": {
"additionalProperties": true,
"type": "object"
},
"errors": {
"items": {
"type": "object"
},
"type": "array"
},
"policies": {
"items": {
"type": "object"
},
"type": "array"
},
"scope": {
"type": "object"
},
"standards_id": {
"type": "string"
},
"status": {
"enum": [
"submitted",
"working",
"input-required",
"completed",
"failed"
],
"type": "string"
}
},
"required": [
"status",
"standards_id",
"policies"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"max_depth": {
"default": 5,
"description": "Maximum wrapper hops to follow before stopping. Default: 5 (IAB VAST 4.x recommendation).",
"format": "uint8",
"minimum": 0,
"type": "integer"
},
"url": {
"description": "URL of the first VAST tag in the chain to inspect.",
"type": "string"
}
},
"required": [
"url"
],
"title": "InspectVastInput",
"type": "object"
},
"name": "inspect_vast",
"outputSchema": {
"properties": {
"chain_valid": {
"type": "boolean"
},
"hop_count": {
"type": "integer"
},
"hops": {
"items": {
"properties": {
"ad_system": {
"type": "string"
},
"ad_title": {
"type": "string"
},
"ad_type": {
"type": "string"
},
"companion_count": {
"type": "integer"
},
"duration": {
"type": "string"
},
"fetch_ms": {
"type": "integer"
},
"impression_count": {
"type": "integer"
},
"index": {
"type": "integer"
},
"issues": {
"items": {
"properties": {
"col": {
"type": "integer"
},
"id": {
"type": "string"
},
"line": {
"type": "integer"
},
"message": {
"type": "string"
},
"path": {
"type": "string"
},
"severity": {
"enum": [
"error",
"warning",
"info"
],
"type": "string"
},
"spec_ref": {
"type": "string"
}
},
"required": [
"id",
"severity",
"message",
"spec_ref"
],
"type": "object"
},
"type": "array"
},
"media_files": {
"items": {
"properties": {
"bitrate": {
"type": "string"
},
"delivery": {
"type": "string"
},
"height": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"url": {
"type": "string"
},
"width": {
"type": "string"
}
},
"required": [
"url",
"mime_type",
"delivery",
"width",
"height",
"bitrate"
],
"type": "object"
},
"type": "array"
},
"summary": {
"properties": {
"errors": {
"type": "integer"
},
"infos": {
"type": "integer"
},
"warnings": {
"type": "integer"
}
},
"required": [
"errors",
"warnings",
"infos"
],
"type": "object"
},
"tracking_event_count": {
"type": "integer"
},
"url": {
"type": "string"
},
"valid": {
"type": "boolean"
},
"version": {
"type": "string"
},
"wrapper_uri": {
"type": "string"
}
},
"required": [
"index",
"url",
"ad_type",
"ad_system",
"ad_title",
"duration",
"impression_count",
"tracking_event_count",
"media_files",
"companion_count",
"version",
"valid",
"summary",
"issues",
"fetch_ms"
],
"type": "object"
},
"type": "array"
},
"resolved": {
"type": "boolean"
},
"status": {
"enum": [
"submitted",
"working",
"input-required",
"completed",
"failed"
],
"type": "string"
},
"stopped_reason": {
"type": "string"
},
"total_errors": {
"type": "integer"
},
"total_warnings": {
"type": "integer"
},
"url": {
"type": "string"
}
},
"required": [
"status",
"url",
"hops",
"hop_count",
"resolved",
"chain_valid",
"total_errors",
"total_warnings",
"stopped_reason"
],
"type": "object"
}
},
{
"description": "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>.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"description": "Buyer account context (brand domain + operator).",
"properties": {
"brand": {
"properties": {
"domain": {
"type": "string"
}
},
"type": "object"
},
"operator": {
"type": "string"
}
},
"type": "object"
},
"context": {
"additionalProperties": true,
"description": "Caller-supplied context object. Echoed back unchanged in the response.",
"type": "object"
},
"max_results": {
"description": "Legacy top-level alias.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"page_token": {
"description": "Legacy top-level alias.",
"type": "string"
},
"pagination": {
"description": "Cursor-based pagination controls. Preferred over top-level max_results/page_token.",
"properties": {
"cursor": {
"type": "string"
},
"max_results": {
"maximum": 100,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
}
},
"title": "ListContentStandardsInput",
"type": "object"
},
"name": "list_content_standards",
"outputSchema": {
"properties": {
"context": {
"additionalProperties": true,
"type": "object"
},
"pagination": {
"properties": {
"cursor": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"total_count": {
"type": "integer"
}
},
"required": [
"has_more"
],
"type": "object"
},
"standards": {
"items": {
"type": "object"
},
"type": "array"
},
"status": {
"enum": [
"submitted",
"working",
"input-required",
"completed",
"failed"
],
"type": "string"
}
},
"required": [
"status",
"standards",
"pagination"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"context": {
"additionalProperties": true,
"description": "Caller-supplied context object. Echoed back unchanged in the response.",
"type": "object"
},
"max_results": {
"description": "Maximum number of creatives to return per page.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"page_token": {
"description": "Opaque pagination cursor.",
"type": "string"
}
},
"title": "ListCreativesInput",
"type": "object"
},
"name": "list_creatives",
"outputSchema": {
"properties": {
"creatives": {
"items": {
"type": "object"
},
"type": "array"
},
"pagination": {
"properties": {
"max_results": {
"type": "integer"
},
"total_results": {
"type": "integer"
}
},
"required": [
"total_results",
"max_results"
],
"type": "object"
},
"status": {
"enum": [
"submitted",
"working",
"input-required",
"completed",
"failed"
],
"type": "string"
}
},
"required": [
"status",
"creatives",
"pagination"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "EmptyObject",
"type": "object"
},
"name": "list_rules",
"outputSchema": {
"properties": {
"count": {
"type": "integer"
},
"rules": {
"items": {
"properties": {
"description": {
"type": "string"
},
"id": {
"type": "string"
},
"severity": {
"type": "string"
},
"source": {
"type": "string"
}
},
"required": [
"id",
"severity",
"description",
"source"
],
"type": "object"
},
"type": "array"
},
"status": {
"enum": [
"submitted",
"working",
"input-required",
"completed",
"failed"
],
"type": "string"
}
},
"required": [
"status",
"count",
"rules"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"description": "Buyer account context. Scopes the update to a specific brand.",
"properties": {
"brand": {
"properties": {
"domain": {
"type": "string"
}
},
"type": "object"
},
"operator": {
"type": "string"
}
},
"type": "object"
},
"context": {
"additionalProperties": true,
"description": "Caller-supplied context object. Echoed back unchanged in the response.",
"type": "object"
},
"idempotency_key": {
"description": "Optional unique key to make this request idempotent. Re-submitting the same key returns the original result without creating a duplicate.",
"type": "string"
},
"policies": {
"description": "Replacement policy array. Fully replaces the existing policies on the standard set.",
"items": {
"properties": {
"channels": {
"items": {
"type": "string"
},
"type": "array"
},
"enforcement": {
"enum": [
"must",
"should",
"may"
],
"type": "string"
},
"policy": {
"type": "string"
},
"policy_categories": {
"items": {
"type": "string"
},
"type": "array"
},
"policy_id": {
"type": "string"
}
},
"required": [
"policy_id",
"enforcement",
"policy"
],
"type": "object"
},
"type": "array"
},
"standards_id": {
"description": "ID of the content standard set to update. Returned by create_content_standards.",
"type": "string"
}
},
"required": [
"standards_id",
"policies"
],
"title": "UpdateContentStandardsInput",
"type": "object"
},
"name": "update_content_standards",
"outputSchema": {
"properties": {
"context": {
"additionalProperties": true,
"type": "object"
},
"errors": {
"items": {
"type": "object"
},
"type": "array"
},
"policies": {
"items": {
"type": "object"
},
"type": "array"
},
"standards_id": {
"type": "string"
},
"status": {
"enum": [
"submitted",
"working",
"input-required",
"completed",
"failed"
],
"type": "string"
},
"success": {
"type": "boolean"
}
},
"required": [
"status",
"success",
"standards_id"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"description": "Buyer account context. Scopes the validation to a specific brand.",
"properties": {
"brand": {
"properties": {
"domain": {
"type": "string"
}
},
"type": "object"
},
"operator": {
"type": "string"
}
},
"type": "object"
},
"context": {
"additionalProperties": true,
"description": "Caller-supplied context object. Echoed back unchanged in the response.",
"type": "object"
},
"records": {
"description": "Delivery records to validate. Each record references a creative artifact that was delivered.",
"items": {
"properties": {
"artifact": {
"properties": {
"artifact_id": {
"type": "string"
},
"assets": {
"items": {
"type": "object"
},
"type": "array"
},
"description": {
"type": "string"
},
"property_rid": {
"type": "string"
}
},
"type": "object"
},
"record_id": {
"type": "string"
}
},
"required": [
"record_id"
],
"type": "object"
},
"type": "array"
},
"standards_id": {
"description": "ID of the content standard set to validate delivery against. Returned by create_content_standards.",
"type": "string"
}
},
"required": [
"standards_id",
"records"
],
"title": "ValidateContentDeliveryInput",
"type": "object"
},
"name": "validate_content_delivery",
"outputSchema": {
"properties": {
"context": {
"additionalProperties": true,
"type": "object"
},
"errors": {
"items": {
"type": "object"
},
"type": "array"
},
"results": {
"items": {
"properties": {
"features": {
"items": {
"type": "object"
},
"type": "array"
},
"record_id": {
"type": "string"
},
"verdict": {
"enum": [
"pass",
"fail"
],
"type": "string"
}
},
"required": [
"record_id",
"verdict"
],
"type": "object"
},
"type": "array"
},
"standards_id": {
"type": "string"
},
"status": {
"enum": [
"submitted",
"working",
"input-required",
"completed",
"failed"
],
"type": "string"
},
"summary": {
"properties": {
"failed_records": {
"type": "integer"
},
"passed_records": {
"type": "integer"
},
"total_records": {
"type": "integer"
}
},
"required": [
"total_records",
"passed_records",
"failed_records"
],
"type": "object"
}
},
"required": [
"status",
"summary",
"results"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"wrapper_depth": {
"default": 0,
"description": "Current wrapper chain depth (0 = root document). Default: 0.",
"format": "uint8",
"minimum": 0,
"type": "integer"
},
"xml": {
"description": "Raw VAST XML string to validate.",
"type": "string"
}
},
"required": [
"xml"
],
"title": "ValidateVastInput",
"type": "object"
},
"name": "validate_vast",
"outputSchema": {
"properties": {
"issues": {
"items": {
"properties": {
"col": {
"type": "integer"
},
"id": {
"type": "string"
},
"line": {
"type": "integer"
},
"message": {
"type": "string"
},
"path": {
"type": "string"
},
"severity": {
"enum": [
"error",
"warning",
"info"
],
"type": "string"
},
"spec_ref": {
"type": "string"
}
},
"required": [
"id",
"severity",
"message",
"spec_ref"
],
"type": "object"
},
"type": "array"
},
"status": {
"enum": [
"submitted",
"working",
"input-required",
"completed",
"failed"
],
"type": "string"
},
"summary": {
"properties": {
"errors": {
"type": "integer"
},
"infos": {
"type": "integer"
},
"warnings": {
"type": "integer"
}
},
"required": [
"errors",
"warnings",
"infos"
],
"type": "object"
},
"valid": {
"type": "boolean"
},
"version": {
"type": "string"
}
},
"required": [
"status",
"valid",
"version",
"summary",
"issues"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"max_depth": {
"default": 5,
"description": "Maximum wrapper chain depth to follow. Default: 5 (IAB VAST 4.x recommendation).",
"format": "uint8",
"minimum": 0,
"type": "integer"
},
"url": {
"description": "URL of a VAST tag to fetch and validate.",
"type": "string"
}
},
"required": [
"url"
],
"title": "ValidateVastUrlInput",
"type": "object"
},
"name": "validate_vast_url",
"outputSchema": {
"properties": {
"issues": {
"items": {
"properties": {
"col": {
"type": "integer"
},
"id": {
"type": "string"
},
"line": {
"type": "integer"
},
"message": {
"type": "string"
},
"path": {
"type": "string"
},
"severity": {
"enum": [
"error",
"warning",
"info"
],
"type": "string"
},
"spec_ref": {
"type": "string"
}
},
"required": [
"id",
"severity",
"message",
"spec_ref"
],
"type": "object"
},
"type": "array"
},
"status": {
"enum": [
"submitted",
"working",
"input-required",
"completed",
"failed"
],
"type": "string"
},
"summary": {
"properties": {
"errors": {
"type": "integer"
},
"infos": {
"type": "integer"
},
"warnings": {
"type": "integer"
}
},
"required": [
"errors",
"warnings",
"infos"
],
"type": "object"
},
"url": {
"type": "string"
},
"valid": {
"type": "boolean"
},
"version": {
"type": "string"
}
},
"required": [
"status",
"url",
"valid",
"version",
"summary",
"issues"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:01a1712357d40e6708f01139bd26e03247abdb884004d6e6217d37b55c02f0af | sha256sum