Thumbly
Enables AI agents to see and control an iPhone running iOS 17.4+ by taking screenshots and full-page captures, performing touch gestures, typing or pasting text, pressing hardware buttons, opening deep links, launching apps, and retrieving app and device information.
Thumbly
Let AI agents see and control your iPhone from your Mac.
Install ยท Quick start ยท Docs ยท Contributing ยท Changelog
Thumbly connects your Mac to your iPhone over USB (or Wi-Fi after the first USB pairing) through Apple's CoreDevice services. It gives AI agents native screenshots, touch, a virtual keyboard, hardware buttons, and app and device information over MCP. You approve every client and keep control from the Thumbly Mac app. It needs no jailbreak and no cloud relay, and it records no video.
Features
๐ธ See: native screenshots and full-page captures of scrolling screens.
๐ Act: tap, swipe, long press, type, paste, hardware buttons, deep links and app launch.
๐ค MCP-native: works with Claude Code, Claude Desktop and any MCP client, plus Claude.ai and ChatGPT through remote access.
๐ Owner in control: you approve each client, see every action in the activity log, and can stop all AI control with one Pause button.
๐งฉ App profiles: deep links and step-by-step workflows that help agents work inside popular apps.
๐ Python SDK: script the iPhone with
thumbly-sdk.๐งช Simulator:
thumbly serve --simulatelets you develop without an iPhone.
Related MCP server: iPhone MCP
How it works
โโโโโโโโโโโโโโโโ MCP (HTTP) โโโโโโโโโโโโโโโโโโโโโโ CoreDevice โโโโโโโโโโ
โ AI agent โ โโโโโโโโโโโโโโถ โ Thumbly service โ โโโโโโโโโโโโโโโถ โ iPhone โ
โ Claude, etc. โ โโโโโโโโโโโโโโ โ (launchd, Python) โ USB / Wi-Fi โ โ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโฌโโโโโโโโโโโ โโโโโโโโโโ
โ owner API (loopback)
โโโโโโโโโโโผโโโโโโโโโโโ
โ Thumbly Mac app โ approve ยท watch ยท pause
โโโโโโโโโโโโโโโโโโโโโโRequirements
macOS 14 or later
iPhone with iOS 17.4 or later
A USB data cable
Apple's Command Line Tools (
xcode-select --install)
Install
curl -fsSL https://raw.githubusercontent.com/timurcatakli/thumbly/main/install.sh | shThis installs uv if needed, installs the Thumbly service, builds
the Mac app into ~/Applications/Thumbly.app, registers the service with launchd and opens the
app. The service runs only while the app is open. From a checkout, run sh install.sh --source ..
To remove Thumbly, run sh install.sh --uninstall. See Install Thumbly.
Quick start
Connect the iPhone. Plug it in, unlock it and tap Trust.
Turn on Developer Mode. Go to Settings โ Privacy & Security โ Developer Mode and restart the iPhone. If the option is hidden, the Thumbly app shows it (Show the switch). Thumbly then installs Apple's developer disk image, which takes about 1โ4 minutes the first time.
Add Thumbly to your agent.
claude mcp add --transport http thumbly http://127.0.0.1:8771/mcpApprove it. In Claude Code, run
/mcpโ thumbly โ Authenticate, then allow the request in the Thumbly app under Access.Ask away. For example: "Open X, find Anthropic's latest post and email me the link."
The full guide is in docs/. Product details and operating limits are in the
service README.
Repository
thumbly/
โโโ apps/
โ โโโ device/ # The Thumbly service: Python, uv
โ โโโ mac/ # The Thumbly Mac app: SwiftUI
โโโ packages/
โ โโโ sdk-python/ # thumbly-sdk: script the iPhone from Python
โโโ docs/ # The user guide (MDX)
โโโ VERSION # The version shared by every partDevelop
The Thumbly service, from apps/device:
uv sync --frozen --dev
uv run thumbly serve --simulate # simulated iPhone: owner API :8080, MCP :8081
uv run pytest -qThe Mac app, from apps/mac (Command Line Tools only, no Xcode project):
./scripts/bundle.sh --install # -> ~/Applications/Thumbly.app
THUMBLY_API_URL=http://127.0.0.1:8080 ~/Applications/Thumbly.app/Contents/MacOS/Thumbly # against the simulatorHooks: uv run --project apps/device pre-commit install. More in the
Mac app README.
Contributing
Thumbly is young and we'd love your help: code, app profiles, docs, bug reports and ideas.
๐ Report a bug
๐ก Suggest a feature
๐ฑ Pick up a good first issue
๐ Read CONTRIBUTING.md before you open a pull request
Everyone taking part follows the Code of Conduct. Report security issues privately, as the security policy describes.
Versioning and releases
Thumbly follows Semantic Versioning. The VERSION file sets
the version for the service, the Mac app (shown in the sidebar footer) and the docs. Each release
is tagged vX.Y.Z and listed in the changelog and on
GitHub Releases.
License
Apache-2.0 for this repository (LICENSE), except apps/device, which is
GPL-3.0 (apps/device/LICENSE) because it links to
pymobiledevice3. See NOTICE and
THIRD_PARTY_NOTICES.md.
If Thumbly is useful to you, โญ star the repo. It helps other people find it.
This server cannot be deployed
Maintenance
Related MCP Connectors
Let your AI agent control real iPhones: screenshots, tap, swipe, type and open apps.
1- thumbsOAuthcom.usethumbs
Give an AI agent an iPhone to see, tap and type on over MCP. Free early access (Simulator).
Cloud iPhones and Macs with Xcode for AI agents: build, run and test iOS apps, use the screen.
Let AI agents control Android and iOS devices on Mobilerun Cloud: screen, input, apps, workflows.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceAn MCP server that lets AI agents control iOS and Android devices (tap, scroll, type, take screenshots, read UI trees, and run code). Works with multiple devices at the same time.66 npm52MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to control real iPhones and simulators on macOS, allowing for UI interaction, testing, and automation.33 npm92MIT
- AlicenseNot gradedqualityAmaintenanceAn MCP server that lets AI agents control a real iPhone via macOS iPhone Mirroring, enabling screen observation, taps, typing, and gestures.268Apache 2.0
- AlicenseNot gradedqualityAmaintenanceAn MCP server that lets LLMs drive a real iPhone through macOS iPhone Mirroring, with tools for screen capture, OCR, taps, typing, and Xcode build/test/install automation.8MIT