REC 00:00:00;00
screencast-mcp Tools Workflows Connect GitHub ↗

SCREENCAST-MCP / TOOLS / CAPTURE

Start Recording

start_recording

Start a background screen recording. Returns a session id; finalize it with stop_recording. Never auto-starts.

capturewritesdestructivesince v0.2.0

00:00PARAMETERS
NameTypeDescription
target requiredstringfull | monitor:<i> (0 = primary) | window:<title> (or window:exe=<app.exe> / window:hwnd=<n>) | region:<x>,<y>,<w>,<h>. With gdigrab a window's rectangle is resolved once at start (visible, on top); it does not follow the window.
exactTitlebooleanwindow: targets match the whole title only, never a substring (default false).
fpsintegerFrames per second (default 30). ≥ 1, ≤ 120
quality"draft" | "standard" | "high"Encoder preset (default standard).
audioobjectAudio (default none). No microphone capture.
audio.source required"system" | "none"system = what the machine plays (needs a loopback device); none = video only.
audio.devicestringdshow loopback device (from list_audio_devices); auto-detected if omitted.
outputstringOutput .mp4 path (default under SCREENCAST_HOME/recordings).
overwritebooleanAllow replacing an existing file at the output path (default false).
maxDurationSecintegerAuto-stop after this many seconds (default 3600 or SCREENCAST_MAX_RECORDING_SEC; max 7 days; 0 = no cap). ≥ 0, ≤ 604800
eventsbooleanAlso log clicks, scroll, cursor, and typing (video-timed, video pixels) for read_events (default false; ~1 s slower start).
keys"masked" | "shortcuts"With events: masked (default) logs typing only as 0.5 s-grid bursts, never keys; shortcuts also names Ctrl/Alt/Win chords. Typed text is never logged.
cursor"os" | "events"events: leave the OS cursor out and log it (implies events) for the cursor tool to redraw.
backend"gdigrab" | "wgc" | "ddagrab"gdigrab (default): the screen rectangle. wgc (window: targets, FFmpeg 8+): the window's own surface, even when covered or moved; client area only, no audio. ddagrab: one display on the GPU, low CPU.
encoder"auto" | "x264" | "nvenc" | "qsv" | "amf"auto = first working GPU encoder, else x264 (default with ddagrab; else x264).
webcamobjectAlso record a camera to <output>.webcam.mp4, aligned for overlay.
webcam.devicestringlist_video_devices name (default: first).
webcam.corner"top_left" | "top_right" | "bottom_left" | "bottom_right"
webcam.sizenumberShare of width (0.25). ≥ 0.1, ≤ 0.5
webcam.shape"rect" | "circle"
replayBufferSecintegerInstant replay: keep only the last N s (bounded disk) for save_replay. gdigrab only. ≥ 4, ≤ 3600
00:05A MINIMAL CALL
start_recording { "target": "window:Notepad" }

The required arguments only, with placeholder values. Everything else takes its default.

00:10WHAT COMES BACK

Structured content (structuredContent), alongside a text summary:

FieldType
sessionId alwaysstring
status alwaysstring
backend alwaysstring
outputPath alwaysstring
00:15SEEN IN