Skip to content

MCP tool reference

Generated from the same manifest the app serves to clients — 42 tools. See Editing with AI agents for how to connect.

ToolWhat it does
get_app_statusWhere Kapture is right now: recording state, whether the editor is open, the active project, and permission status. Call this first when you are unsure what the app is doing.
get_permissionsStatus of every macOS permission Kapture uses (screen recording, camera, microphone, accessibility, input monitoring, speech recognition).
request_permissionAsks for one permission. Screen Recording, Accessibility, and Input Monitoring can only be granted by the user in System Settings — pass openSystemSettings to take them there.
activate_appBrings Kapture to the front, optionally opening a specific window. Pass path, name, or id with window ‘editor’ to focus that open project.
list_capture_sourcesDisplays, windows, cameras, and microphones available to record, plus the app’s current capture defaults. Use the ids from here with start_recording.
start_recordingStarts a screen recording. Returns once capture is live (after the countdown). Stop it with control_recording, which creates a project and opens the editor.
control_recordingPause, resume, stop, discard, or restart the running recording, or stamp a marker/zoom mark into it. ‘stop’ finalises the take, creates a project, and opens the editor.
get_recording_statusState, elapsed time, and countdown of the current recording.
ToolWhat it does
list_projectsRecently opened projects plus every .kapture package in the app’s auto-save folder.
open_projectOpens a project in its own editor window. Other open projects stay put — call open_project again to work in two at once, then copyClips / pasteClips to move clips between them. Identify it by path, by name (fuzzy, mos…
open_videoOpens an mp4/mov (or similar) as a new Kapture project and shows the editor — the same as File → Open Video. Use this when the input is a long finished video rather than a .kapture recording. Then analyze_timeline and…
get_projectThe full editable state of an open project: canvas (including crop and output size), cursor, camera, audio, captions, timelines, counts, playhead, and source media. Defaults to the frontmost window; pass path, name, o…
save_projectWrites the project to its .kapture package. Optionally renames it — which moves the file to match — or saves to a new path.
manage_timelinesTimelines are alternative cuts of the same recording — separate trims, zooms, captions and masks over one set of source media. nest places another timeline as one block, insert copies its clips in, and extract moves clips into a new timeline.
get_edit_stateThe complete editable model of one timeline — every clip, keyframe pose, easing, caption style, audio clip and canvas setting — with stable ids, a revision, and the list of editor actions. Changes nothing.
apply_edit_batchUp to 500 clip, audio-clip and settings patches in one request, using the projectID and revision from get_edit_state. Objects merge, arrays replace, null removes a field. Everything is validated before anything commits; dryRun checks without applying. Never moves the playhead or the selection.
manage_shortcutsLists every editor and recording shortcut, or sets or resets one. Conflicts swap exactly as they do in Settings.
ToolWhat it does
control_playbackStarts or stops preview playback. Needs the editor window open.
set_playheadMoves the preview playhead. Give one of seconds, sourceSeconds, normalized, or marker.
run_editor_actionRuns any keyboard-reachable editor verb by name — the escape hatch for anything the other tools do not cover. Needs the editor open. Names include playPause, splitAtPlayhead, rippleDeleteClip, deleteSelection, setTrim…
trim_timelineSets the in and out points of the recording. Omitted edges keep their current value.
split_atAdds an edit point, cutting the clip in two without removing any media. Splits the arranged clip when the timeline has been rearranged.
delete_rangeRipple-deletes a span on every lane: the screen, camera, sound and overlays that played during it are removed and everything after it closes up, shortening the output.
set_speedApplies a speed multiplier (0.25–8) to a range, or to the whole trimmed timeline when no range is given. 1× removes the ramp.
reset_timeline_editsClears trim, cuts, splits, and speed ramps. Zooms, masks, and captions stay.
ToolWhat it does
manage_zoomsZoom keyframes push the camera into part of the frame for a span of time. ‘auto’ rebuilds the whole set from the recording’s cursor and keyboard activity.
manage_masksMasks blur or spotlight a rectangle of the frame — used to redact something on screen. Without a duration a mask runs to the end of the recording.
manage_markersTimeline markers (flags) bookmark moments. ⌥← / ⌥→ in the editor jump between them.
ToolWhat it does
set_canvasThe frame the recording sits in: aspect ratio, output size, background, padding, corner radius, shadow, 3D tilt, and crop. Only the fields you pass change. tilt takes enabled, a direction from the nine grid positions (the side that leans away), an amount in degrees and a perspective from 0 to 1.
set_cursorHow the recorded pointer is drawn: style, size, smoothing, idle hiding, motion blur, click ripple, and click sounds.
set_cameraThe webcam overlay: whether it shows, its shape, crop, size, position, mirroring, border, and how much it shrinks during a zoom. Only works when the recording has a webcam track.
set_audioTrack levels and processing: microphone, system audio, and music volumes, loudness normalisation, noise reduction, ducking, and the music bed.
manage_audioImport a narration file onto the audio lane, list clips, or delete one. Live recording is in the editor; this imports an existing file at the playhead (or at ‘start’).
manage_captionsOn-device transcription and caption editing. ‘generate’ transcribes the recording’s audio and can take a while on a long take. ‘setStyle’ changes the whole track’s look; ‘update’ can restyle or retime one cue.
set_shortcuts_overlayThe key-cap overlay built from keystrokes captured during recording: whether it shows, where, how big, and whether plain keys count or only chords.
manage_presetsSaved looks — canvas, camera, cursor, zoom easing, audio processing, keystroke overlay and caption styling — reusable across projects. ‘update’ re-captures an existing preset from the project’s current look. ‘setDefau…
ToolWhat it does
manage_clipsPictures, movies, titles and shape annotations on the timeline. text and shape each add a clip when given no id and restyle one when given an id — a shape takes its kind (arrow, line, rectangle, ellipse), colour, thickness, fill, rotation, both endpoints and flip. Import a file, crop its source (not a scale), move/resize its layout on the canvas, lean it in 3D with tilt on the layout action (clearTilt lays it flat again, or hands a recorded segment back to the recording’s tilt), retime, hide, or delete. trackIndex picks a lane on create, on edit and via moveToTrack, and is refused — naming the clip in the way — rather than quietly placed somewhere else; compactTracks packs every overlay down onto the fewest lanes their timing allows. Recording crop still lives on set_canvas cropRect.
analyze_timelineReads the open project’s transcript, markers, zooms, and click/key activity and returns suggested highlight ranges. Does not transcode. If there are no captions yet, call manage_captions action generate first — speech…
create_reelsCuts several standalone timelines from the open recording or imported video. Each reel is its own timeline (trim + clips) ready to edit and export — nothing is re-encoded. Pass reels: [{start, end, name}] in source se…
ToolWhat it does
list_export_presetsExport presets and quality tiers, with an estimated file size for the open project.
export_videoStarts an export and returns a job id immediately — rendering runs in the app. Poll get_export_status until the state is completed or failed. Takes a frameRate of auto, fps30 or fps60 alongside the preset and quality; fps30 finishes far quicker. Without a path it writes to ~/Movies/Kapture Exports.
get_export_statusProgress of an export job — state, percentage, elapsed time, output path, and file size when it finishes. Omit jobID for the most recent one.
cancel_exportStops a running export and deletes the partial file.
export_still_frameWrites one composed frame as a PNG — the fastest way to see what an edit actually looks like. Defaults to the playhead.
get_export_historyEverything exported from this project, plus this session’s export jobs.