input
App and inputInteract
The real mouse and keyboard, as system input events: the OS cursor moves, and the capture overlay and a recording's cursor track see it. SuperCapture is brought to the front first; a click can land in any app under the pointer, keys go to SuperCapture. The user approves it once per session. Needs the macOS permission to control the computer (Privacy & Security → Device control & data access; Accessibility before macOS 27): without it, a call asks macOS to prompt and fails, and a grant applies from the app's next launch. Positions are global screen points (screen list, screen locate). Call view wait_idle before looking at the result.
Needs the Interact level or above; hidden from a read-only client.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
action | string one of "move", "click", "double_click", "drag", "press", "release", "scroll", "key", "type" | yes | What to do. move: Move the pointer to x, y. (x, y, duration_ms) click: Click at x, y. (x, y, button, duration_ms) double_click: Double-click at x, y. (x, y, button, duration_ms) drag: Press at x, y, drag to to_x, to_y and let go. (x, y, to_x, to_y, button, duration_ms) press: Press and hold a button at x, y: later moves drag with it (a drag in progress, e.g. the capture overlay's selection, can be looked at), until release. (x, y, button, duration_ms) release: Drag the held button to x, y and let go. (x, y, duration_ms) scroll: Scroll what is under x, y: dy lines down (negative: up), dx lines right (negative: left). A line is 40 points in every app. (x, y, dx, dy, duration_ms) key: Press one key chord in SuperCapture: keys. (keys) type: Type text in SuperCapture, a character at a time. (text, interval_ms) |
x | integer | no | Where, x. |
y | integer | no | Where, y. |
to_x | integer | no | drag: where to let go, x. |
to_y | integer | no | drag: where to let go, y. |
button | string one of "left", "right" | no | click, double_click, drag, press: which button (default left). |
duration_ms | integer | no | The glide to x, y (and a drag itself), eased like a hand; 0 (default) jumps. |
dx | integer | no | scroll: lines right (negative: left). |
dy | integer | no | scroll: lines down (negative: up). |
keys | string | no | key: modifiers then key joined with '+': 'cmd+shift+4', 'esc', 'space', 'cmd+a', 'down'. Modifiers: cmd, shift, option (alt), ctrl, fn. Keys: a-z, 0-9, return, tab, space, delete, forward_delete, escape, left, right, up, down, home, end, page_up, page_down, f1-f12, and ` - = [ ] \ ; ' , . / |
text | string | no | type: the text. |
interval_ms | integer | no | type: the pause between characters (default 12). |
Example
A JSON-RPC call to POST http://localhost:21516/mcp with the bearer token, filling in the required parameters:
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "input", "arguments": { "action": "move" } }}See the MCP server overview for how to connect a client and where the token lives.