
How to add Touchpoint to Cursor
Give AI agents eyes and hands on any desktop via native accessibility APIs — no vision model required. Paste the config into ~/.cursor/mcp.json and restart Cursor.
Last updated June 14, 2026 · 39★ · stdio · no auth
Cursor config for Touchpoint
pip install touchpoint-py{
"mcpServers": {
"touchpoint": {
"command": "touchpoint-mcp",
"args": []
}
}
}Setup steps
- 1Open Cursor → Settings → MCP → Add new MCP server (or edit ~/.cursor/mcp.json directly).
- 2Paste the Touchpoint config below into the "mcpServers" object.
- 3Fill in placeholder secrets, then save.
- 4Cursor reloads MCP servers automatically — check Settings → MCP for a green status dot.
- 5Ask Cursor to use one of Touchpoint's tools to confirm it's connected.
Before you start
- Python 3.10+
- pip install touchpoint-py
- macOS: grant Accessibility permission (System Settings → Privacy & Security → Accessibility)
- Linux: install xdotool (input + minimize_window) and wmctrl (window management); python3-gi and gir1.2-atspi-2.0 if missing
- Windows: none — uses built-in COM/UIA APIs
- Optional: launch Chrome/Electron apps with --remote-debugging-port for CDP support
What Touchpoint can do in Cursor
screenshotCapture the full desktop or crop to an app/window/element/monitor (vision mode).
snapshotGet a compact structured text tree of the active window for orientation.
diff_snapshotShow what changed between snapshots (no-vision mode orientation).
appsList application names present in the accessibility tree.
windowsList all windows with id, title, app, position, size, and active state.
findSearch elements by name using 4-stage matching: exact → contains → word → fuzzy.
get_elementFetch a fresh snapshot of a single element by ID (vision mode).
read_textRead the text content of an element.
Security
The server gives an AI agent full control over the local desktop — reading the accessibility tree and simulating clicks, typing, and window management across all running apps. Grant only to trusted clients. On macOS you must explicitly grant Accessibility permission (System Settings → Privacy & Security → Accessibility). Browser/Electron control requires launching the app with a remote-debugging port. Wayland (without XWayland) cannot simulate input; the accessibility tree and native actions still work.
Touchpoint + Cursor FAQ
Where is the Cursor config file?
Cursor reads MCP servers from ~/.cursor/mcp.json. Paste the Touchpoint config there under the "mcpServers" key and restart the client.
Is Touchpoint safe to use with Cursor?
The server gives an AI agent full control over the local desktop — reading the accessibility tree and simulating clicks, typing, and window management across all running apps. Grant only to trusted clients. On macOS you must explicitly grant Accessibility permission (System Settings → Privacy & Security → Accessibility). Browser/Electron control requires launching the app with a remote-debugging port. Wayland (without XWayland) cannot simulate input; the accessibility tree and native actions still work.
Does Touchpoint require a vision model?
No. It reads the native accessibility tree for structured element data. It offers a no-vision mode using compact text snapshots, plus an optional vision mode with screenshots for frontier models.
Which platforms are supported?
Linux (AT-SPI2 + xdotool), Windows (UIA + SendInput), and macOS (AX + CGEvent), all tested. Chromium and Electron apps are supported cross-platform via CDP.
How do I add it to Claude Desktop?
Add an entry under mcpServers with command "touchpoint-mcp" in claude_desktop_config.json. If you installed into a virtualenv, use the full path to the touchpoint-mcp binary.