经 AI Skill Hub 精选评估,iPhone-use 获评「推荐使用」。这款MCP工具在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 7.5 分,适合有一定技术背景的用户使用。
iPhone-use 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
iPhone-use 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
# 方式一:通过 Claude Code CLI 一键安装
claude skill install https://github.com/leeguooooo/iphone-use
# 方式二:手动配置 claude_desktop_config.json
{
"mcpServers": {
"iphone-use": {
"command": "npx",
"args": ["-y", "iphone-use"]
}
}
}
# 配置文件位置
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%/Claude/claude_desktop_config.json
# 安装后在 Claude 对话中直接使用 # 示例: 用户: 请帮我用 iPhone-use 执行以下任务... Claude: [自动调用 iPhone-use MCP 工具处理请求] # 查看可用工具列表 # 在 Claude 中输入:"列出所有可用的 MCP 工具"
// claude_desktop_config.json 配置示例
{
"mcpServers": {
"iphone-use": {
"command": "npx",
"args": ["-y", "iphone-use"],
"env": {
// "API_KEY": "your-api-key-here"
}
}
}
}
// 保存后重启 Claude Desktop 生效
<p align="center"> <img src="assets/icon-1024.png" alt="iphone-use icon" width="120"> </p>
<p align="center"><em>Computer-use, but for the iPhone — let AI agents (and your browser) see and drive a real phone.</em></p>
<p align="center"> <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT"></a> <img src="https://img.shields.io/badge/platform-macOS%2015%2B-lightgrey" alt="Platform: macOS 15+"> <img src="https://img.shields.io/badge/built%20with-Rust-orange" alt="Built with Rust"> <img src="https://img.shields.io/badge/streaming-WebRTC%20%2F%20H.264-success" alt="Streaming: WebRTC / H.264"> </p>
<p align="center"> <strong>English</strong> · <a href="README.zh-CN.md">简体中文</a> </p>
<p align="center"> <img src="assets/hero.png" alt="Controlling an iPhone from a browser — live screen plus a touch toolbar (Home, Spotlight, App Switcher, keyboard)" width="320"> </p>
Remote-control your iPhone from any web browser — over macOS iPhone Mirroring, with low-latency WebRTC video and near-native touch. A Rust daemon captures the Mirroring window with ScreenCaptureKit, hardware-encodes it to H.264 with VideoToolbox, and streams it to iPhone Safari (or any browser) over WebRTC — injecting taps, swipes, scrolls, and text back as continuous system events. AI agents, scripts, and bots can drive the same phone through a simple HTTP API.
Think Chrome Remote Desktop, but for your iPhone — running entirely on your own Mac, no third-party cloud.
/agent/input, /agent/screenshot) lets AI agents and scripts see and drive the phone.v2 — a full WebRTC + hardware-codec + continuous-input rebuild of the original v1 screenshot-polling server. The input + video vertical (video, tap, scroll, text, shortcuts, LAN WebRTC) is validated on real hardware.
- macOS 15 Sequoia or later (iPhone Mirroring's requirement) with iPhone Mirroring set up and signed in. Validated on macOS 15 Sequoia / 26 Tahoe; see the Roadmap for macOS 27 support. - Rust toolchain (to build) — cargo. - Zero external runtime dependencies — all input (tap, scroll, text, key, shortcuts) is injected via native CGEvent directly, and screenshots use the built-in screencapture CLI. No third-party binary (cua-driver or otherwise) is required at runtime. - (optional) a Cloudflare TURN key for cross-network (cellular / remote) access.

ScreenCaptureKit (Screen Recording) and input injection (Accessibility) require TCC grants tied to a signed identity in the login session — an SSH-spawned binary is denied. So the daemon runs as a codesigned LaunchAgent in the desktop session, granted once; SSH shells, agents, and the iPhone Safari controller all connect to it.
Build, bundle into a signed .app, and register the LaunchAgent:
cargo build --release --bin iphone-use
./scripts/make-app.sh # → ./iPhoneUse.app
./install.sh ./iPhoneUse.app # signs, installs, writes the LaunchAgent
install.sh binds 0.0.0.0, generates a password (or uses $PHONE_REMOTE_PASSWORD), opens the Screen Recording + Accessibility panes to grant once, and prints the iPhone connect URL. On the iPhone (same Wi-Fi) open http://<mac-lan-ip>:44321/phone and enter the password.
Pre-built binaries are published from CI on every version tag — see the Releases page. To cut the first release: trigger the smoke-test via Actions → workflow_dispatch, then git tag v0.1.0 && git push origin v0.1.0. install.sh self-signs the app locally with codesign -s -; Gatekeeper will prompt unless the binary is notarized (optional secrets: APPLE_SIGNING_CERTIFICATE / APPLE_SIGNING_CERTIFICATE_PASSWORD / APPLE_SIGN_IDENTITY; notarization: APPLE_ID / APPLE_ID_PASSWORD / APPLE_TEAM_ID). Unsigned is the default path.
PHONE_REMOTE_HOST=0.0.0.0 PHONE_REMOTE_PASSWORD=secret \
./target/release/iphone-use serve
| Variable | Default | Purpose |
|---|---|---|
PHONE_REMOTE_HOST | 127.0.0.1 | Listen address (0.0.0.0 for LAN). |
PHONE_REMOTE_PORT | 44321 | Listen port. |
PHONE_REMOTE_PASSWORD | *(none)* | Shared password (cookie login + agent bearer fallback). |
PHONE_REMOTE_AGENT_TOKEN | *(none)* | Dedicated agent bearer token. When set, the agent API accepts **only** this token (the password is no longer valid as a bearer); unset = password doubles as the bearer (legacy). |
PHONE_REMOTE_CF_TURN_KEY_ID / _API_TOKEN | — | Cloudflare TURN key → ephemeral relay creds for cross-network. |
PHONE_REMOTE_WDA_URL | *(none)* | L2 element-tree control: a WebDriverAgent reachable at this URL (use http://127.0.0.1:8100 via the relay from scripts/setup-wda.sh). When set, agent text/taps auto-route through the phone-side element layer — CJK text lands cleanly, label-taps need no coordinates, nothing touches the host cursor. Unset = pure pixel path. |
PHONE_REMOTE_TURN_URLS / _USERNAME / _CREDENTIAL | — | Static TURN server (alternative to Cloudflare). |
PHONE_REMOTE_AUTO_RESUME | *(off)* | 1 = experimental: a watchdog clicks the Mirroring Resume/Connect button to recover the paused screen unattended. Off by default — macOS blocks a background agent from focusing Mirroring while the phone is in use, so it can't be made reliable; mirror_state/hint tell you when to click manually instead. |
Agents drive the phone by connecting in to the running daemon (never by spawning their own input process — macOS makes a spawned child's events untrusted). Bearer auth: Authorization: Bearer <token> where token is PHONE_REMOTE_AGENT_TOKEN when set, otherwise PHONE_REMOTE_PASSWORD (legacy fallback).
| Method | Path | Purpose |
|---|---|---|
GET | /agent/status | Auth / health probe + driveability: {ok, phone_target, wda, drivable, mirror_state, hint, mode, viewer_count, …}. |
POST | /agent/input | One control message: tap / scroll / text / key / shortcut / keyboard (normalized [0,1] coords). |
GET | /agent/screenshot | Current phone screen as PNG (validated frame; falls back to on-device capture). |
Gate actions on drivable, not phone_target: the Mirroring window can be up yet showing the "Connection Paused" / "iPhone in Use" interstitial, where taps land in the void. mirror_state (active/paused/in_use/offline) + hint say what to do (paused → tap Resume; in_use → lock the phone; offline → open Mirroring). human_active:true warns a person is using the Mac — in mirror mode an L3 tap steals their focus, so back off or switch to agent mode (/agent/mode, on-device).
Full reference: docs/agent-api.html.
HOST=http://<mac-lan-ip>:44321; AUTH="Authorization: Bearer $PW"
curl -s -H "$AUTH" "$HOST/agent/screenshot" -o screen.png
curl -s -H "$AUTH" -X POST "$HOST/agent/input" -d '{"type":"shortcut","name":"home"}'
curl -s -H "$AUTH" -X POST "$HOST/agent/input" -d '{"type":"tap","x":0.5,"y":0.3}'
curl -s -H "$AUTH" -X POST "$HOST/agent/input" -d '{"type":"keyboard"}' # dismiss the keyboard (wda)
该项目是一个开源的MCP工具,用于iPhone,支持AI代理和浏览器的驱动功能。虽然代码质量较高,但缺乏详细的文档和示例使用场景。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
AI Skill Hub 点评:iPhone-use 的核心功能完整,质量良好。对于Claude Desktop / Claude Code 用户来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | iphone-use |
| 原始描述 | 开源MCP工具:Computer-use, but for the iPhone — AI agents (and your browser) see and drive a 。⭐8 · Rust |
| Topics | mcpai-agentautomationbrowserh264iosrust |
| GitHub | https://github.com/leeguooooo/iphone-use |
| License | MIT |
| 语言 | Rust |
收录时间:2026-06-10 · 更新时间:2026-06-10 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端