
Preflight Ios Mcp
io.github.EthanAckerman-git由 GitHub 账号 EthanAckerman-git 发布v1.0.1更新于 Oct 27, 2026
57 tools for AI-powered iOS Simulator automation — tap, swipe, type, screenshots, and more.
发布方自己的服务:Preflight
概览
本地 MCP 服务器,让 AI 助手在 Mac 上操控 iOS 模拟器:点击、滑动、输入、读取无障碍树、查看应用数据并调试应用。
- 可以做什么
- 观察与检查模拟器:截图、设备与应用列表、应用信息、剪贴板、屏幕几何、无障碍快照与元素等待
- 操作界面:点击、滑动、长按、输入文本、按键、返回导航
- 管理设备与应用:启动、关闭、抹除、创建、克隆、删除、重命名设备,打开链接,安装、启动、终止与卸载应用
- 调试与诊断:设备日志与实时日志流、崩溃报告、应用容器文件、plist 与 SQLite、无障碍审计、内存与 CPU 性能分析
- 模拟系统条件:GPS 定位与路线、推送通知、剪贴板、媒体、权限、外观、状态栏、录屏、生物识别、语言区域、网络限速
- 测试 StoreKit:开启测试模式、列出与清除交易、管理订阅与询问购买、重置优惠资格
- 适用场景
- 适合希望让助手在模拟器中端到端验证应用的 iOS 开发者与测试人员:执行脚本化界面流程、核对页面、复现崩溃、读取日志,或测试无障碍、本地化、网络与 StoreKit 场景,而无需手动点击。
- 运行要求
- 需要装有 Xcode 与 iOS 模拟器的 macOS,以及 Node.js 18 或更高版本;通过 npx 以 stdio 在本地运行。建议安装 Facebook idb 以实现不移动光标的触控注入,需将其路径加入 PATH 或设置 PREFLIGHT_IDB_PATH。可选变量 LOG_LEVEL 与 PREFLIGHT_FILTERED_TOOLS。终端应用可能需要辅助功能权限。
安装
在 SourceWeft 中
- 打开 控制台中的 Preflight Ios Mcp,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Preflight MCP
The most comprehensive MCP (Model Context Protocol) server for iOS Simulator automation. Gives AI agents like Claude, ChatGPT, Cursor, Windsurf, and any MCP-compatible tool full control over iOS Simulators — tap, swipe, type, read accessibility trees, inspect app data, capture screenshots, record video, manage devices, and debug apps in real time.
82 tools across 14 categories. Zero cursor interference — works silently in the background while you use your Mac.
Inspired by Playwright MCP for web automation — Preflight brings the same structured accessibility-first approach to iOS.
Why Preflight?
- No disk clutter — Screenshots and video frames return directly in chat. No folders filling up.
- AI-optimized — Images compressed for minimal token usage. Video → key frames (most AI models can't view video files).
- Accessibility-first — Like Playwright's
browser_snapshot, usesimulator_snapshotto understand the screen without vision models. - Cursor-free — Touch injection via idb (IndigoHID) — your Mac cursor stays put.
- 82 tools — From basic tap/swipe to StoreKit testing, network conditioning, memory profiling, and crash log analysis.
Quick Start
Prerequisites
- macOS with Xcode and iOS Simulator installed
- Node.js 18+
- Facebook idb (recommended for cursor-free operation)
Install idb (recommended)
Without idb, the server falls back to CGEvent mouse injection (works but briefly moves your cursor).
Install via npm (recommended)
Build from Source
Setup by IDE / AI Tool
Add your Python bin directory to
PATHif idb was installed via pip (e.g.,~/Library/Python/3.x/bin).
Claude Code
Or add to .mcp.json in your project root:
Cursor
Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per-project):
Then in Cursor: Settings → MCP — verify "preflight" shows as connected.
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
Then in Windsurf: Settings → Cascade → MCP — verify "preflight" appears.
VS Code (Copilot / Cline / Continue)
Add to .vscode/mcp.json in your project:
For Cline (VS Code extension), add to ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json:
Zed
Add to ~/.config/zed/settings.json:
Any MCP-Compatible Client
Preflight uses the standard MCP stdio transport. Configure your client to run:
Set the PATH environment variable to include idb's location for cursor-free touch injection.
Tools Reference
Observation (6 tools)
User Interaction (6 tools)
Playwright-Inspired (3 tools)
Device Management (6 tools)
App Management (4 tools)
Debugging & Diagnostics (9 tools)
System Simulation (5 tools)
UI Configuration (4 tools)
Advanced Debugging & Testing (18 tools)
Accessibility Settings (4 tools)
Device Creation & Management (4 tools)
StoreKit Testing (6 tools) — Xcode 14-16
Network Testing (2 tools)
Debugging & Profiling (5 tools)
Architecture
Design Philosophy
Accessibility-first, like Playwright MCP:
- Use
simulator_snapshotto understand the screen (structured text, no vision model) - Use coordinates from the snapshot to
simulator_tap,simulator_swipe, etc. - Use
simulator_screenshotwhen you need visual verification - Use
simulator_wait_for_elementbefore interacting with elements that appear after transitions
No disk clutter:
- Screenshots return as base64 in chat — no folders filling up your Desktop
- Video recordings extract key frames as inline images on stop
- Optional
savePathparameter if you actually need files on disk
Touch Injection Pipeline
Demo App
A SwiftUI demo app is included in demo-app/ for testing all MCP features:
The demo app has 7 tabs exercising every tool category:
- Interactions: Buttons, text fields, long-press zones, navigation stack, scrollable lists
- Location: Live GPS display for testing
simulator_set_location - Notifications: Push notification display for testing
simulator_send_push - Settings: Clipboard, file I/O, accessibility toggles, UserDefaults
- StoreKit: Mock purchases and subscriptions for testing StoreKit tools
- Network: Connection monitoring and latency testing for network conditioning
- Debug: Memory/CPU stress tests, thermal state, accessibility settings observer, biometric auth
Configuration
Environment Variables
Example Prompts
QA Testing
"Boot the iPhone 16 Pro simulator, install my app at ./build/MyApp.app, launch it, and take a screenshot of the home screen. Then tap the login button, type [email protected] in the email field, and verify the form validation works."
Accessibility-First Workflow (Playwright-style)
"Take a snapshot of the current screen to see what elements are available. Then tap the button labeled 'Sign In' and wait for the email text field to appear."
Debugging
"My app is crashing on launch. Check the crash logs for MyApp, then get the last 5 minutes of device logs filtered to the MyApp process."
Dark Mode Testing
"Switch to dark mode, take a screenshot, then switch to light mode and screenshot again."
Troubleshooting
idb not detected
If tools show [CGEvent fallback] instead of [cursor-free]:
- Verify idb is installed:
which idbor check~/Library/Python/3.x/bin/idb - Add the idb path to your MCP config's
PATHenv var - Or set
PREFLIGHT_IDB_PATHdirectly
Simulator not found
- Open Simulator.app:
open -a Simulator - Boot a device: use
simulator_bootorxcrun simctl boot "iPhone 16 Pro"
Accessibility permission errors
- Go to System Settings → Privacy & Security → Accessibility
- Add your terminal app (Terminal.app, iTerm, Claude Code, Cursor, Windsurf, etc.)
Development
License
MIT License — see LICENSE for details.
来源:README.md,提交 cbf72b1
工具
0版本历史
1- v1.0.1最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
其他 Preflight 集成
Preflight
social.preflight官方发布者
托管式社交媒体排程服务器,让助手起草、按规则校验、排程并向 12 个平台发布帖子。

SQLite rebuild copy-map preflight
由 GitHub 账号 showflexinc 发布
远程预检服务,在重建执行前检查 SQLite 表重建复制映射的结构。

Rust MCP Preflight
由 GitHub 账号 Wolfe-Jam 发布
在发布前检查 MCP Registry 条目:README 的 mcp-name 行、server.json 规则、服务器名称与命名空间登录。

Multipart row preflight
由 GitHub 账号 showflexinc 发布
CSV row-structure inspection (inspect_parts) and manifest comparison (compare_manifest).

Tool-dialogue preflight
由 GitHub 账号 showflexinc 发布
针对JSONL工具对话训练数据的结构化预检。AI 翻译