Skip to main content
Glama

Check a video

check_video
Read-onlyIdempotent

Check a video and show it. While the upload or the edit is still running, this waits for news before answering (up to 20 seconds; 50 in Claude), so call it again right away only if the user is waiting; the video card updates itself. state is waiting (give the user the upload link), uploading, editing, ready, draft (a rough cut, not the finished edit: say so and offer next_step) or failed (say problem and next_step). It also says when the length differs from the length asked. Download links are made only when asked: with_download: true (when the user wants the file).

Input Schema

NameRequiredDescriptionDefault
waitNoThe video card's own refresh sends false to answer at once. Leave it out: waiting for news is what keeps a check from being wasted.
job_idNoThe job_id revise_video returned for a change by typing: also reports that change (its steps so far, then its reply, whether it changed anything, and anything it could not do).
video_idNo
import_idNo
output_idNo
with_downloadNotrue: also make a 15-minute download link (only when the user wants the file).

Output Schema

NameRequiredDescriptionDefault
codeNo
costNo
errorNo
readyNo
stateNo
changeNo
statusNo
dry_runNo
messageNo
outputsNo
plan_idNo
durationNo
playableNo
progressNo
style_idNo
video_idNo
availableNo
import_idNo
narrationNo
output_idNo
studio_urlNo
version_idNo
downloadableNo
download_page_urlNo
previous_version_idNo
revision_in_progressNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / download_page_url
      Added value: +{
      +  "format": "uri",
      +  "type": "string"
      +}
  2. Changed2 schema fields changed
    • addedInput schema / properties / job_id
      Added value: +{
      +  "description": "The job_id revise_video returned for a change by typing: also reports that change (its steps so far, then its reply, whether it changed anything, and anything it could not do).",
      +  "type": "string"
      +}
    • addedOutput schema / properties / change
      Added value: +{
      +  "additionalProperties": true,
      +  "type": "object"
      +}
  3. Changed1 schema field changed
    • addedInput schema / properties / wait
      Added value: +{
      +  "description": "The video card's own refresh sends false to answer at once. Leave it out: waiting for news is what keeps a check from being wasted.",
      +  "type": "boolean"
      +}
  4. Changed1 schema field changed
    • addedOutput schema / properties / narration
      Added value: +{
      +  "additionalProperties": true,
      +  "type": "object"
      +}
  5. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "description": "Clypmint check_video result. Error results carry error; successful requests expose the identifiers and state available for the next step. Signed media stays in private metadata.",
      +  "properties": {
      +    "available": {
      +      "type": "boolean"
      +    },
      +    "code": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "cost": {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    "downloadable": {
      +      "type": "boolean"
      +    },
      +    "dry_run": {
      +      "type": "boolean"
      +    },
      +    "duration": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "error": {
      +      "type": "string"
      +    },
      +    "import_id": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "message": {
      +      "type": "string"
      +    },
      +    "output_id": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "outputs": {
      +      "items": {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "plan_id": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "playable": {
      +      "type": "boolean"
      +    },
      +    "previous_version_id": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "progress": {
      +      "maximum": 1,
      +      "minimum": 0,
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "ready": {
      +      "type": "boolean"
      +    },
      +    "revision_in_progress": {
      +      "type": "boolean"
      +    },
      +    "state": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "status": {
      +      "type": [
      +        "string",
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "studio_url": {
      +      "format": "uri",
      +      "type": "string"
      +    },
      +    "style_id": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "version_id": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "video_id": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  6. Changed1 schema field changed
    • addedInput schema / properties / with_download
      Added value: +{
      +  "description": "true: also make a 15-minute download link (only when the user wants the file).",
      +  "type": "boolean"
      +}
  7. Changed1 schema field changed
    • addedInput schema / properties / output_id
      Added value: +{
      +  "type": "string"
      +}
  8. First observed

TDQS

A4.2/5.0
Behavior5/5

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

Annotations declare readOnly/idempotent/non-destructive, and the description adds substantial context beyond them: the blocking wait duration and its platform variance, the self-refreshing card that makes re-polling wasteful, and that download link creation is opt-in via with_download. No behavior contradicts the annotations.

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

Conciseness4/5

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

Purpose and the key waiting behavior are front-loaded, and nearly every clause carries operational meaning. It is parenthetical-heavy and rambles in the middle, so it is dense rather than wasteful but not maximally tight.

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

Completeness3/5

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

An output schema exists, so return-shape explanation is unnecessary, and the description fully covers states and download behavior. However, with six optional parameters and no required fields, the description never resolves which of video_id/import_id/output_id to pass, leaving real ambiguity for an agent assembling the call.

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 coverage is 50%; the description does explain job_id's role (revise_video's change report) and with_download's side effect, matching the schema-documented params. But video_id, import_id, and output_id are bare strings in both schema and description with no indication of which identifier to supply in which situation.

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 ("Check a video and show it") and enumerates the state machine it surfaces (waiting, uploading, editing, ready, draft, failed). It is clearly a status/polling tool, though it never names which sibling it replaces (e.g. list_videos, get_video_activity) so an agent must still infer differentiation.

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

Usage Guidelines5/5

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

Explicit when-to-call guidance: it waits up to 20s (50 in Claude) so only re-call right away if the user is waiting, and the card self-updates. It also prescribes per-state actions (draft: say it's a rough cut and offer next_step; failed: state the problem and next_step) and the condition for with_download (only when the user wants the file).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources