項(xiàng)目介紹
Mobile MCP 是一個(gè)用于移動(dòng)自動(dòng)化的模型上下文協(xié)議服務(wù)器,支持本地 iOS 和 Android 應(yīng)用的自動(dòng)化操作。?它能夠通過結(jié)構(gòu)化的可訪問性樹或截圖坐標(biāo)進(jìn)行交互,適用于 LLM 驅(qū)動(dòng)的場景。
?核心功能點(diǎn)
快速且輕量:大多數(shù)交互使用原生的無障礙訪問(accessibility)樹來實(shí)現(xiàn);在沒有可用無障礙標(biāo)簽的情況下,則使用基于截圖的坐標(biāo)方式。
?? 適配大語言模型:在“可訪問性快照”模式下,無需依賴計(jì)算機(jī)視覺模型。
?? 視覺感知:會(huì)評估并分析屏幕上實(shí)際渲染的內(nèi)容來決定下一步動(dòng)作;如果缺乏無障礙數(shù)據(jù)或視圖層級坐標(biāo),則退回到截圖分析方式。
工具應(yīng)用具確定性:盡可能依賴結(jié)構(gòu)化數(shù)據(jù),從而減少純截圖方式中常見的不確定性。
提取結(jié)構(gòu)化數(shù)據(jù):可以從屏幕上可見的任意內(nèi)容中提取結(jié)構(gòu)化信息。
安裝與配置
(一)環(huán)境準(zhǔn)備
1.依賴項(xiàng)
安裝Node.js(推薦LTS版本)。
配置移動(dòng)平臺(tái)SDK:
?iOS:需Xcode及模擬器(macOS)。
?Android:需Android SDK及虛擬設(shè)備(通過avdmanager
或Android Studio創(chuàng)建)。
2.?設(shè)備連接
1. iOS:通過
xcrun simctl
管理模擬器(如啟動(dòng)設(shè)備:xcrun simctl boot "iPhone 16"
)。
2. Android:使用emulator
命令啟動(dòng)AVD。
(二)部署方式
1.快速啟動(dòng)(NPM)
npx @mobilenext/mobile-mcp@latest
2.配置文件集成
在Agent配置文件(如Claude、Cursor)中添加:
{ ??"mcpServers": { ? ??"mobile-mcp": { ? ? ??"command": "npx", ? ? ??"args": ["-y", "@mobilenext/mobile-mcp@latest"] ? ??} ??} }
3.命令行參數(shù) ?-port
: 指定端口(默認(rèn)3333)。 ?-headless
: 無界面模式下運(yùn)行(需配合模擬器)。
核心工具與交互命令
(一)設(shè)備管理
工具 | 功能 | 參數(shù)示例 |
mobile_list_apps | 列出已安裝應(yīng)用 | bundleId: "com.google.android.keep" |
mobile_launch_app | 啟動(dòng)指定應(yīng)用 | bundleId: "com.apple.mobilenotes" |
mobile_terminate_app | 終止應(yīng)用 | packageName: "com.google.android.keep" |
(二)屏幕交互
工具 | 功能 | 參數(shù)示例 |
mobile_click_on_screen_at_coordinates | 基于坐標(biāo)點(diǎn)擊 | x: 100, y: 200 |
mobile_element_tap | 通過可訪問性標(biāo)簽點(diǎn)擊元素 | element: "Login button" |
mobile_swipe | 屏幕滑動(dòng)(坐標(biāo)或元素定位) | startX: 100, startY: 200, endX: 300, endY: 400 |
mobile_type_text | 向輸入框輸入文本 | text: "Hello", submit: true |
(三)調(diào)試與信息獲取
工具 | 功能 | 輸出示例 |
mobile_get_screen_size | 獲取屏幕分辨率 | { width: 1080, height: 1920 } |
mobile_get_source | 獲取XML格式可訪問性快照 | <node .../> |
高級特性與注意事項(xiàng)
(一)視覺感知機(jī)制
?混合策略:優(yōu)先使用可訪問性數(shù)據(jù),若不可用則通過截圖分析(如OCR識別文本或按鈕位置)。
?動(dòng)態(tài)適配:支持多分辨率設(shè)備,自動(dòng)縮放坐標(biāo)以匹配物理屏幕尺寸。
(二)實(shí)驗(yàn)性功能
?分支操作(需付費(fèi)計(jì)劃):支持創(chuàng)建/合并/重置移動(dòng)端開發(fā)分支,適用于持續(xù)集成場景。?
代理通信:允許多個(gè)Agent協(xié)同完成復(fù)雜任務(wù)(如數(shù)據(jù)提取+表單填寫)。