How tools measure
- Positions run from 0 to 1, measured from the top-left corner: of the screenshot when driving the screen, of the raw recording when editing. While recording, that is the recorded area, the same space the events file uses.
- Times are seconds on the edit timeline, which gets shorter as parts are cut.
- Projects are named by the path of their
.kirocastbundle. Most tools work on the most recently modified project when none is named.
While Kirocast is closed, your agent sees one tool, launch_kirocast, which opens it. The list below appears once Kirocast is running. See Connect any MCP client.
Recording
| Tool | What it does |
|---|---|
start_recording | Starts recording a display, a window or an area, with the microphone, system audio and camera if asked. Pauses itself between actions while pace_to_actions is on, the default. |
stop_recording | Stops and saves the project with its zooms and click pings, and shows you the preview card. Returns the project path and duration. |
pause_recording | Pauses the take. The paused span is left out of the video, the audio and the cursor track. |
resume_recording | Resumes a paused take. |
recording_status | Whether a take is running, for how long and of what; the displays available; and whether Kirocast can capture the screen and control the pointer. |
Seeing and input
screenshot uses Screen Recording; the pointer and keyboard tools use Accessibility. See Allow and revoke agents.
| Tool | What it does |
|---|---|
screenshot | Returns a still of the screen, with Kirocast’s own windows left out of it. Pointer positions are measured on this image. |
click | Moves the pointer along a curved path and clicks: left, right or middle, single or double. Recorded like your clicks, with pings and automatic zoom. |
move_mouse | Moves the pointer on an eased path, to reveal a hover state or point at something. |
drag | Presses at one point, moves to another and releases: sliders, handles, files. |
scroll | Scrolls by a number of pixels, spread smoothly over a set duration. |
type | Types text into the focused field. Accents, emoji and symbols come out right on any keyboard layout. |
press_key | Presses one key with modifiers, such as cmd+s, escape or return. |
wait | Holds for up to 30 seconds. The recording keeps rolling, so the viewer sees the pause. |
Projects
| Tool | What it does |
|---|---|
list_projects | Lists projects on disk, most recently modified first, 20 by default. |
describe_project | Everything needed to edit a project: duration, fragments, click moments, zooms and position keys, annotations, narration, style, camera, versions and the backgrounds on offer. Can narrow to a span of time. |
read_source_frame | A frame of the raw recording at a given moment, for aiming an edit. |
read_rendered_frame | A frame exactly as the export will draw it, for checking an edit before exporting. |
open_project | Opens a project in the editor, where each later edit shows on screen as one undo step. |
rename_project | Renames the project and its bundle on disk, and returns the new path. |
duplicate_project | Copies a whole project, versions included, next to the original. |
delete_project | Moves a project to the Trash, closing it in the editor first. It needs the project named explicitly. |
Editing
| Tool | What it does |
|---|---|
cut | Removes a span and closes the gap. Annotations wholly inside it go with it. |
trim | Keeps only the part between a start and an end. |
set_speed | Changes playback speed over a span, from 0.2× to 20×. |
set_zoom | Adds a zoom from 1× to 10× at a moment, optionally aimed at a spot. Can also clear every zoom. |
update_zoom | Moves, retimes, re-levels or re-aims one zoom. |
roll_zoom_seam | Moves the boundary between two zooms, as dragging it on the Zoom lane does. |
rebuild_zoom_position_keys | Gives a zoom a fresh pair of position keys, as Rebuild position keys does in the editor. |
remove_zoom | Deletes one zoom. The first one sets the opening level and stays; set it to 1× to open wide. |
add_position_key | Aims the frame at a point at a given moment, to pan while zoomed in. |
update_position_key | Moves or re-aims one position key. |
remove_position_key | Deletes one position key. The first key anchors the track and stays. |
set_auto_timeline | Changes the Animation settings (zoom transition, click anticipation, zoom-out delay, curve) and rebuilds the automatic zooms. Rebuilding over hand edits needs an explicit go-ahead. |
annotate | Adds a focus oval, a tap-tap hand or a privacy mask, with a label naming what it points at. |
update_annotation | Moves, resizes, retimes or re-labels an annotation, or changes a mask’s blur or a tap-tap’s size. |
remove_annotation | Deletes one annotation, every annotation, or every one of a kind. |
set_style | Sets the backdrop, padding, corner radius, shadow, captions and their size, click animations, the pointer’s style, size and smoothing, and the camera bubble. |
set_camera | Shows, sizes, places, rounds or mirrors the webcam bubble. |
Versions
Every edit lands on the current version. The original timeline stays locked as the recording produced it. See Versions.
| Tool | What it does |
|---|---|
list_versions | Lists a project’s versions and shows which is current and which is the locked original. |
create_version | Copies the current version and switches to the copy. |
rename_version | Renames a version, the current one by default. |
switch_version | Makes another version current. Choosing the original opens a fresh copy of it. |
delete_version | Deletes a version for good. The original and the current version stay. |
Captions
| Tool | What it does |
|---|---|
narrate | Writes a line of narration into the transcript and turns captions on. During a take, the line is stamped at that moment. |
clear_narration | Removes every narration line, ready to rewrite. Captions stay on. |
transcribe | Transcribes the recording’s audio on your Mac, in the background. The first run downloads the speech model once, about 600 MB, after your agent asks you. |
transcription_status | How far a transcription has got, and whether the speech model is on disk. |
edit_transcript | Replaces the transcript with a corrected text, keeping word timings where it can. |
export_captions | Writes an SRT or WebVTT file timed to the edited video. |
delete_transcription_model | Removes the speech model from disk. Transcripts you have stay. |
Voice
narrate writes caption lines. For a voice you can hear, your agent makes an ElevenLabs take, once you allow it. See Allow and revoke agents.
| Tool | What it does |
|---|---|
list_voices | Lists the voices, credits left, the per-take limit and whether this agent may generate. Free. |
generate_narration | Speaks a script as a new take and writes captions from it. pace_to_captions starts each line on its caption; replacing a recording’s own sound needs replace_audio. Uses your credits. |
use_narration_take | Makes a saved take, or the original sound, the one heard. Free. |
Captions you edited by hand stay unless your agent passes replace_captions. With the project open, you see the take arrive and can cancel it.
Export
| Tool | What it does |
|---|---|
export | Renders an MP4 or a GIF, at High by default (1080p, up to 60 fps), or a video for a model to read with for_ai. Returns the paths of the video, the events file and, when the project has one, the transcript. Uses your license. |
read_events | Reads an export’s events file: every click, zoom, cut and annotation, timed against that video. |
See Export MP4 and GIF for the five quality levels and Export for AI for the model-sized video.