Skip to main content
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

ToolWhat it does
screen_displaysList 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_windowsList 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 (pass display, see screen_displays).
  • region — pass region { x, y, w, h }.
  • window — pass windowId.

Coordinates for screen_click / screen_move come only from a mode: global capture.

Actuation

ToolWhat it doesGated
screen_moveMove the pointer to a global logical point (no button event).No — changes nothing durable
screen_clickClick at a global logical point.Yes
screen_typeType 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_keyPress a discrete key chord (Enter, Escape, ⌘S, arrows) — distinct from screen_type's literal stream.Yes