MCP Tools
Screen
Capture and actuate the Bureau host's own screen — the see→act loop for when the DOM isn't enough. macOS only.
The screen family drives the Bureau host's screen (not a browser tab) — the
smallest complete see→act loop: capture → click/type → capture. macOS only.
Coordinates are global logical points read off a screen_capture with
mode: global; the OS actuator is cliclick and actions are gated behind a
rate limit + macOS Accessibility grant.
Discovery
| Tool | What it does |
|---|---|
screen_displays | List connected displays (index, name, resolution, main flag, geometry in global logical points) plus the actuation health status — whether cliclick is installed and Accessibility is granted. The natural first call. |
screen_windows | List on-screen application windows (app, title, bounds in global logical points) — to scope capture/actuation to one app instead of the whole screen. |
Capture
screen_capture writes a PNG on the host and returns its path + byte size (no
base64). mode:
global— a full-desktop capture in global logical points (the see→act source; also returns width/height/scale; v1 covers the single main display).full(default) — all displays, per-display pixel space.display— one screen (passdisplay, seescreen_displays).region— passregion{ x, y, w, h }.window— passwindowId.
Coordinates for screen_click / screen_move come only from a
mode: global capture.
Actuation
| Tool | What it does | Gated |
|---|---|---|
screen_move | Move the pointer to a global logical point (no button event). | No — changes nothing durable |
screen_click | Click at a global logical point. | Yes |
screen_type | Type literal unicode text into the focused field (pair with a preceding screen_click). Set sensitive: true to keep secrets out of the audit log. | Yes |
screen_key | Press a discrete key chord (Enter, Escape, ⌘S, arrows) — distinct from screen_type's literal stream. | Yes |