iPhone MCP Server
Enables iPhone automation through Appium integration, allowing users to control apps, capture screenshots, interact with UI elements, and perform touch operations via natural language commands.
What is iPhone MCP Server?
iPhone MCP Server is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to enables iphone automation through appium integration, allowing users to control apps, capture screenshots, interact with ui elements, and perform touch operations via natural language commands.
Enables iPhone automation through Appium integration, allowing users to control apps, capture screenshots, interact with UI elements, and perform touch operations via natural language commands.
This server falls under the Browser Automation category on MCPgee, the world's largest MCP server directory with 33,000+ servers.
Features
- Enables iPhone automation through Appium integration, allowi
Use Cases
Maintainer
Works with
Installation
Manual Installation
npx iphone-mcp-serverConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
How to Set Up and Use iPhone MCP Server
The iPhone MCP Server bridges AI assistants to real iOS devices by wrapping Appium's XCUITest driver as a set of MCP tools. It lets you automate any installed app, capture screenshots with full XML UI trees, tap and swipe on elements, enter text, and launch apps by bundle ID — all through natural language. Developers and QA engineers use it to drive iPhone UI tests, build AI-powered app demos, or inspect live app state without writing Appium scripts by hand.
Prerequisites
- Python 3.8 or later with pip
- Node.js and npm (for Appium installation)
- Appium installed globally and the XCUITest driver installed (`appium driver install xcuitest`)
- Xcode installed on a Mac with a WebDriverAgent provisioned on the target device
- A connected iPhone with its UDID (find via `xcrun xctrace list devices`)
Clone the repository
Clone the iphone-mcp repository and enter the project directory.
git clone https://github.com/Lakr233/iphone-mcp.git && cd iphone-mcpCreate a Python virtual environment and install dependencies
Set up an isolated Python environment and install all required Python packages.
python -m venv .venv && source .venv/bin/activate && pip install -r requirements.txtInstall Appium and the XCUITest driver
Install Appium globally via npm, then add the XCUITest driver which communicates with iOS devices.
npm install -g appium && appium driver install xcuitestProvision WebDriverAgent on your device
Follow Appium's official guide to build and install WebDriverAgent on your iPhone using Xcode. This one-time step is required before any automation can run.
Set your device UDID and start the server
Edit `start.sh` to set DEVICE_UDID to your iPhone's UDID (and optionally adjust APPIUM_HOST/PORT or SERVER_HOST/PORT), then run the startup script. It launches Appium and the MCP server together.
DEVICE_UDID=00008120-XXXXXXXXXXXX ./start.shConnect your MCP client
Configure your MCP client to connect to the running server over HTTP at the default address.
http://127.0.0.1:8765/mcpiPhone MCP Server Examples
Client configuration (HTTP transport)
Add the iPhone MCP server to your MCP client config pointing at the local HTTP endpoint started by start.sh.
{
"mcpServers": {
"iphone-mcp": {
"type": "http",
"url": "http://127.0.0.1:8765/mcp"
}
}
}Prompts to try
Natural language prompts you can send once the server is connected and your iPhone is recognized.
- "Take a screenshot of the current iPhone screen and describe what you see."
- "List all apps installed on the device."
- "Open the Settings app and navigate to Wi-Fi."
- "Tap the search bar on the current screen and type 'Hello world'."
- "Swipe up from the bottom of the screen to return to the home screen."Troubleshooting iPhone MCP Server
Appium fails to connect to the device with a 'Could not determine UDID' error
Run `xcrun xctrace list devices` to find your iPhone's UDID and set it exactly as DEVICE_UDID in start.sh. Ensure the iPhone is trusted on the Mac (accept the 'Trust This Computer' dialog on the device).
WebDriverAgent build fails in Xcode with provisioning profile errors
Open the WebDriverAgent Xcode project (found in the Appium XCUITest driver directory), set a unique bundle identifier, assign your Apple Developer signing team, and rebuild. Refer to the Appium XCUITest driver docs for the exact steps.
MCP client cannot reach the server at 127.0.0.1:8765
Make sure start.sh completed without errors and that both Appium and the Python MCP server are running. Check SERVER_HOST and SERVER_PORT in start.sh if you need a different address.
Frequently Asked Questions about iPhone MCP Server
What is iPhone MCP Server?
iPhone MCP Server is a Model Context Protocol (MCP) server that enables iphone automation through appium integration, allowing users to control apps, capture screenshots, interact with ui elements, and perform touch operations via natural language commands. It connects AI assistants to external tools and data sources through a standardized interface.
How do I install iPhone MCP Server?
Follow the installation instructions on the iPhone MCP Server GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.
Which AI clients work with iPhone MCP Server?
iPhone MCP Server works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.
Is iPhone MCP Server free to use?
Yes, iPhone MCP Server is open source and available under the MIT License license. You can use it freely in both personal and commercial projects.
iPhone MCP Server Alternatives — Similar Browser Automation Servers
Looking for alternatives to iPhone MCP Server? Here are other popular browser automation servers you can use with Claude, Cursor, and VS Code.
Chrome DevTools MCP
★ 40.6kAI-powered Chrome automation server with natural language element detection. Control Chrome browser through MCP protocol for testing, debugging, and performance analysis. Features 91% accuracy in element location, works with free AI models, and suppo
UI TARS Desktop
★ 34.9k📇 🏠 - Browser automation capabilities using Puppeteer, both support local and remote browser connection.
Playwright
★ 32.8kA production-ready browser automation server that enables AI assistants to interact with web pages using tools for navigation, element interaction, and data extraction. It features a built-in Inspector UI and robust crash recovery for reliable automa
Page Agent
★ 18.0kJavaScript in-page GUI agent. Control web interfaces with natural language.
Chrome
★ 11.7kAn extension-based MCP server that enables AI assistants to control your browser, leveraging existing sessions and login states for automation and content analysis. It provides over 20 tools for semantic tab search, interactive element manipulation,
LAMDA
★ 7.8kThe most powerful Android RPA agent framework, next generation mobile automation.
Browse More Browser Automation MCP Servers
Explore all browser automation servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.
Set Up iPhone MCP Server in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
Ready to use iPhone MCP Server?
Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.