Skip to main content
Glama

complete_video_upload

Publish a pending recording after its direct upload finishes. Call only after create_video_upload and a successful PUT of the entire file to the returned upload URL; this tool does not upload bytes. Requires a project API key with video.upload permission. Checks the stored object's byte size, MIME type and MP4/WebM container signature, not the correctness of the work shown or the full media contents. On success, changes PENDING to READY and returns the recording; use get_video_link next to retrieve its public viewer link and report retainUntil. Anyone with that link can watch until retainUntil; delete_video can remove the recording earlier. A size, MIME type or container-signature mismatch refuses publication and initiates deletion of the uploaded object. Failure to inspect the stored object's metadata marks the recording FAILED. For either failure, create a new upload and upload the file again rather than retrying completion on that recording. Only PENDING recordings can be completed: calling again after success returns an error, so use get_video_link instead.

Input Schema

NameRequiredDescriptionDefault
videoIdYesThe video.id returned by create_video_upload, after the file has been successfully uploaded using its upload URL.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / videoId / description
      Added value: +"The video.id returned by create_video_upload, after the file has been successfully uploaded using its upload URL."
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the entire behavioral burden and does so thoroughly: it discloses the required permission (video.upload), the PENDING→READY state transition and returned recording, the exact validation performed (byte size, MIME, MP4/WebM container signature, but not content correctness), the destructive consequence of a mismatch (object deletion), FAILED handling, and non-idempotency (a second call errors). This is far beyond what any annotation would provide.

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?

Front-loaded purpose followed by preconditions, validation, and failure modes in a logical order, and every sentence is substantive. It is dense at roughly seven sentences and repeats the 'use get_video_link' routing twice (once after success, once in the closing idempotency note), a minor redundancy that keeps it from a 5.

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?

No output schema exists, yet the description states what is returned ('returns the recording') and points to get_video_link for the viewer link and retainUntil. Given the single-parameter, no-annotation surface, an agent has everything needed to call this correctly and interpret the outcome.

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 100% and the single videoId parameter is already documented in the schema as the value returned by create_video_upload. The description reinforces the same origin/sequencing but adds no new syntax, format, or constraint beyond the schema, so the baseline 3 applies.

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?

States a specific verb+resource ('Publish a pending recording') plus the precondition that scopes it. Distinguishes itself from siblings by explicitly naming create_video_upload, get_video_link, and delete_video, so an agent knows where this sits in the workflow.

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 precedence: 'Call only after create_video_upload and a successful PUT', 'use get_video_link next', 'delete_video can remove the recording earlier', and an exclusion that this tool 'does not upload bytes'. The when-not-to-retry rule ('create a new upload ... rather than retrying completion') is spelled out, leaving nothing to inference.

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