Skip to main content
Glama

add_video

Add a video to the end of a video surface, from an https URL to an mp4, webm, mov or m4v file. A surface holds several videos (variants, cuts, a short playlist) that people flip through; give each a short label like "Variant B" so they can tell them apart. Create the surface first with create_surface and kind: "video". Pass content_type when the URL has no file extension. For a file on your own machine, get a link with create_video_upload first. Dock downloads the file and keeps its OWN copy, so a provider's expiring link (e.g. a generated Seedance/Kling video) keeps playing; pass the link run_tool returned straight in. Editor role required. Emits video.updated.

Input Schema

NameRequiredDescriptionDefault
urlYeshttps URL of the video file. Dock stores its own copy.
nameNoOptional file or clip name. Max 200 chars.
slugYesThe workspace slug. Accepts bare or org-prefixed form.
labelNoOptional short label shown in the switcher, e.g. "Variant B". Max 60 chars.
content_typeNoOptional: video/mp4, video/webm, video/quicktime or video/x-m4v. Inferred from the URL's extension when omitted.
surface_slugNoOptional video surface slug. Omit for the first video surface.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / url / description
      Previous value: -"https URL of the video file."New value: +"https URL of the video file. Dock stores its own copy."
  2. Added

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses that Dock downloads and keeps its own copy (so expiring links keep working), requires the Editor role, and emits `video.updated`. Excellent transparency, though rate limits or failure modes aren't mentioned.

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?

The description is moderately long but front-loads the core purpose and then provides necessary context. Every sentence earns its place, though it could be slightly tighter without losing essential details.

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?

Given a 6-parameter mutation tool with no output schema, the description covers the key behavioral aspects: storage semantics, prerequisites, alternatives, role requirement, and event emission. It's complete enough for an agent to call correctly, though it could note whether the added video is appended or replaces existing content (it says 'end of a video surface', which implies append).

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 all parameters are already documented in the schema. The description adds context for `url` (expiring links), `content_type` (inference), and `label` (use case), but doesn't add meaning beyond what the schema provides. Baseline 3 is correct.

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 and resource ('Add a video to the end of a video surface'), and names the accepted formats. It distinguishes itself from siblings like update_video and edit_video, which mutate existing videos rather than appending a new one.

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?

Explicitly names the prerequisite (create_surface with kind: "video"), the alternative for local files (create_video_upload), the content_type fallback condition, and the required role. This covers when to use and when-not to use clearly.

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.