iOS开发MCP服务器
一个全面的模型上下文协议(MCP)服务器,为Claude AI提供iOS模拟器控制和Swift/Xcode开发工具。
⚠️ 开发状态警告 该项目正在积极开发中,应予以考虑 ALPHA质量. - Bug和问题: 预计会出现错误、不完整的功能和破坏性的更改 - API稳定性: 工具界面可能会在版本之间更改,恕不另行通知 - 生产用途: 不建议用于生产环境 - 测试: 始终首先在开发环境中进行彻底测试 - 贡献: 欢迎功能请求和错误报告,但实施时间表取决于独立开发人员的可用性 使用风险自负。这是按原样提供的实验软件,不提供任何保证。
这个工具做什么
使Claude AI能够通过自然语言命令自主控制iOS模拟器、测试应用程序、调试问题和分析应用程序行为。Claude可以编写代码、构建项目、在模拟器中运行它们、执行UI测试、读取崩溃日志、迭代修复程序并验证一切正常工作——所有这些都不需要手动调试。
此存储库提供 两种互补能力:
- MCP工具(23个工具) -直接iOS模拟器控制和Xcode集成:
- 设备管理(启动、关闭、设备信息) - UI交互(点击、滑动、截图、UI检查) - 应用程序生命周期(安装、启动、终止、卸载) - 调试(崩溃日志、实时日志流、文本输入) - 环境控制(状态栏、外观、权限、推送通知) - 构建和测试(xcodebuild集成错误解析和测试结果)
- Claude代码技能(11个工作流程) -精心编排工具的开发模式:
- Swift与并发(2): Swift 6.2+并发修复,异步/等待专业知识 - iOS开发(3): 调试器代理、App Store发行说明、GitHub问题解决 - SwiftUI(4): UI模式、视图重构、性能审计、Liquid Glass(iOS 26) - macOS打包(1): 基于SwiftPM的应用程序分发,无需Xcode - 加上21个苹果官方文档文件 Xcode 26集成到技能中
技能工作与工具 -例如 ios-debugger-agent 技能编排 simulator_boot, simulator_install_app, simulator_launch_app, simulator_screenshot, simulator_tap,以及 simulator_get_logs 进入完整的调试工作流程。你得到这两个 能力 (工具)和 纪律 (技能)用于专业的iOS开发。
目录
- 先决条件 - 快速设置 - 安装fb-idb(高级功能需要)
- Claude代码集成(推荐) - Claude桌面集成 - 测试安装
- 包含什么 - 包含的技能(共11项) - 推荐的工作流组合 - 安装技能 - 了解更多
- 什么是技能? - 安装 - 如何调用技能 - 技能使用示例 - 检查可用技能 - 技能+MCP工具协同工作 - 最佳结果提示 - 技能描述参考 - 详细的技能文档
- 模拟器设备管理 - 模拟器UI交互 - 模拟器UI检查 - 模拟器调试与自动化 - 模拟器应用程序管理 - 模拟器输入模拟 - 环境控制 - 位置模拟 - 媒体管理 - 开发人员实用程序 - 构建和测试工具
状态
当前版本: 0.4.0(主动开发)
可用功能
✅ 模拟器设备管理 (4个工具)
simulator_list_devices-列出所有可用的iOS模拟器simulator_boot-启动模拟器设备simulator_shutdown-关闭正在运行的模拟器simulator_get_info-获取详细的设备信息
✅ 模拟器UI交互 (4个工具)
simulator_screenshot-捕获并压缩屏幕截图(JPEG,80%质量)simulator_tap-点击特定坐标simulator_swipe-带有方向检测的滑动手势simulator_long_press-长按可进入上下文菜单
✅ 模拟器UI检查 (2个工具)- *需要fb ID*
simulator_describe_ui-获取完整的可访问性树(所有带有标签、角色、边界的UI元素)simulator_describe_point-获取特定坐标处元素的可访问性信息
✅ 模拟器应用程序管理 (6个工具)
simulator_launch_app-按捆绑包标识符启动应用程序simulator_terminate_app-强制退出正在运行的应用程序simulator_install_app-安装.app捆绑包simulator_uninstall_app-删除应用程序及其数据simulator_open_url-打开URL和深度链接simulator_get_logs-检索筛选的日志条目
✅ 模拟器输入模拟 (3个工具)
simulator_type_text-在焦点文本字段中键入文本simulator_press_home-按下主页按钮simulator_send_keys-发送硬件键盘快捷键
✅ 模拟器调试与自动化 (6个工具)- *需要fb ID*
simulator_list_crashes-按捆绑包ID、日期范围筛选列出崩溃报告simulator_get_crash-使用堆栈跟踪检索完整的崩溃日志simulator_delete_crashes-清理坠机报告simulator_stream_logs-使用谓词过滤器进行实时日志监控simulator_input_text-在重点字段中键入文本(高级)simulator_press_button-模拟硬件按钮(HOME、LOCK、SIRI、APPLE_PAY、SIDE_BUTTON)
✅ 构建和测试工具 (4个工具)
xcodebuild_build-使用错误解析为模拟器构建应用程序(自动跟踪构建时间)xcodebuild_clean-清理构建工件和派生数据xcodebuild_test-使用结构化结果运行单元和UI测试xcodebuild_build_stats-获取构建时间统计数据、趋势和性能见解
✅ 环境控制 (12个工具)
simulator_status_bar_override-设置演示截图的时间、网络指示器和电池simulator_status_bar_list-列出当前状态栏覆盖simulator_status_bar_clear-清除所有状态栏覆盖simulator_set_appearance-在亮/暗模式之间切换simulator_get_appearance-获取当前外观模式simulator_set_content_size-设置可访问性测试的动态类型大小simulator_get_content_size-获取当前动态类型大小simulator_set_increase_contrast-启用/禁用增强对比度模式simulator_grant_permission-在不提示的情况下授予隐私权限simulator_revoke_permission-撤销隐私权限simulator_reset_permissions-重置权限以在下次使用时提示simulator_send_push_notification-发送模拟推送通知
✅ 位置模拟 (4个工具)
simulator_set_location-设置GPS坐标以测试基于位置的功能simulator_simulate_route-使用航路点模拟沿路线的移动simulator_list_location_scenarios-列出可用的预定义位置场景simulator_clear_location-停止位置模拟并清除任何设定位置
✅ 媒体管理 (3个工具)
simulator_start_video_recording-开始将模拟器屏幕录制为视频simulator_stop_video_recording-停止当前视频录制simulator_add_media-将照片、视频或联系人添加到模拟器
✅ 开发人员实用程序 (8工具)
simulator_get_app_container_path-获取应用程序容器的文件系统路径simulator_clipboard_copy-将文本复制到模拟器的剪贴板simulator_clipboard_paste-从模拟器剪贴板获取文本simulator_clipboard_sync-在两个模拟器之间同步剪贴板simulator_add_root_certificate-为SSL测试添加受信任的根证书simulator_add_certificate-将证书添加到模拟器的钥匙链中simulator_reset_keychain-重置模拟器钥匙链simulator_trigger_icloud_sync-在模拟器上触发iCloud同步
即将推出
🚧 其他构建工具
- 存档和导出以供分发
- 使用仪器进行性能分析
安装
先决条件
- macOS (iOS模拟器仅在macOS上可用)
- 项目 15+已安装命令行工具
- Node.js 18+
快速设置
# Clone the repository
git clone https://github.com/yourusername/ios-dev-mcp-server.git
cd ios-dev-mcp-server
# Install dependencies
npm install
# Build the project
npm run build安装fb-idb(高级功能需要)
23个模拟器工具中有11个需要fb-idb (iOS开发桥)将被安装。这些工具包括所有UI交互工具(点击、滑动、长按)、UI检查工具(describe_UI、describe_point)和所有调试/自动化工具(崩溃日志、日志流、文本输入、按钮按下)。
安装步骤:
# 1. Install idb_companion via Homebrew
brew tap facebook/fb
brew install idb-companion
# 2. Install idb client via Python pip (in virtual environment)
python3 -m venv ~/.idb-venv
source ~/.idb-venv/bin/activate
pip install fb-idb
# 3. Create symlink for global access
mkdir -p ~/bin
ln -sf ~/.idb-venv/bin/idb ~/bin/idb
# 4. Verify installation
~/bin/idb list-targets安装内容:
idb_companion-与模拟器/设备通信的服务器进程(通过Homebrew)idb-客户端CLI工具(通过虚拟环境中的Python pip)- Symlink
~/bin/idb-允许MCP服务器查找idb可执行文件
测试安装:
# Boot a simulator (if not already running)
xcrun simctl boot "iPhone 17"
# Connect idb to the simulator
~/bin/idb connect
# Test UI inspection
~/bin/idb ui describe-all --udid 需要idb的工具:
simulator_tap,simulator_swipe,simulator_long_press-UI交互simulator_describe_ui,simulator_describe_point-UI检查simulator_list_crashes,simulator_get_crash,simulator_delete_crashes-碰撞管理simulator_stream_logs-实时日志监控simulator_input_text-文本字段输入simulator_press_button-硬件按钮模拟
无需idb即可使用的工具:
- 所有设备管理工具(启动、关闭、设备信息)
- 所有应用生命周期工具(启动、终止、安装、卸载)
- 屏幕截图工具
- 构建和测试工具
用法
Claude代码集成(推荐)🚀
手动安装:
- 构建项目:
npm install
npm run build- 通过添加来配置Claude代码
~/.config/claude-code/settings.json:
{
"mcpServers": {
"ios-dev": {
"command": "node",
"args": ["/absolute/path/to/ios-dev-mcp-server/build/index.js"],
"metadata": {
"name": "iOS Development MCP Server",
"description": "Comprehensive iOS simulator control and Swift/Xcode development tools",
"version": "0.4.0"
}
}
}
}- 安装技能:
cp -r skills/* ~/.claude/skills/public/注: 替换 /absolute/path/to/ios-dev-mcp-server 根据您的实际项目路径。
示例提示:
安装后,尝试询问Claude:
- “列出所有可用的iOS模拟器”
- “启动iPhone 15 Pro模拟器”
- “截取已启动模拟器的屏幕截图”
- “在./build/MyApp.app上安装我的应用程序并启动它”
- “测试我的应用程序的登录流程并调试任何问题”
- “从模拟器中获取经过我的应用程序过滤的最后100条日志”
- “分析应用程序在导航过程中的性能”
Claude桌面集成
添加到您的Claude Desktop配置文件中: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"ios-dev": {
"command": "node",
"args": ["/absolute/path/to/ios-dev-mcp-server/build/index.js"]
}
}
}重要提示: 使用构建目录的绝对路径。
测试安装
启动MCP检查器进行交互式测试:
npm run inspector在以下位置打开web UIhttp://localhost:6274在那里你可以测试所有可用的工具。
使用Claude代码技能
此存储库同时提供 MCP工具 (23个iOS模拟器工具)和 精选技能 (11个iOS/Swift开发工作流)无缝协作。
包含什么
- MCP工具: 23个iOS模拟器控制工具(设备管理、UI交互、应用管理、调试等)
- 技能: iOS开发的11个专门工作流程(在
/skills目录) - Claude代码技能: 内置技能,如
/test-driven-development,/systematic-debugging - 一起: Claude使用有纪律的工作流程(技能)来有效地编排这些iOS工具
包含的技能(共11项)
该知识库包括来自社区的精选技能:
Swift和并发(2项技能)
swift-concurrency-expert-Swift 6.2+并发修复和参与者隔离swift-concurrency-avdlee-全面的异步/等待、参与者和迁移指导
iOS开发(3项技能)
ios-debugger-agent-使用此MCP服务器的工具构建、运行和调试iOS应用程序⭐app-store-changelog-从git历史生成面向用户的发行说明gh-issue-fix-flow-端到端GitHub问题解决工作流
SwiftUI(4项技能)
swiftui-ui-patterns-州管理和组成的最佳实践swiftui-view-refactor-规范视图结构和依赖关系swiftui-performance-audit-识别并解决性能瓶颈swiftui-liquid-glass-iOS 26+Liquid Glass API实现
macOS打包(1项技能)
macos-spm-app-packaging-不带Xcode的SwiftPM应用程序包
看 技能/README.md 详细文档。
推荐的工作流组合
调试iOS应用程序:
Skill: ios-debugger-agent (included in this repo!)
Tools: simulator_boot, simulator_install_app, simulator_launch_app,
simulator_screenshot, simulator_get_logs, simulator_tap
Flow: Boot → Install → Launch → Screenshot → Interact → Analyze logs测试驱动的iOS开发:
Skill: /test-driven-development (Claude Code built-in)
Tools: simulator_install_app, simulator_launch_app, simulator_get_logs
Flow: Write test → Build → Install → Run → Verify logs → Iterate解决GitHub问题:
Skill: gh-issue-fix-flow (included in this repo!)
Tools: simulator tools for testing, git for commits
Flow: Fetch issue → Locate code → Fix → Test with simulator → Commit → ReportSwift并发审查:
Skill: swift-concurrency-expert (included in this repo!)
Tools: Code analysis and refactoring
Flow: Triage errors → Apply actor isolation → Fix Sendable issues → Verify安装技能
要安装技能,请执行以下操作:
# Copy skills to Claude Code
cp -r skills/* ~/.claude/skills/public/
# Or symlink to keep them updated
ln -s $(pwd)/skills/* ~/.claude/skills/public/了解更多
- 包含的技能: 看 技能/README.md 获取所有11项技能的详细文档
- Claude代码内置技能: 使用
/using-superpowers克劳德代码 - Swift并发: fucking approach可快速同意.com
如何使用克劳德的技能
什么是技能?
技能是指导克劳德的专业工作流程 如何 处理特定类型的任务。将它们视为专家剧本:
- MCP工具 (这个服务器)=什么克劳德 能做到 (23个模拟器工具)
- 技能 (这个回购)=克劳德 应该这么做 (11个工作流程)
安装
安装
通过将技能复制到Claude Code的技能目录来安装技能:
# Copy all skills to Claude Code
cp -r skills/* ~/.claude/skills/public/
# Or symlink to keep skills updated with this repository
ln -s $(pwd)/skills/app-store-changelog ~/.claude/skills/public/
ln -s $(pwd)/skills/ios-debugger-agent ~/.claude/skills/public/
# ... repeat for all skills这将所有11项技能复制到 ~/.claude/skills/public/ Claude Code可以访问它们。
验证安装
安装后,重新启动Claude Code并验证技能是否可用:
User: "What iOS development skills are available?"
Claude: [Lists all installed skills]如何调用技能
当你描述与技能目的相匹配的任务时,克劳德会自动调用技能。你也可以明确地请求一项技能。
自动调用
当您的请求与技能的目的相匹配时,Claude会自动使用这些技能:
You: "Debug my app's login flow"
→ Claude uses ios-debugger-agent skill automatically
You: "Fix these Swift concurrency warnings"
→ Claude uses swift-concurrency-expert skill automatically
You: "Add Liquid Glass effect to this button"
→ Claude uses swiftui-liquid-glass skill automatically显式调用
您可以明确地按名称请求技能(尽管这通常不是必需的):
You: "Use the ios-debugger-agent skill to test my app"
→ Claude loads and follows the ios-debugger-agent workflow
You: "Run the swift-concurrency-expert skill on this file"
→ Claude applies concurrency review to the file技能使用示例
示例1:调试iOS应用程序
You: "My app crashes when I tap the login button. Can you debug it?"
Claude's Workflow (using ios-debugger-agent skill):
1. ✓ Lists simulators (simulator_list_devices)
2. ✓ Boots iPhone 15 Pro (simulator_boot)
3. ✓ Builds your app (xcodebuild_build)
4. ✓ Installs app (simulator_install_app)
5. ✓ Launches app (simulator_launch_app)
6. ✓ Takes screenshot (simulator_screenshot)
7. ✓ Taps login button (simulator_tap)
8. ✓ Captures crash logs (simulator_get_logs)
9. ✓ Analyzes issue and suggests fix示例2:修复Swift并发问题
You: "I'm getting data race warnings in Swift 6. Help fix them."
Claude's Workflow (using swift-concurrency-expert skill):
1. ✓ Captures compiler diagnostics
2. ✓ Checks project Swift version and concurrency settings
3. ✓ References Swift-Concurrency-Updates.md (Apple docs)
4. ✓ Identifies isolation boundaries
5. ✓ Applies minimal fixes (adds @MainActor, actor isolation)
6. ✓ Verifies Sendable conformance
7. ✓ Rebuilds and verifies warnings are fixed示例3:实现现代SwiftUI功能
You: "Add Liquid Glass material to my SwiftUI card view"
Claude's Workflow (using swiftui-liquid-glass skill):
1. ✓ References SwiftUI-Implementing-Liquid-Glass-Design.md
2. ✓ Checks iOS 26 availability
3. ✓ Applies .glassEffect() modifier
4. ✓ Adds GlassEffectContainer for multiple elements
5. ✓ Implements fallback for iOS 打开开发工具>模拟器
- 或者问克劳德:“启动iPhone 15 Pro模拟器”
**“安装应用程序失败”**
- 确保.app路径正确,并且该应用是为模拟器构建的
- 验证应用程序是否与启动的模拟器的iOS版本兼容
**“在克劳德身上找不到技能”**
- 确保技能被复制到 `~/.claude/skills/public/`
- 安装技能后重新启动Claude Code
**屏幕截图返回空/黑图像**
- 启动应用程序后等待几秒钟,然后再截图
- 确保模拟器窗口可见(未最小化)
### 获取帮助
对于问题、疑问或功能请求:
- **GitHub问题:** [创建问题](https://github.com/yourusername/ios-dev-mcp-server/issues)
请包括:
1. macOS和Xcode版本
1. Node.js版本
1. 错误消息或意外行为
1. 重现步骤
## 未来计划
该项目由一位独立开发人员积极维护。计划的功能包括:
- 构建自动化工具
- 测试执行和报告
- 性能分析集成
- Xcode项目管理工具
- Swift包管理器集成
欢迎功能请求,但实施时间表取决于开发优先级。
## 许可证
MIT许可证
版权所有(c)2026 iOS开发MCP服务器
特此免费授予任何获得本软件和相关文档文件(“软件”)副本的人在不受限制的情况下处理软件的权限,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,以及允许获得软件的人这样做,但须符合以下条件:
上述版权声明和本许可声明应包含在软件的所有副本或实质部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或版权持有人均不对因软件或软件的使用或其他交易而产生或与之相关的任何索赔、损害赔偿或其他责任承担责任,无论是在合同、侵权或其他诉讼中。
______________________________________________________________________
**注:** 这是根据麻省理工学院许可证发布的专有软件。虽然您可以使用和修改软件,但此项目仅由单个开发人员维护。目前不接受捐款。
