Skip to main content
Glama

Verify Delivery Conformance

verify_delivery_conformance
Read-onlyIdempotent

Verifies a local exported file against a delivery contract using ffprobe and optional EBU R128, returning pass, fail, or not_evaluated per check.

Instructions

Verify a local exported file against an explicit delivery contract using ffprobe and optional EBU R128 analysis. Returns pass, fail, or not_evaluated per check; it does not prove Premiere render lineage or visual approval.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "output_path": "<output_path>"
    },
    "name": "verify_delivery_conformance"
  }
}

Input Schema

NameRequiredDescriptionDefault
widthNoExpected video width in pixels
heightNoExpected video height in pixels
frame_rateNoExpected frames per second; rational ffprobe rates are compared numerically
audio_codecNoExpected audio codec name, such as aac or pcm_s24le
output_pathYesExisting local delivery file
target_lufsNoOptional integrated loudness target from -100 through 0 LUFS
video_codecNoExpected video codec name, such as h264 or prores
audio_channelsNoExpected audio channel count
idempotency_keyNoOptional client-chosen key (1-128 chars of A-Z a-z 0-9 . _ : -) for this intended edit. Pass a fresh key per edit and reuse it only when retrying that same edit, for example after a client-side timeout. A repeat with the same tool, key and arguments is not run again: while the first call is running it fails with IDEMPOTENCY_IN_PROGRESS (poll get_last_operations); after it finished it returns the original outcome marked replayed. A definite failure with nothing applied (receipt outcome not_applied) may be retried with the same key. Reusing a key with different arguments fails with IDEMPOTENCY_KEY_REUSED. Scoped to this MCP session (the stdio server process, or the HTTP server process when Streamable HTTP is stateless per request) and held in memory only (200 keys, 1 hour); it does not survive a restart or reconnect. Read-only invocations are never deduplicated.
duration_secondsNoExpected duration in seconds
expected_cep_targetNoOptional reviewed CEP sequence/clip identity and exact tick ranges. Checked before every generated command; UXP refuses this CEP-only guard.
audio_sample_rate_hzNoExpected audio sample rate
frame_rate_toleranceNoAllowed absolute frame-rate difference (default: 0.001)
expected_project_pathNoOptional absolute saved-project path. Every generated CEP command refuses before its body when the active project differs or is unsaved. UXP commands refuse this CEP-only guard; local-only tools do not inspect Premiere. Omit to keep existing behavior.
loudness_tolerance_luNoAllowed absolute loudness difference (default: 1 LU)
maximum_true_peak_dbfsNoOptional maximum true peak from -100 through 0 dBFS
allowed_container_namesNoAllowed ffprobe demuxer-family aliases, such as mov or mp4. This cannot distinguish exact subtypes when ffprobe reports a shared alias family.
duration_tolerance_secondsNoAllowed absolute duration difference (default: 0.05)
maximum_video_bitrate_kbpsNoOptional maximum selected-video-stream bitrate in kilobits per second
minimum_video_bitrate_kbpsNoOptional minimum selected-video-stream bitrate in kilobits per second

Output Schema

NameRequiredDescriptionDefault
okYesWhether the tool completed successfully.
dataNoTool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it.
toolYesThe registered MCP tool name.
errorNoFailure detail when ok is false.
receiptNoVersioned common mutation receipt; success never implies rendered verification.
idempotencyNoPresent when idempotency_key deduplicated this call: replayed is true when the original outcome was returned instead of running again.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.30.0

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds real value by disclosing the tri-state result model (pass/fail/not_evaluated per check) and the limit of what a pass implies. It does not discuss cost or runtime of the optional EBU R128 analysis, which is the main residual behavioral unknown.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler, and the capability statement is front-loaded ahead of the scope caveat. The negative clause earns its place because it prevents over-trusting a pass result.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so per-check return detail needn't be restated, and the description still summarizes the result shape. For a 20-parameter tool with nested identity guards it is adequately covered, though it could say a word about what happens when a contract field is omitted (unevaluated versus failed).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% across 20 parameters, including tolerances, loudness targets, container aliases and the CEP identity guard, so the schema carries the semantics. The description adds only the high-level notion of a 'delivery contract' and does not clarify how expected values combine or which checks are skipped when a field is omitted; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — verify a local exported file against an explicit delivery contract — and names the mechanisms (ffprobe, optional EBU R128). It never mentions the close sibling verify_delivery_file, so the agent must infer the distinction between a generic file check and a contract-based conformance check.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear usage context (an explicit delivery contract exists and the artifact is a local export) plus a genuine scope exclusion: it does not prove render lineage or visual approval. No alternative sibling is named for cases where the agent wants lineage or visual proof, which keeps it below a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools