Skip to main content
Glama

record_video

Records a screen or window to an .mp4, optionally with sound, saving to session scratch or a chosen path and returning its path, duration, and sampled frames.

Instructions

Record a video of the screen, or of one window, and save it as an .mp4: in the session's scratch directory, gone when the session stops, or at path. The answer is the saved path, how long the clip is, and up to 8 frames from it RETURNED AS ONE IMAGE, with the times they show: you can't play the clip, but a person or another tool can. A clip stops at 100 MB. sound also says what it heard, as record_audio does. until_line ends it at an event instead; the answer gives the line. For a few moments of motion, take_screenshot's burst is cheaper.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cropNoWIDTHxHEIGHT+X+Y, inside what's taken
fileNountil_line's, by its path from the allow file's directory
pathNoWhere to save it, a new .mp4, by its path from the allow file's directory
tailNoSeconds to go on after the line (0)
soundNoWhat plays too, in a session started with audio
windowNoA window's title, exactly or a regex matched in full, or app=RE for its app id
secondsNoHow long; with until_line, the most (60)
sessionYesIts name, from start_session
until_lineNoA regex: stop tail seconds after a line matching it is written to file

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.8.1

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnly=false, destructive=false, openWorld=false; the description adds substantial context beyond that: a 100 MB clip cap, that the scratch-directory file is deleted at session stop, that audio requires a session started with audio, and that the result is frames-as-one-image the agent cannot play. These are exactly the operational limits an agent needs and none are recoverable from structured fields.

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 output contract are front-loaded in the first two sentences, and each subsequent clause carries distinct information (size cap, audio requirement, stopping modes, cheaper alternative). The colon-chained, run-on phrasing makes it denser than ideal, but there is little filler to cut.

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?

With no output schema, the description carries the return-value burden and does so fully: saved path, clip duration, up to 8 timestamped frames returned as one image, and the until_line case yielding the matching line. Combined with the size cap and file-lifetime note, an agent has everything needed to call and interpret this tool.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already documents all 9 parameters and the baseline is 3. The description still adds cross-parameter meaning the schema does not: seconds is a maximum when until_line is present, until_line's result reports the matching line, and sound only functions in an audio-enabled session.

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 (record a video of the screen or one window) and the artifact produced (.mp4), naming both save destinations (scratch directory vs. path). It also differentiates itself from siblings by name, citing record_audio and take_screenshot's burst. An agent can distinguish it from every other capture tool without opening the schema.

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?

Explicitly routes to alternatives: 'For a few moments of motion, take_screenshot's burst is cheaper' and 'sound also says what it heard, as record_audio does.' It also frames the until_line vs. seconds choice as two stopping modes. It stops short of stating when recording is inappropriate overall (e.g., headless/no-display sessions), so it is clear context rather than full when/when-not coverage.

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