open_phone
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
OpenPhone
Control a physical iPhone from macOS using USB screen capture, Bluetooth HID and AssistiveTouch. Use the local dashboard, connect an agent through MCP, or run your own relay for remote access.
OpenPhone is under development. The device controls and recording tools work on the tested phone; remote streaming, onboarding and broader recovery testing are still in progress. Validation status records the evidence.
Get started
You need macOS, Xcode command-line tools, Python 3.10+, Node 20+, an unlocked trusted USB iPhone, and Bluetooth pairing with AssistiveTouch enabled. See the device setup guide for permissions and button mappings.
git clone https://github.com/Array-Ventures/open-phone.git
cd open-phone
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .
npm ci --ignore-scripts
openphone build
openphone serveIn a second terminal, activate the same environment and run openphone dashboard.
Select your phone, connect, and use the live preview and controls.
openphone --help lists device, dashboard, relay, bridge, recording and build
commands. Every command has its own --help.
Related MCP server: ios-device-mcp
Connect an agent
The local MCP exposes 17 phone tools. Configure your MCP client with:
[mcp_servers.open_phone]
command = "node"
args = ["/absolute/path/to/open-phone/packages/mcp/src/mcp.mjs"]The MCP uses the repository's installed .venv by default. Stop the local API
before giving the local MCP ownership of the same phone. The remote MCP exposes
13 relay tools and also supports Streamable HTTP with optional OAuth.
MCP guide
Project layout
src/openphone/ Python package: device, services, relay, bridge, video
packages/mcp/ MCP transports, tools, OAuth and integration tests
native/ Objective-C and Swift macOS helper sources
tests/ Python unit tests and opt-in hardware checks
docs/ Setup, architecture and validation guides
requirements/ Optional video dependency lockCredentials, databases, recordings and compiled helpers stay outside Git.
Development
npm test
openphone buildCI runs the protocol tests and macOS native compilation. Hardware tests require a connected phone and are opt-in. Architecture · Development guide · All documentation
MIT licensed. See LICENSE.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Drive real devices from your AI Coding tool. Embed a client SDK (Unity, Godot, Flutter, iOS/macOS, Android, React Native, Web) in your app, then capture screenshots, traverse the UI tree, inject taps and key events, and run automated test tasks on the physical device over a secure relay.
Securely control computers you explicitly pair through files, terminals, processes, screenshots, desktop UI/input, clipboard, browser automation, diagnostics, and document tools.
Let your AI agent control real iPhones: screenshots, tap, swipe, type and open apps.
Turns a phone into a camera+Bluetooth remote so AI assistants can see and control any PC.
Related MCP Servers
- AlicenseBqualityBmaintenanceDrives a physical iPhone or iPad over Appium and WebDriverAgent (XCUITest) from a Mac, letting an agent inspect the screen, tap, type, swipe, launch apps, and run Shortcuts. Safe-by-default access modes, app allowlists, and elicitation-gated destructive operations keep admin actions behind explicit approval.645 npm1MIT
- AlicenseBqualityBmaintenanceEnables controlling a real iPhone or iPad over USB for app development testing, including building and installing apps, launching with console logs, inspecting the accessibility tree, tapping, swiping, typing, taking screenshots, managing app files, and recording audio.291MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to operate a real iPhone from a Mac by reading the screen over USB and sending taps, swipes, typing, and app launches over Bluetooth, with every action returning a fresh screenshot so the agent can verify its work. Runs as a local MCP server, so agents can test iOS apps on physical devices and automate everyday phone tasks.38 npm10MIT
- AlicenseNot gradedqualityCmaintenanceEnables an MCP client on macOS to control a paired iPhone over Wi-Fi or USB through system developer services, without any app installed on the phone. Exposes tools for device discovery and connection, fresh screenshots, taps, drags, Home, app listing and launching, and Unicode text entry.GPL 3.0