Skip to content

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

NameTypeRequiredDescription
actionstring one of "move", "click", "double_click", "drag", "press", "release", "scroll", "key", "type"yesWhat 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)
xintegernoWhere, x.
yintegernoWhere, y.
to_xintegernodrag: where to let go, x.
to_yintegernodrag: where to let go, y.
buttonstring one of "left", "right"noclick, double_click, drag, press: which button (default left).
duration_msintegernoThe glide to x, y (and a drag itself), eased like a hand; 0 (default) jumps.
dxintegernoscroll: lines right (negative: left).
dyintegernoscroll: lines down (negative: up).
keysstringnokey: 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 ` - = [ ] \ ; ' , . /
textstringnotype: the text.
interval_msintegernotype: 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.