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 增強行動測試領域,而非單純的教學或連結集合。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案