MCP Directory

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

  1. 1Open Claude Desktop → Settings → Developer → Edit Config (this opens ~/Library/Application Support/Claude/claude_desktop_config.json).
  2. 2Paste the Touchpoint config below under the top-level "mcpServers" key.
  3. 3Fill in any placeholder secrets (API keys, paths) in the snippet.
  4. 4Save the file, then fully quit and reopen Claude Desktop.
  5. 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

screenshot

Capture the full desktop or crop to an app/window/element/monitor (vision mode).

snapshot

Get a compact structured text tree of the active window for orientation.

diff_snapshot

Show what changed between snapshots (no-vision mode orientation).

apps

List application names present in the accessibility tree.

windows

List all windows with id, title, app, position, size, and active state.

find

Search elements by name using 4-stage matching: exact → contains → word → fuzzy.

get_element

Fetch a fresh snapshot of a single element by ID (vision mode).

read_text

Read 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.

View repo Full Touchpoint page