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 | 允許開發者新增自訂工具或取代現有工具。 |
典型工作流程
- 安裝 伺服器(
npx appium-mcp@latest),並加入 IDE 的 MCP 設定中(Cursor、Gemini CLI、Claude Code 等)。 - 設定環境變數 – 至少設定
ANDROID_HOME(或 macOS 上的 iOS 工具),並可選地設定CAPABILITIES_CONFIG指向描述您裝置的 JSON 檔案。 - 啟動會話 – 讓伺服器啟動本機驅動程式(
action=create)或指向現有的遠端 Appium 伺服器(remoteServerUrl)。 - 向 AI 提出請求 – 發送自然語言請求,如「點選 登入 按鈕」或「尋找標籤為 電子郵件 的欄位」。伺服器使用透過
AI_VISION_*變數設定的視覺模型定位元素並執行動作。 - 產生程式碼 – 提供如「驗證登入後歡迎畫面顯示使用者姓名」之類的描述,即可獲得包含 Page Object 模板的可執行 Java/TestNG 程式碼。
- 可選追蹤 – 啟用 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 CLI:
gemini mcp add appium-mcp npx -y appium-mcp@latest。 - 使用 Claude Code CLI:
claude mcp add appium-mcp -- npx -y appium-mcp@latest。
設定亮點
- AI 視覺 – 透過
AI_VISION_ENABLED=true啟用,並提供AI_VISION_API_BASE_URL和AI_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_all或skip)。 - 證據記錄 – 設定
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 增強行動測試領域,而非單純的教學或連結集合。
相關
- 專案
- 專案
- 專案
- 專案
- 專案