iPhone自动化服务器

一个基于Appium的iPhone自动化服务器,支持应用控制、UI交互和截图捕获。

  • by Lakr233
  • Python
  • 本地部署
  • 138 星标
  • 更新于
在 GitHub 查看 Lakr233/iphone-mcp

使用说明

iPhone MCP服务器

用于使用Appium自动化iPhone任务的模型上下文协议(MCP)服务器。支持应用程序控制、UI交互和通过流式HTTP捕获屏幕截图。

我们建议 樱桃工作室 作为iPhone自动化的MCP客户端。

特性

  • 检索设备信息并列出已安装的应用程序
  • 截图(JPEG,约500KB)
  • 列出UI元素并执行触摸操作
  • 使用捆绑包ID启动或切换应用程序
  • 优化XML输出以最大限度地减少令牌使用

安装

先决条件

  • Python 3.8或更高版本
  • Node.js和npm
  • 带UDID的iPhone
  • 项目

步骤

  1. 克隆仓库: git clone https://github.com/Lakr233/iphone-mcp.git && cd iphone-mcp
  2. 设置虚拟环境: python -m venv .venv && source .venv/bin/activate
  3. 安装依赖项: pip install -r requirements.txt
  4. 安装Appium: npm install -g appium && appium driver install xcuitest
  5. 设置WebDriver代理:按照 WebDriver代理指南
  6. 配置:编辑 start.sh 与你的 DEVICE_UDID

用法

跑 ./start.sh 启动Appium和MCP服务器。访问它在 http://127.0.0.1:8765/mcp 使用默认设置。

工具

  • iphone_device_info:获取设备详细信息
  • iphone_device_apps:列出已安装的应用程序
  • iphone_interface_snapshot:捕获屏幕截图和XML
  • iphone_interface_elements:列出UI元素
  • iphone_operate_click:执行点击
  • iphone_operate_swipe:执行滑动
  • iphone_operate_text_input:输入文本
  • iphone_operate_app_launch:启动应用程序
  • iphone_operate_get_current_bundle_id:获取当前捆绑包ID

配置

在中设置环境变量 start.sh (默认值 src/utils.py):

  • DEVICE_UDID (必填)
  • APPIUM_HOST/PORT
  • SERVER_HOST/PORT/PATH
  • LOG_LEVEL

发展

  • 运行测试: pytest
  • 代码风格:Python 3.8+,带类型提示

贡献

分叉仓库,创建分支,并提交拉取请求。通过问题报告错误或建议功能。

许可证

麻省理工学院