Haptix Documentation

Haptix is an MCP server and iOS SDK that lets any AI agent see, touch, and control native iOS apps running on real devices.

Your agent writes Swift code but can't see the running app. Haptix closes that loop. The agent takes screenshots, taps, swipes, types, reads the accessibility tree, and performs any gesture — all on a real iPhone or iPad connected via USB.



How it works

Haptix is a two-component system:

  1. HaptixKit — An iOS SDK (Swift Package). One line in your app's init() enables everything. The SDK listens for connections on a fixed port (4279) over USB.

  2. Haptix for Mac — A macOS daemon and menu bar app. The daemon (haptix-server) discovers USB devices, runs an MCP server on localhost:4278, and relays commands from any MCP-capable agent to the device. The menu bar app provides the UI.

The developer adds one line of code. From that point, any connected agent can see what's on screen, tap buttons, type text, swipe, drag, and perform any gesture a human user would.

The connection flow

  1. You build and run your app from Xcode on a device connected via USB
  2. The daemon discovers the device via USB (no network discovery needed)
  3. A WebSocket connection is established over USB
  4. Your AI agent calls start_session, which auto-discovers the device
  5. The agent now has full control — screenshots, gestures, text input, accessibility tree

MCP endpoint

http://localhost:4278/mcp

Any MCP-capable agent connects here via Streamable HTTP: Cursor, Claude Code, VS Code, Windsurf, Claude Desktop, Codex, OpenCode, or any custom MCP client.

Everything available via MCP is also available through the haptix CLI — useful for scripting, debugging, and manual testing from your terminal.


Get started

Download Haptix and start a free trial — no credit card required. Full access to all features.