Skip to main content
Glama
dnshtm9

kenari-media-mcp

by dnshtm9

Wait For Video

wait_for_video

Poll a Kenari video job until it finishes, then download the rendered file. If timeout occurs, returns still_rendering so you can continue waiting.

Instructions

Poll GET /v1/videos/{id} every 5s (backoff cap 15s) until done/failed/expired or timeout (default 20 min). Auto-downloads when done. Timeout returns still_rendering with isError=false.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesKenari video job id returned by create_video or extend_video.
downloadNoWhen true (default), auto-download the finished video to KENARI_OUTPUT_DIR and return its absolute path.
timeout_msNoMaximum time to keep polling in milliseconds (>= 1000). Defaults to 1200000 (20 min). On timeout returns still_rendering (not an error) — call again.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoKenari video job id, when relevant to the result or error.
opNoTool operation name the error occurred in.
codeNoMachine-readable code: an error code (e.g. unauthorized, bad_request, upstream_error) or a state marker (e.g. rendering, done, still_rendering).
hintNoHuman-readable remediation hint (e.g. set KENARI_API_KEY).
pathsNoAbsolute local paths of downloaded video files (when done and downloaded).
statusNoHTTP status number (on API errors) or the Kenari job status string (on video status results).
disabledNoTrue when video tools are disabled via KENARI_ALLOW_VIDEO=0.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Beyond annotations, the description discloses the polling interval (5s), backoff cap (15s), terminal states (done/failed/expired), timeout default (20 min), auto-download side effect, and the important non-error timeout result (still_rendering with isError=false). This is rich behavioral context that annotations alone do not provide.

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 with no filler: the endpoint, polling policy, termination conditions, timeout semantics, and auto-download behavior are packed into a compact, front-loaded description. Every clause adds value.

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

Completeness5/5

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

For a 3-parameter tool with a full input schema, an output schema, and annotations, the description covers the essential operational details: what is polled, how often, when it stops, what happens on timeout, and the auto-download side effect. Nothing critical for selecting or invoking the tool is missing.

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%, so the schema already documents id, download, and timeout_ms with clear meanings. The description restates the timeout default and poll behavior but does not add significant parameter-level meaning beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose5/5

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

The description names a specific action (poll GET /v1/videos/{id}) with a clear resource and termination condition, and distinguishes this tool from get_video_status (single status check) and download_video (explicit download) by stating it polls until done and auto-downloads. The endpoint and behavior make the tool's role unmistakable.

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?

The description gives clear context: this is a blocking poll-and-wait tool that auto-downloads when finished, and timeout is a non-error retry signal. It does not explicitly name sibling alternatives or state when not to use it, but the polling and auto-download behavior strongly imply the intended use case.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dnshtm9/kenari-media-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server