appium/appium-mcp

Appium MCP on Steroids!

appium‑mcp – 用于移动测试自动化的 AI 增强型 Appium 服务器

是什么 – 基于 Node.js 的 MCP(模型上下文协议)服务器,位于标准 Appium 自动化框架之上。它提供常规 Appium 功能(Android UiAutomator2、iOS XCUITest 等),并增加了 AI 驱动的辅助功能,允许您使用自然语言描述与设备交互,自动创建定位器,并从纯英文描述生成 Java/TestNG 测试代码。


核心功能(如 README 所述)

类别 您将获得的功能
跨平台移动自动化 使用内置的 Appium 驱动程序支持 Android 和 iOS 设备(真实设备、模拟器、仿真器)。
AI 驱动的元素查找 一个工具(appium_ai),将截图发送到可配置的视觉模型(OpenAI 兼容)并返回与自然语言查询匹配的 UI 元素。
智能定位器生成 基于优先级规则生成稳健的选择器(XPath、可访问性 ID 等),减少测试的不稳定性。
自动化测试生成 将自然语言测试描述转换为使用 Page Object 模式的 Java/TestNG 代码。
会话管理 通过简单的 MCP 命令创建、连接和清理 Appium 会话;支持嵌入式本地驱动程序和远程 WebDriver/Appium 服务器。
多语言支持 AI 层可理解多种语言(英语、西班牙语、中文、日语、韩语等)。
可观测性 可选的 OpenTelemetry 跟踪、每个操作的结构化“证据”记录,以及可配置的截图存储。
可扩展插件 API 允许开发者添加自定义工具或替换现有工具。

典型工作流程

  1. 安装 服务器(npx appium-mcp@latest),并将其添加到 IDE 的 MCP 配置中(Cursor、Gemini CLI、Claude Code 等)。
  2. 设置环境变量 – 至少设置 ANDROID_HOME(或 macOS 上的 iOS 工具),并可选地设置 CAPABILITIES_CONFIG 指向描述您设备的 JSON 文件。
  3. 启动会话 – 让服务器启动本地驱动程序(action=create)或指向现有的远程 Appium 服务器(remoteServerUrl)。
  4. 向 AI 提出请求 – 发送自然语言请求,如“点击 登录 按钮”或“找到标记为 邮箱 的字段”。服务器使用通过 AI_VISION_* 变量配置的视觉模型定位元素并执行操作。
  5. 生成代码 – 提供如“验证登录后欢迎屏幕显示用户姓名”之类的描述,即可获得包含 Page Object 模板的可运行 Java/TestNG 代码。
  6. 可选跟踪 – 启用 OpenTelemetry(APPIUM_MCP_OTEL_ENABLED=true)以收集每个工具调用的跨度,有助于 CI 调试。

安装与快速入门(来自 README)

{
  "mcpServers": {
    "appium-mcp": {
      "disabled": false,
      "timeout": 100,
      "type": "stdio",
      "command": "npx",
      "args": ["appium-mcp@latest"],
      "env": {
        "ANDROID_HOME": "/path/to/android/sdk",
        "CAPABILITIES_CONFIG": "/path/to/your/capabilities.json"
      }
    }
  }
}
  • Cursor IDE 中,点击一键安装徽章即可自动添加服务器。
  • 使用 Gemini CLIgemini mcp add appium-mcp npx -y appium-mcp@latest
  • 使用 Claude Code CLIclaude mcp add appium-mcp -- npx -y appium-mcp@latest

配置亮点

  • AI 视觉 – 通过 AI_VISION_ENABLED=true 启用,并提供 AI_VISION_API_BASE_URLAI_VISION_API_KEY。默认模型为 Qwen3-VL-235B-A22B-Instruct
  • 文档工具 – 通过 APPIUM_MCP_DOCS_ENABLED=true 选择启用;需要可选的 @appium/mcp-documentation 包。
  • OpenTelemetry – 通过 APPIUM_MCP_OTEL_ENABLED 切换;使用标准 OTEL_* 变量配置导出器端点、服务名称等。
  • 会话清理 – 由 APPIUM_MCP_ON_CLIENT_DISCONNECT 控制(delete_allskip)。
  • 证据记录 – 设置 APPIUM_MCP_EVIDENCE=true 可在每个元素查找或手势响应中附加结构化 JSON 块,有助于 CI 诊断。

谁会使用它?

  • 希望通过与助手对话而非手动编写选择器来更快编写移动测试的 QA 工程师。
  • 需要可靠、AI 增强的元素定位和自动测试骨架的 CI 管道开发者。
  • 采用 LLM 驱动开发工具(Cursor、Claude、Gemini)并寻找可直接集成到这些 IDE 的现成 MCP 服务器的团队。
  • 探索移动设备上基于视觉的 UI 交互的研究人员,因为服务器可以指向任何 OpenAI 兼容的视觉端点。

限制与要求(如 README 所述)

  • 需要 Node 22+、Java 8+、Android SDK(用于 Android)和 Xcode(用于 macOS 上的 iOS)。
  • AI 视觉功能仅在提供所需 API 端点和密钥时才可工作;否则 appium_ai 工具不会注册。
  • 每个服务器进程仅保持一个活动的 Appium 会话;并发会话需要独立的服务器实例。
  • “通用”平台模式允许向远程 Appium 服务器传递任意能力集,但本地嵌入式驱动程序仅限于 Android 和 iOS。

总结

appium-mcp 是一个真正的软件项目,它在广为人知的 Appium 自动化栈中增加了 AI 驱动功能(自然语言元素定位、自动生成测试代码、多语言支持),并通过 MCP 协议与现代 LLM 中心 IDE 无缝集成。它明确属于 AI 增强移动测试领域,而非简单的教程或链接集合。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目