关于 mcp-idb
mcp-idb 将 MCP 客户端接入 Facebook 的 iOS Development Bridge(idb),用于自动化管理 iOS 设备和执行测试,适合设备交互、截图及应用安装等工作流。
主要功能
- 01自动管理 iOS 设备
- 02通过 idb 执行测试
- 03自动化屏幕交互
- 04截图测试
- 05安装和移除应用
适用场景
- 01自动化开发 iOS 测试
- 02为测试捕获截图
- 03点击 iOS 屏幕控件
- 04安装或移除 iOS 应用
MCP 相关
向 MCP 客户端提供基于 idb 的 iOS 设备管理和测试执行能力。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
1收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| command | string | 是 | 要执行的 IDB 命令(例如,list-apps、screenshot 等)。 - 如需查看完整命令列表,请运行 'idb help'。 - 如需查看特定命令的帮助,请运行 'idb <command> --help'。 与设备(模拟器)交互: 重要:在分发 UI 操作之前,务必先尝试使用 'idb ui describe-all' 命令识别按钮。 如果不起作用,请尝试使用以下命令: - **轻点** - **命令:** 'idb ui tap X Y [--duration DURATION]' - **说明:** 在给定的屏幕坐标处模拟轻点。也可以设置轻点时长。 - **滑动** - **命令:** 'idb ui swipe X_START Y_START X_END Y_END [--delta STEP_SIZE]' - **说明:** 模拟从起点到终点的滑动手势。默认情况下,滑动以 10 个点为步长;使用 '--delta' 可更改步长。 - **按下按钮** - **命令:** 'idb ui button {APPLE_PAY, HOME, LOCK, SIDE_BUTTON, SIRI} [--duration DURATION]' - **说明:** 模拟按下指定的硬件按钮。可以使用 '--duration' 标志调整按下时长。 - **输入文本** - **命令:** 'idb ui text "some text"' - **说明:** 将提供的文本字符串输入目标设备。 - **按键事件** - **单个按键:** 'idb ui key KEYCODE [--duration DURATION]' - **按键序列:** 'idb ui key-sequence KEYCODE1 KEYCODE2 ...' - **说明:** 模拟按键事件。单个按键命令用于按下一个键(可选设置时长),按键序列命令用于依次触发多个按键事件。 **idb ui describe-all 中的 Frame 和坐标:** 'idb ui describe-all' 的输出会提供每个 UI 元素的详细布局信息。每个元素都包含一个 'frame' 对象,其中包括: - **x 和 y:** 元素左上角相对于设备屏幕的坐标。 - **width 和 height:** 元素的尺寸。 此外,'AXFrame' 字符串会以人类可读的格式呈现这些数据,例如 '{{x, y}, {width, height}}'。 这些值可用于确定元素的位置,通常可以计算其中心点(x + width/2, y + height/2)以进行精确交互。例如,在示例输出中,"More, tab, 4 of 4" 按钮的 frame 起点为 x=330、y=876.33,宽度为 110,高度为 45.67。轻点命令 'idb ui tap 375 880'(目标位置接近元素中心)即可成功触发该按钮。 |
| options | array | 否 | IDB 命令的可选参数 |
详细介绍
mcp-idb
Facebook 的 iOS Development Bridge(idb)MCP 服务集成。
概述
此软件包提供 MCP(Model Context Protocol) 与 Facebook 的 idb(iOS Development Bridge) 之间的集成,可通过 MCP 自动管理 iOS 设备并执行测试。
启动服务:
npx -y @noahlozevski/mcp-idb
前提条件
安装 idb
安装 idb:
brew tap facebook/fb
brew install idb-companion
# verify installation
idb
如需了解更多详情,请访问 idb 官方 GitHub 仓库。
配置
设置 mcp-config.json
若要在 MCP 配置中使用 idb,请将以下内容添加到 mcp-config.json:
{
"mcpServers": {
"idb": {
"command": "npx",
"args": ["-y", "@noahlozevski/idb"]
}
}
}
示例用例包括:
- 自动化测试开发
- 截图测试
- 自动化交互(“点击屏幕上的主屏幕按钮”)
- 安装 / 移除应用
开发
代码格式化
本项目使用 Prettier 格式化代码。若要格式化代码:
npm run format # Format all files
格式化配置位于项目根目录的 .prettierrc 中。
故障排除
常见问题及解决方案:
- 未找到 idb companion:确保已通过 Homebrew 安装 idb-companion
- 未检测到设备:确保 iOS 设备:
- 已通过 USB 连接
- 已在电脑上设为可信设备
- 已启用开发者模式
贡献
更改此软件包时,请遵循 MCP 标准贡献指南。
许可证
本项目是 Mobile Control Plane(MCP)的一部分,并遵循 Amazon 的内部许可政策。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。