
Clawtouch Mcp
Routes Claude and other MCP clients to physical USB HID hardware so an agent can move a real mouse and press real keys on the target machine. Exposes primitives like hid.click, hid.type, hid.scroll, and optional hid.screenshot. Runs as a stdio MCP server that talks over USB serial to a Raspberry Pi Pico 2 running open ClawTouch firmware. The target OS sees a genuine USB keyboard and mouse, not synthetic input events, which matters for kiosks, locked-down machines, or cross-host test rigs where you can't install software on the driven side. Includes a mock mode for development without hardware. Read the safety notes before connecting it to a production machine.
- GitHub stars
- 13
- tools
- 18
- transport
- STDIO
- last updated
- Sep 15, 2026
Tools
18 toolsPublic tool metadata for what this MCP can expose to an agent.
hid.clickClick at (x, y)
Click at (x, y)
No parameter schema in public metadata yet.
hid.moveMove the mouse to (x, y)
Move the mouse to (x, y)
No parameter schema in public metadata yet.
hid.hoverMove to (x, y), then idle
Move to (x, y), then idle
No parameter schema in public metadata yet.
hid.typeType ASCII text (US layout)
Type ASCII text (US layout)
No parameter schema in public metadata yet.
hid.scrollWheel scroll up / down
Wheel scroll up / down
No parameter schema in public metadata yet.
hid.keyPress a named key or shortcut (`enter`, `ctrl+c`, …)
Press a named key or shortcut (`enter`, `ctrl+c`, …)
No parameter schema in public metadata yet.
hid.release_allPanic stop — release every held button and key
Panic stop — release every held button and key
No parameter schema in public metadata yet.
hid.mouse_button_downPress a mouse button without releasing (drag start)
Press a mouse button without releasing (drag start)
No parameter schema in public metadata yet.
hid.mouse_button_upRelease a held mouse button (drag end)
Release a held mouse button (drag end)
No parameter schema in public metadata yet.
hid.dragDrag from one point to another while holding a button
Drag from one point to another while holding a button
No parameter schema in public metadata yet.
hid.key_pressPress a key/shortcut without releasing
Press a key/shortcut without releasing
No parameter schema in public metadata yet.
hid.key_releaseRelease a held key (no args = release everything)
Release a held key (no args = release everything)
No parameter schema in public metadata yet.
hid.hold_keyPress, wait, then release
Press, wait, then release
No parameter schema in public metadata yet.
hid.batchRun a pre-planned sequence of ≤10 HID actions in one call (strict order)
Run a pre-planned sequence of ≤10 HID actions in one call (strict order)
No parameter schema in public metadata yet.
hid.screenshotScreenshot a monitor or a `region` — JPEG q80 default, `format='png'` for lossless.
Screenshot a monitor or a `region` — JPEG q80 default, `format='png'` for lossless.
No parameter schema in public metadata yet.
screen.windowsList visible top-level windows with titles and screen rectangles, so a capture can be cropped to one window.
List visible top-level windows with titles and screen rectangles, so a capture can be cropped to one window.
No parameter schema in public metadata yet.
device.listList candidate HID board ports
List candidate HID board ports
No parameter schema in public metadata yet.
device.infoActive connection info
Active connection info
No parameter schema in public metadata yet.
Sponsors
Readme
English | 简体中文
clawtouch-mcp
Give your AI agent real hands. An MCP server that turns any MCP-compatible client — Claude Desktop, Cline, Continue, Cursor, OpenClaw, Hermes Agent and any other — into something that can move a real mouse and press real keys through a USB HID device.
Details
- Repository
- github.com/tinqiao-oss/clawtouch-mcp
- Package
clawtouch-mcp- Transport
- STDIO
- Registry
- MCP registry, active