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

SCREENCAST-MCP / TOOLS

Tools

58 tools in 6 toolsets, each with its parameters, a minimal call, and what it returns. Generated from the server's own schemas, so this reference cannot drift from the code. Agents can read all of it in one file: llms-full.txt.

00:00CORE / ALWAYS ON

Always loaded, whatever SCREENCAST_TOOLSETS selects.

ToolWhat it does
get_media_infoProbe a media file with ffprobe and return duration, resolution, frame rate, codecs, container format, and size.
doctorCheck the setup: ffmpeg/ffprobe (FFmpeg 8+?), optional filters, capture devices, Windows OCR, settings, and enabled toolsets; problems says what is missing and how to fix it.
00:05CAPTURE

Record or screenshot the desktop, a monitor, a window, or a region. Every capture is an explicit tool call: nothing records on its own.

ToolWhat it does
start_recordingStart a background screen recording.
stop_recordingStop a recording gracefully so the file is finalized; returns the path and duration.
pause_recordingPause a recording; until resume_recording nothing is captured, and the gap is left out of the file, events, and markers.
resume_recordingResume a paused recording (same target and settings).
save_replaySave the last N seconds of a replay buffer (start_recording replayBufferSec) to an mp4; the buffer keeps running.
list_sessionsList all recording sessions (active and finished) with their status, target, output path, and whether the process is still alive.
get_sessionInspect a single recording session by id, including live status and whether its output file exists on disk.
read_eventsRead the input events (clicks, scroll, cursor, shortcuts, typing bursts) of a recording made with events: true, in video seconds and pixels; e.g. types: ['down'], then sample_frames there.
add_markerMark a labelled moment on a recording, live or at a second.
screenshotCapture one PNG of the screen, a monitor, a window, or a region, returned inline and by path.
list_audio_devicesList DirectShow audio devices and flag a likely loopback (Stereo Mix or a virtual-audio driver), for start_recording's audio.device.
list_video_devicesList DirectShow cameras for start_recording's webcam.device.
list_targetsList the desktop, monitors, and visible windows (topmost first, with capturability per backend).
00:10WATCH

Turn footage into something a model can read: frames, contact sheets, diffs, OCR, and a searchable text timeline.

ToolWhat it does
review_recordingOpen a recording for a person to review: in MCP Apps clients an inline player to scrub, trim, and redact, then export; elsewhere just the video's details.
player_framesPreview frames for the review player: JPEGs on an even grid over the video plus frames at scene changes, with their real times.
sample_framesSample PNG frames from a video (by fps, timestamps, or scene changes) and return the first few inline so the model can see what happened.
contact_sheetTile timestamped frames of a video into one image to see a whole recording at a glance (the cheapest first look).
screen_diffCompare two screenshots or frames: SSIM score, changed share, and changed boxes in b's pixels, to check a UI change happened only where expected.
wait_for_changeWait until part of the screen changes or settles, instead of guessing a sleep.
find_textOCR (built into Windows) on the screen, an image, or video frames, with line and match boxes in image pixels (add origin for desktop coordinates).
index_recordingBuild a recording's text timeline (<video>.index.json: OCR per scene, events, markers, transcript) for search_recording.
search_recordingSearch an index_recording timeline (screen text, events, markers, transcript): timecoded hits, best first, secrets masked.
00:15EDIT

Cut, convert, compress, and redact. A tool that writes a file refuses to replace an existing output unless overwrite: true; default output paths are always unique.

ToolWhat it does
trimCut a video down to one sub-clip by start + (end or duration).
concatJoin videos end to end with hard cuts: stream copy when they match, else a re-encode (mode says which).
convertConvert media to mp4, webm, or gif.
export_gifExport an animated GIF or WebP that fits a size budget (for PRs, issues, READMEs), stepping fps, width, and quality down until it fits.
cropCrop a video to a pixel rectangle; one running off the frame is rejected.
scaleResize a video to a target width and/or height and re-encode.
speedChange playback speed by a factor (>1 faster, <1 slower) and re-encode.
compressRe-encode a video smaller (H.264 CRF ladder, optional width cap).
clipExtract several frame-exact segments, each to its own file.
cut_idleRemove dead air: cut stretches where the screen is frozen (and silent), keeping a short pad.
cut_by_transcriptEdit a video by its transcript: cut quoted text, cue numbers, or fillers.
redact_regionCover given rectangles in a video (e.g. secrets on screen).
pipelineRun several edits (trim, crop, scale, speed, cut_idle, redact, callout, keystroke_overlay, cursor, reframe, zoom, backdrop, audio, burn_subtitles, then optionally export_preset or export_gif) in one ffmpeg pass: one re-encode, no intermediate files.
00:20PRODUCE

Annotate, frame, and assemble a finished piece. Tools that combine clips normalize each input to a common resolution, fps, and audio rate first.

ToolWhat it does
overlayComposite an image or video (logo, watermark, picture-in-picture) onto a video at a pixel position, optionally scaled and time-limited; keeps the base's audio and length.
calloutAnnotate a video with timed boxes, text labels, and arrows.
keystroke_overlayBurn keycast-style badges for shortcuts, clicks, and typing from the recording's input event log (start_recording events: true).
cursorDraw a smoothed, scaled cursor that hides when idle from the event log of a start_recording cursor: "events" recording (no OS cursor in the video), with click ripples and an optional spotlight.
backdropFrame a video or screenshot on a gradient, color, or wallpaper with padding, rounded corners, and a drop shadow, optionally on a 16:9/1:1/9:16/4:5 canvas.
burn_subtitlesBurn SRT/ASS subtitles (e.g. from transcribe) into a video in the bundled font.
chaptersWrite chapters (markers, scene changes, transcript, or a list) into an mp4/mkv/mov copy without re-encoding; returns YouTube chapter text.
xfade_transitionJoin two videos with an xfade transition (audio crossfaded); they need not match in size, fps, or audio.
assemble_highlightsStitch clips (including title cards) into one video with cuts or xfade transitions; they need not match in size, fps, or audio.
title_cardGenerate a title card clip (centered text on a solid background, silent audio track) to stitch in with assemble_highlights.
reframeRe-aspect a video to 16:9, 9:16, 1:1, or 4:5 by padding or cropping.
zoomSmooth animated zoom-and-pan into the action and back out, from keyframes or planned from logged clicks or screen changes.
export_presetEncode a platform-ready H.264 file (aspect, fps, bitrate, faststart) for a named platform.
bug_reportPackage a recording as a paste-ready repro folder: secret-scanned, redacted clip and GIF, contact sheet, steps from the event log, OCR'd errors, environment, report.md for gh issue create --body-file.
step_guideTurn a recording's event log into a numbered how-to: a ringed screenshot and caption per step, marker headings; Markdown and/or one HTML file.
00:25AUDIO

Extract, clean up, level, transcribe, and score the soundtrack.

ToolWhat it does
extract_audioExtract the audio track of a media file to its own file (mp3, aac, wav, or copy).
normalize_audioNormalize loudness to a delivery target (two-pass EBU R128 loudnorm); video is copied.
denoiseReduce steady background noise (fan, hum, hiss) in a recording's audio with an adaptive FFT denoiser.
transcribeTranscribe a recording's speech to an SRT subtitle file, locally, with FFmpeg 8's whisper filter (needs a whisper.cpp model file).
music_bedLay music under a video: looped or trimmed to length, faded, leveled, and mixed with any existing audio.
narrateOffline voiceover with the built-in Windows voices: speaks each line at its time or marker over the audio, plus an SRT.