Enables iPhone automation through Appium WebDriver, providing tools for capturing screenshots, listing UI elements, performing touch operations, launching apps, and controlling device interactions.
iPhone MCP Server
A Model Context Protocol (MCP) server for automating iPhone tasks with Appium. Supports app control, UI interactions, and screenshot capture via streamable HTTP.
We recommend Cherry Studio as an MCP client for iPhone automation.
Features
Retrieve device info and list installed apps
Capture screenshots (JPEG, around 500KB)
List UI elements and perform touch operations
Launch or switch apps using bundle IDs
Optimized XML output to minimize token usage
Installation
Prerequisites
Python 3.8 or later
Node.js and npm
iPhone with UDID
Xcode
Steps
Clone the repo:
git clone https://github.com/Lakr233/iphone-mcp.git && cd iphone-mcp
Set up virtual environment:
python -m venv .venv && source .venv/bin/activate
Install dependencies:
pip install -r requirements.txt
Install Appium:
npm install -g appium && appium driver install xcuitest
Set up WebDriver Agent: Follow the WebDriver Agent Guide
Configure: Edit
start.sh
with yourDEVICE_UDID
Usage
Run ./start.sh
to start Appium and the MCP server. Access it at http://127.0.0.1:8765/mcp
with default settings.
Tools
iphone_device_info
: Get device detailsiphone_device_apps
: List installed appsiphone_interface_snapshot
: Capture screenshot and XMLiphone_interface_elements
: List UI elementsiphone_operate_click
: Perform tapiphone_operate_swipe
: Perform swipeiphone_operate_text_input
: Input textiphone_operate_app_launch
: Launch appiphone_operate_get_current_bundle_id
: Get current bundle ID
Configuration
Set environment variables in start.sh
(defaults in src/utils.py
):
DEVICE_UDID
(required)APPIUM_HOST/PORT
SERVER_HOST/PORT/PATH
LOG_LEVEL
Development
Run tests:
pytest
Code style: Python 3.8+ with type hints
Contributing
Fork the repo, create a branch, and submit a pull request. Report bugs or suggest features via issues.
License
MIT
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
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.
Related MCP Servers
- AsecurityAlicenseAqualityEnables interaction with iOS simulators by providing tools to inspect UI elements, control UI interactions, and manage simulators through natural language commands.Last updated -106831,042MIT License
- AsecurityAlicenseAqualityA Model Context Protocol (MCP) server that enables mobile app automation using Appium, supporting various device interactions, element operations, and app management through a standardized protocol.Last updated -831Apache 2.0
- AsecurityAlicenseAqualityProvides programmatic access to Xcode functionality, enabling AI assistants to create, build, test, and manage iOS/macOS projects directly.Last updated -2782MIT License
- -securityAlicense-qualityEnables AI assistants to build, test, run, and manage Apple platform projects (iOS, macOS, tvOS, watchOS, visionOS) directly through Xcode. Provides comprehensive control over Xcode projects, Swift packages, simulators, and development workflows without leaving your editor.Last updated -21191MIT License