# iOS MCP [中文](README.md) | English iOS MCP is an [MCP (Model Context Protocol)](https://modelcontextprotocol.io) server that runs on jailbroken iPhones, enabling AI agents (Claude, Codex, Cursor, etc.) to directly control iOS devices. ## Features | Category | Tools | Description | |----------|-------|-------------| | **Touch** | `tap_screen` `swipe_screen` `long_press` `double_tap` `drag_and_drop` | Precise screen coordinate operations with path dragging | | **Buttons** | `press_home` `press_power` `press_volume_up` `press_volume_down` `toggle_mute` `wake_and_home` | HID physical button simulation, lock/off-screen wake flow | | **Text Input** | `input_text` `type_text` `press_key` | Pasteboard fast input / HID character-by-character / special keys | | **Screenshot** | `screenshot` `get_screen_info` | Base64 JPEG screenshot, screen dimensions & orientation | | **App Management** | `launch_app` `kill_app` `list_apps` `list_running_apps` `get_frontmost_app` `get_app_info` `install_app` `uninstall_app` | Launch/kill apps, install/uninstall apps or DEB packages, query app bundle/container paths and entitlements | | **Accessibility / Elements** | `get_ui_elements` `get_element_at_point` `tap_element` `wait_for_element` `wait_for_disappear` `ocr_screen` `describe_screen` | UI element tree, element lookup by coordinates, tap elements by text/label, wait for elements to appear/disappear, on-screen OCR text recognition with coordinates, aggregated screen snapshot | | **Clipboard** | `get_clipboard` `set_clipboard` | Read/write clipboard | | **Filesystem** | `list_dir` `read_file` `write_file` | Directory listing, file read/write (text and binary) | | **Logs** | `get_syslog` `get_crash_logs` `read_crash_log` | Live system-wide log of all apps, crash report listing and reading | | **Device Control** | `get_brightness` `set_brightness` `get_volume` `set_volume` | Brightness and volume | | **Device Info** | `get_device_info` | Model, iOS version, battery, storage, memory, jailbreak type | | **URL** | `open_url` | Open URLs or URL schemes | | **Shell** | `run_command` | Execute shell commands | **46** MCP tools covering the major iOS device automation and reverse-engineering scenarios. `install_app` supports `.ipa`, `.tipa`, and `.deb` (case-insensitive extensions). `.tipa` uses the IPA install flow. For computer-local files, upload through `POST /upload_file` first, then pass the returned device path to `install_app`. `ocr_screen` and `describe_screen(include_ocr=true)` accept an optional `engine`: omitted/`"paddleocr"` uses offline PaddleOCR with ONNX Runtime CPU; `"vision"` uses Apple Vision. Selection is per request, with no automatic engine fallback. Vision defaults to English on iOS 13; PaddleOCR supports Chinese, English and digits. See [OCR engines, build instructions and validation](docs/PADDLEOCR.md). ## Runtime Requirements - Jailbroken iOS device ## Installation ### Supported Environments | Jailbreak Type | Supported iOS Versions | Package Architecture | |------|------|------| | `rootful` | iOS 13 - iOS 18 | `iphoneos-arm` | | `rootless` | iOS 15 - iOS 18 | `iphoneos-arm64` | | `roothide` | iOS 15 - iOS 18 | `iphoneos-arm64e` | ### Installation Methods #### Method 1: Download a package from the Release page Choose the `.deb` package that matches the architecture listed in the table above. For manual installation, make sure these dependencies are present: - `mobilesubstrate/ElleKit` - `preferenceloader` #### Method 2: Install directly from Cydia / Sileo You can also search and install directly from: - `Cydia` - `Sileo` Package name: - `iOS MCP` ### Recommended checks after installation 1. Restart `SpringBoard` 2. Open the following URL in a browser: ```text http://DEVICE_IP:8090/health ``` 3. If you get the following response, the service is running correctly: ```json {"status":"ok","server":"ios-mcp","version":"1.2.8","protocolVersion":"2025-11-25","supportedProtocolVersions":["2025-11-25","2025-06-18","2025-03-26"]} ``` ## Usage After installation, open **Settings** → **iOS MCP** on your device. Start the server, then tap "Copy / Share MCP Prompt" and paste it into your AI agent's prompt. The settings page follows the device's preferred language: Simplified Chinese, Traditional Chinese, or English. No manual language selection is needed.
|
> If the Group 8 QR code has expired, add WeChat `witchan028` or follow the official account `小陈iOS逆向与安全` to get the latest group invite.
Feel free to add me on WeChat or follow the official account for updates and the latest group access information.
- WeChat: `witchan028`
- Email: `witchan028@126.com`
## Author
**witchan**
## License
Project-owned code is licensed under the MIT License. See [LICENSE](LICENSE).
If you use, modify, redistribute, or incorporate any substantial portion of the project-owned source code, retain the copyright notice and license text. [NOTICE](NOTICE) provides project attribution and disclaimer information.
This project is provided on an "AS IS" basis, without warranties or conditions of any kind. The author is not responsible for device malfunction, data loss, service interruption, account risk, system damage, security issues, commercial loss, or any other direct or indirect impact caused by using, modifying, redistributing, deploying, or running this project.
Bundled third-party components, including AppSync Unified, appinst, ldid, OpenSSL, libplist, and libzip, remain under their own licenses. See [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).