Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,562Letters: 14Defects: 1,336counted 1 min ago
teppi

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 yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:01a1712357d40e6708f01139bd26e03247abdb884004d6e6217d37b55c02f0af | sha256sum