ls
List what is on screen: @ref, type, x,y, width×height, label, = value.
alldeviceplatform
io.github.lakpriya1s由 GitHub 帳號 lakpriya1s 發布v0.7.1更新於 Oct 29, 2026
Let your AI agent see, use and control the apps on your phone: screen as text, tap by label.
本機 MCP 伺服器,讓 AI 助理以文字讀取畫面、依標籤點擊,進而檢視並操控 iPhone 與 Android 應用程式(實機、模擬器或模擬裝置)。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
參照 儲存庫 中的啟動說明。
The MCP server for looktap: it lets your AI agent see, use and control the apps on your phone: an iPhone or Android device (simulator, emulator or real phone), and any app on it. It reads the screen as text, taps by label, types, swipes, takes screenshots and reads logs and crashes.
This package only starts the server. Everything else lives in @looktap/cli, which it installs, so you always
get the latest looktap. If you already have the CLI installed, looktap mcp is the same server.
Claude Code
Claude Desktop, Cursor, VS Code and other clients
~/Library/Application Support/Claude/claude_desktop_config.json~/.cursor/mcp.jsonDesktop apps start servers with a minimal PATH, so if yours can't find npx (common with nvm), install the CLI
with npm install -g @looktap/cli and paste the config that looktap mcp --config prints. It uses absolute paths.
looktap tool's
boot "iPhone 16 Pro" starts a simulator, and devices lists what's connectedadb, with an emulator (boot <AVD name> starts one) or a phone with USB or wireless debuggingls, tap, tap_xy, long_press, fill, type, key, hide_keyboard, swipe, scroll_to, back, home,
wait, screenshot (returns the image), logs, crashes, perf (CPU, memory, threads, or frames and jank), and looktap for any other command (devices, boot,
capabilities, stop, expect, test, apps, launch --time …). Actions return the settled screen unless ls: false.
Full docs: https://lakpriya.com/looktap/
AGPL-3.0-only
來源:mcp/README.md,提交 2876c30
List what is on screen: @ref, type, x,y, width×height, label, = value.
alldeviceplatformTap an element by label or @ref. Returns the settled screen.
lsexactdevicetarget必填platformTap a point (iOS points / Android dp, the units ls prints).
x必填y必填lsdeviceplatformHold a touch on an element (or a point) for ms (default 800).
xylsmsdevicetargetplatformFocus a text field (by label or @ref), clear it, type text, and check the field holds it (a password field: its length). Retypes slowly if not, and fails if it still does not.
lstext必填devicetarget必填platformPut text on the device's clipboard, check it is there, and paste it into the focused field.
lstext必填deviceplatformEnter a one-time code into its row of digit boxes: tap the first, type each digit, check every box (pastes the code if typing did not fill them).
lscode必填deviceplatformType into the focused field.
lstext必填deviceplatformPress keys: return, escape, delete, tab, space, selectall, paste, home (Android also back).
lskeys必填deviceplatformDismiss the on-screen keyboard and take focus from the field (blur validation runs). Fails if it is still up.
lsdeviceplatformDrag from one point to another (scroll: finger moves up to go down).
lsmsx1必填x2必填y1必填y2必填deviceplatformSwipe until the element is fully on screen (swipes above the keyboard when it is up).
updevicetarget必填platformAndroid system Back; iOS navigation-bar back button.
lsdeviceplatformThe Home button: go to the home screen, leaving the app running.
lsdeviceplatformWait until a label (or @ref) is on screen — or, with gone, until it is not. With settle and no target: until the screen, its picture included, holds still for a second, for web pages with no labels to wait for (a sign-in page loading).
gonedevicesettletargetsecondsplatformA PNG of the screen, returned as an image (scale 0.5 by default: fewer tokens).
scaledeviceplatformThe app's log since the last logs call (first call: the last minute).
appgrepsincedeviceerrorsplatformCrash reports, ANRs and low-memory kills since the last crashes call.
appsincedeviceplatformThe app's CPU (100% = one core), memory and threads; or, with frames, frames drawn since the last frames call: janky share, p50–p99 frame time, fps (iOS counts what the screen shows; its first frames call only starts counting, so call it before the action too). Simulator numbers are the Mac's: compare runs, not phones. A real iPhone reads through Instruments, 10–25 s a reading.
appforjsondeviceframesplatformAny other looktap command line, or several separated by ";" — e.g. "launch com.example.app --ls", "stop com.example.app", "open myapp://home", "expect Welcome", "zoom in", "appearance dark", "rotate landscape", "fold open", "record start demo" … "record stop", "permission grant location com.example.app", "perf com.example.app --for 10s", "launch com.example.app --time", "apps com.example" (is it installed?), "app com.example.app --paths" (its data folder), "devices --all", "boot Pixel_9a" (also waits for one still starting), "shutdown Pixel_9a", "dismiss logbox" (React Native's toast), "shot sign-in --points" (pixels = tapxy units), "doctor -d <device>", "--wait-unlock 60 launch com.example.app", "handoff \"Approve the sign-in on the phone\" --until Home" (the user's turn: waits for that label). See: help.
devicecommand必填platform已滿足適用檢查項的 90%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
claude mcp add looktap -- npx -y @looktap/mcp{ "mcpServers": { "looktap": { "command": "npx", "args": ["-y", "@looktap/mcp"] } }}