SCREENCAST-MCP / TOOLS / WATCH
Find Text (OCR)
find_text
OCR (built into Windows) on the screen, an image, or video frames, with line and match boxes in image pixels (add origin for desktop coordinates). Locate UI text or secrets (e.g. regex 'sk-|ghp_|api.?key') to redact. Best-effort: review results.
watchread-onlyidempotentsince v0.19.0
00:00PARAMETERS
| Name | Type | Description |
|---|---|---|
target | string | Live screen target (full | monitor:<i> | window:... | region:...), or pass input. |
input | string | Image or video file to read instead of a live target. |
timestamp | number | Video input: second to read (default 0). ≥ 0 |
scanEverySec | number | Video input: scan a frame every N s across the clip (e.g. for secrets before sharing); matches and redactRegions get times. Widens to stay within maxFrames. > 0 |
maxFrames | integer | scanEverySec frame cap (default 30; ~1 s each). ≥ 1, ≤ 120 |
exactTitle | boolean | window: targets match the whole title only (default false). |
backend | "gdigrab" | "wgc" | Live target: gdigrab (default) = what is visible; wgc (window:, FFmpeg 8+) = the window even if covered. |
query | string | Text to find (case-insensitive, tolerates OCR misreads like I/l, O/0, _/-). Omit to return all text. |
regex | boolean | Treat query as a regular expression (case-insensitive). |
redact | boolean | Also return padded match rectangles ready for redact_region's regions. |
keep | boolean | Live target: keep the capture and return its path (default false: deleted after reading). |
returnImage | boolean | Return the image with matches outlined (default: true with a query). |
00:05A MINIMAL CALL
find_text {}
The required arguments only, with placeholder values. Everything else takes its default.
00:10WHAT COMES BACK
Structured content (structuredContent), alongside a text summary and any inline images:
| Field | Type |
|---|---|
imageSize always | object |
imageSize.width always | number |
imageSize.height always | number |
00:15SEEN IN