iPhone Control
Provides direct control over iOS simulators and physical iPhones through a unified interface that combines Facebook's idb for simulators and WebDriverAgent for physical devices. Features automated device discovery, real-time screen streaming via WebSocket for physical devices, and comprehensive interaction tools including tap, swipe, text input, button presses, screenshot capture, app launching, and UI element scanning. Supports both global and project-scoped setup with auto-configuration for Claude Code, Cursor, Codex, and OpenCode.
真实 I/O · 已连通 ✓
启动 server · tools/list · 10 个工具 · @blitzdev/iphone-mcp下面每个工具的字段、类型、必填项,都是我们真的把 server 启动、tools/list 拉回来的原始 JSON Schema —— 真实的工具契约。注意:下方「示例调用」是按 schema 自动生成的演示,不是真实调用的返回。
describe_screenGet the full UI element hierarchy of the current screen. Returns ALL element types (buttons, text, images, containers, etc.) that are currently visible on screen. Filters applied automatically: - Off-screen elements are excluded - Generic unlabeled container nodes are excluded For finding tappable elements specifically, prefer scan_ui instead.
udidstringnestedboolean{
"tool": "describe_screen",
"arguments": {
"udid": "…",
"nested": true
}
}device_actionExecute a single device action on the iPhone. Actions available: - tap: Tap at coordinates { x, y, duration? } - swipe: Swipe gesture { fromX, fromY, toX, toY, duration?, delta? } - button: Press button { button: 'HOME'|'LOCK'|'SIDE_BUTTON'|'APPLE_PAY'|'SIRI', duration? } - input-text: Type text { text } - key: Press key { key: number (HID keycode) | string (character), duration? } - key-sequence
actionstringrequiredparamsobjectrequiredudidstringdescribe_afterobject{
"tool": "device_action",
"arguments": {
"action": "tap",
"params": {}
}
}device_actionsExecute multiple device actions in sequence on the iPhone. Each action in the array should have: - action: 'tap' | 'swipe' | 'button' | 'input-text' | 'key' | 'key-sequence' - params: Action-specific parameters Use describe_after to see the screen state after all actions complete.
actionsarrayrequiredudidstringdescribe_afterobject{
"tool": "device_actions",
"arguments": {
"actions": []
}
}get_screenshotCapture a screenshot of the current iPhone screen. Returns the file path to a PNG image.
udidstring{
"tool": "get_screenshot",
"arguments": {
"udid": "…"
}
}scan_uiFind interactive UI elements (buttons, links, text fields, switches, icons, etc.) on the current screen. Returns only tappable/interactive elements with their coordinates. Use the "query" parameter to search for a specific element by label (e.g. "Add to Cart", "Settings"). When a query is provided: - First searches visible interactive elements matching the query - If not found on-screen, searches
regionstringrequiredquerystringudidstring{
"tool": "scan_ui",
"arguments": {
"region": "full"
}
}list_devicesList all available iPhones and simulators.
{
"tool": "list_devices",
"arguments": {}
}get_execution_contextGet the current execution context — which iPhone(s) or simulators are available. Call this first to discover available devices. Returns: - target: 'simulator' — one simulator booted, use the returned udid - target: 'device' — one physical device connected, use the returned udid. Inform user about viewer_url for screen viewing. - target: 'ambiguous' — multiple devices found. Ask the user which one
{
"tool": "get_execution_context",
"arguments": {}
}setup_deviceBuild, install, and launch WebDriverAgent on a physical iPhone. This is required before any other tool can interact with a physical device. Call this when get_execution_context shows a physical device with wdaRunning: false. The process takes 1-3 minutes (building WDA, installing on device, establishing connection). Prerequisites: - iPhone connected via USB and trusted - Developer Mode enabled o
udidstringrequired{
"tool": "setup_device",
"arguments": {
"udid": "…"
}
}launch_appLaunch an app on the iPhone by bundle ID.
bundleIdstringrequiredudidstring{
"tool": "launch_app",
"arguments": {
"bundleId": "…"
}
}list_appsList installed apps on the iPhone.
udidstring{
"tool": "list_apps",
"arguments": {
"udid": "…"
}
}综合分
效果测评卡
进行中 · 待运行真实 I/O 已解决「输入输出是什么」;下一步接 agent 真跑,量化「效果好不好」。
Enables automation of Android devices and iOS simulators through a unified API. Supports device listing, screenshots with automatic compression for LLM processing, tap and swipe gestures by coordinates or element text, text input, app launching and installation, UI hierarchy inspection, device logs retrieval, and shell command execution. Provides cross-platform device control for mobile testing and debugging workflows.
WeChat Mini-Program Agent enables AI-driven automation and testing of WeChat Mini Programs through a wrapper around miniprogram-automator's WebSocket interface to WeChat DevTools. Supported operations include page navigation, screenshot capture, UI element interaction, DOM inspection, and scenario testing. A serial execution model ensures predictable test flows for agent-first development workflows.
MCP server for Chrome browser automation via a companion Chrome extension. Provides 50+ tools covering navigation, element clicking, text input, screenshot capture, touch gesture simulation, macro recording and replay, DevTools inspection, and accessibility auditing. Communicates with the extension via a local WebSocket bridge at localhost:7890. Written in TypeScript, Apache 2.0 licensed.