Record Screen (Keyframes)
record_screenCapture screen activity for a set duration and return deduplicated keyframes to show what happened, enabling review of recent changes in one result.
Instructions
Capture the screen at targetFps for durationMs ms, then return only the most informative keyframes (deduplicated by perceptual hash). Lets the model see a short period of screen activity in a single tool result. Always returns first + last frame plus middle frames picked by greatest dHash distance. NOT a real-time stream — the entire window blocks before any frame is returned. Hard caps: durationMs ≤ 60s, maxFrames ≤ 12. Use this for 'show me what happened in the last 10 seconds' workflows; use wait_for_change for 'tell me when something changes'.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Output format per frame. Default webp (smallest). PNG disabled to cap tokens. | |
| maxEdge | No | Resize so longest edge ≤ N px per frame. Default 800 (lower than other tools to keep N-frame token cost sane). | |
| quality | No | Quality (1-100) for jpeg/webp. | |
| displayId | No | Display id from `list_displays`. Omit for primary. | |
| maxFrames | No | Cap on how many keyframes are returned (2 – 12). Default 6. First + last frames are always kept; middle frames are picked by greatest distance. | |
| targetFps | No | Frames-per-second the capture loop targets. Default 2. Capped at 5 — higher just wastes CPU since dHash dedup discards near-identical frames. | |
| threshold | No | Hamming distance threshold for a frame to count as a new keyframe vs the previous keeper. Default 8. | |
| durationMs | Yes | Total recording window in ms (1000 – 60000). Server captures during this period, then returns the most informative frames. |