
How to add Touchpoint to Claude Desktop
Give AI agents eyes and hands on any desktop via native accessibility APIs — no vision model required. Paste the config into ~/Library/Application Support/Claude/claude_desktop_config.json and restart Claude Desktop.
Last updated June 14, 2026 · 39★ · stdio · no auth
Claude Desktop config for Touchpoint
pip install touchpoint-py{
"mcpServers": {
"touchpoint": {
"command": "touchpoint-mcp",
"args": []
}
}
}Setup steps
- 1Open Claude Desktop → Settings → Developer → Edit Config (this opens ~/Library/Application Support/Claude/claude_desktop_config.json).
- 2Paste the Touchpoint config below under the top-level "mcpServers" key.
- 3Fill in any placeholder secrets (API keys, paths) in the snippet.
- 4Save the file, then fully quit and reopen Claude Desktop.
- 5Open a chat and confirm Touchpoint's tools appear under the 🔌 tools menu.
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 Claude Desktop
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 + Claude Desktop FAQ
Where is the Claude Desktop config file?
Claude Desktop reads MCP servers from ~/Library/Application Support/Claude/claude_desktop_config.json. Paste the Touchpoint config there under the "mcpServers" key and restart the client.
Is Touchpoint safe to use with Claude Desktop?
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.