getsentry/MobileBuildMCP
A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
是什么
MobileBuildMCP 是一个小型开源包,运行一个 模型上下文协议 (MCP) 服务器 和一个对应的 命令行界面 (CLI)。其目的是让 AI 编码代理(例如 Claude、Cursor、Codex)能够调用 iOS/macOS 项目的 Xcode 相关构建和测试命令,而无需代理了解 xcodebuild 的确切语法。
谁会使用它
- 需要将 iOS/macOS 应用程序作为自动化工作流一部分进行编译、测试或打包的 AI 驱动的开发助手。
- 希望通过单一跨平台入口点,方便地运行常见 Xcode 构建任务(模拟器构建、测试产品准备、设备签名)的 人类开发者。
- 基于 Xcode 构建更高层自动化工具的 工具团队,希望拥有一个稳定、语言无关的 RPC 接口(MCP 服务器)。
核心功能(如 README 所述)
| 功能 | 作用 |
|---|---|
| MCP 服务器 | 监听来自 MCP 兼容 AI 代理的请求,并通过模型上下文协议暴露一组 Xcode 相关工具(构建、测试、设备签名等)。 |
| CLI | 提供相同的工具,直接从终端调用(mobilebuildmcp <子命令>)。 |
| 双模式安装 | 可通过 Homebrew(brew install mobilebuildmcp)或全局 npm 包(npm install -g mobilebuildmcp)安装。 |
| 代理技能 | 可选的“MCP 技能”和“CLI 技能”JSON 块,可提供给 AI 代理,教其如何与服务器通信或使用 CLI。 |
| 模拟器工作流 | 提供构建特定模拟器、可选地生成测试包但不运行、之后在选定模拟器上执行这些包的命令。 |
| 设备工具 | 支持为真实设备构建,前提是 Xcode 中已设置代码签名。 |
| 升级助手 | mobilebuildmcp upgrade --check / --yes 可让用户就地更新已安装的二进制文件。 |
| 遥测 | 将运行时错误数据发送到 Sentry(可选择退出)。 |
| 文档 | 在配套仓库(getsentry/xcodebuildmcp.com)中托管了详尽的 Markdown 文档,涵盖安装、配置、工具参考和故障排除。 |
如何工作(高层次)
- 安装 – 用户安装该包(Homebrew 或 npm)。安装提供
mobilebuildmcp二进制文件和 MCP 服务器代码。 - 启动服务器 – 运行
mobilebuildmcp mcp启动一个类似 HTTP 的 MCP 端点,监听来自 AI 代理的 JSON-RPC 风格请求。 - 代理交互 – AI 代理加载提供的 MCP 技能(或 CLI 技能),了解可用的 JSON 方法(例如
simulator.build、simulator.test)。代理发送请求,服务器将其转换为适当的xcodebuild命令,运行它,捕获日志,并返回结果。 - CLI 回退 – 如果用户更喜欢手动控制,可以直接通过子命令如
mobilebuildmcp simulator build …调用相同操作。 - 有状态守护进程 – CLI 启动每个工作区的后台守护进程,以保留日志、缓存状态并加快重复操作的速度。
对 AI 辅助开发的重要性
- 标准化接口:通过 MCP 暴露 Xcode 功能,任何基于 LLM 的编码助手都可以与 iOS/macOS 项目交互,而无需为每个工具编写自定义脚本。
- 降低提示复杂性:技能 文件为代理提供简洁的“API 规范”,使提示能专注于业务逻辑,而非低级构建标志。
- 跨平台入口点:开发者可以在本地运行相同命令,或让 AI 代理远程运行,更容易集成到已使用 AI 驱动代码生成的 CI/CD 流水线中。
快速入门(快速步骤)
# Homebrew(macOS 推荐)
brew tap getsentry/xcodebuildmcp
brew install mobilebuildmcp
# 或 npm
npm install -g mobilebuildmcp@latest
# 验证
mobilebuildmcp --help
# 为 AI 客户端启动 MCP 服务器
mobilebuildmcp mcp
# 模拟器构建示例
mobilebuildmcp simulator build \
--scheme MyApp \
--project-path ./MyApp.xcodeproj \
--simulator-name "iPhone 17"
许可与社区
- 采用 MIT 许可证。
- 使用 Sentry 进行错误遥测(可选择退出)。
- 通过 GitHub 普通的拉取请求流程欢迎贡献;详细贡献指南在文档中链接。
以上所有信息均直接来自仓库的 README;未推断任何额外功能。
相关
- 项目
- 项目
- 项目
- 项目