Developers

Give your agent real hands.

Your agent sees the screen, moves the mouse, presses keys, and runs Luau. Drive the same input from HTTP or TypeScript, Python, and Rust.

Field demo

One prompt. Safari opens.

One prompt, start to finish. An agent opens Safari, reads Hacker News, and returns three AI stories as JSON. No browser framework. No scraping API.

01 / the task

A prompt, in plain English

The whole instruction: open Safari, go to Hacker News, return the first three AI stories as JSON. Rebind tools only.

02 / the plan

The agent picks its tools

The model picks its own tools: screenshot the desktop, open Safari, navigate, read the screen.

03 / the hands

Safari, driven by an agent

Real clicks and keystrokes open Safari and load the Hacker News front page.

04 / the result

Structured data back

Three AI stories as JSON: title, URL, points. Read off the screen, returned as data.

Connect an agent

One command per client.

One command wires Rebind into Claude Code, Codex, or Cursor. Start the remote script in the app and your agent has a desktop.

One command, then restart the client.

$npx add-mcp "bunx @rebind.gg/mcp-server" --name rebind -g -a claude-code

Needs the Rebind app with the remote script running. Check the link: bunx @rebind.gg/mcp-server --selftest

GitHub(opens in a new tab)npm package(opens in a new tab)Documentation(opens in a new tab)

Runs on the machine you want controlled. Connection and permissions.(opens in a new tab) Need hardware output? Rebind Link sends it at up to 8,000 Hz.

The toolkit

The whole desktop, as six tools.

One job per tool. Coordinates come back in the pixel space of the last screenshot, so the model never rescales.

perception

See before acting

Capture any display and zoom into a region at native resolution. Windows also captures a single window.

screenshotscreenshot_windowzoom

pointer

Clicks that land

Left, right, middle, or double click. Every click is checked against the real cursor and corrected before it lands.

clickmove_mousescroll

keyboard

Keys and text

Type into the focused element or press any key and combo, from Enter to LCtrl+L to LAlt+Tab.

typekey

windows

Windows and displays

Enumerate displays and windows, read the active window, and bring any window to the front by title substring.

list_windowsfocus_windowactive_windowlist_displays

scripting

Program a sequence

Launch apps, place windows, run shell commands, and search pixels in one Luau script. The agent reads the full SDK types itself.

run_lualua_docs

control

Timing and calibration

Read the cursor back, pause between steps, and calibrate mouse movement against the current setup.

get_cursorwaitcalibrate

Drive Rebind from your own code.

A local API in the Rebind app. TypeScript, Python, and Rust clients move the mouse, type, and read pixels.

// npm install @rebind.gg/client-ts
import { RebindRemote } from "@rebind.gg/client-ts";

const r = new RebindRemote("ws://127.0.0.1:19561");
await r.connect();

r.hidMove(30, -5);
r.hidPress("Mouse1", 20);
r.hidType("hello");

const { x, y } = await r.systemMouse();
const px = await r.screenPixel(x, y);
r.close();

Python and Rust clients match this surface. Install and API docs.

Developers

Hand your agent the mouse.

Install v3.7.6RebindGPT

luau / typescript / python / rust