Let AI agents drive iPhone and Android devices from the shell: read the screen, tap, type, swipe, screenshot, logs and crashes. No server, zero dependencies.
- ✓Open-source license (AGPL-3.0)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
claude mcp add looktap -- npx -y @looktap/cli{
"mcpServers": {
"looktap": {
"command": "npx",
"args": ["-y", "@looktap/cli"]
}
}
}Resumen de MCP Servers
<div align="center"> <img src="https://raw.githubusercontent.com/lakpriya1s/looktap/main/assets/looktap-logo.svg" alt="looktap — hands on the phone, for AI agents" width="560"> **Let AI agents drive iPhone and Android devices from the shell**<br> Read the screen, tap, type, swipe, screenshot, and read logs and crashes. No server to start and no dependencies. [](https://www.npmjs.com/package/@looktap/cli) [](https://github.com/lakpriya1s/looktap/blob/main/LICENSE) [](#requirements) [](#how-it-works) [](#how-it-works) [](https://github.com/lakpriya1s/looktap/blob/main/package.json) [Website](https://lakpriya1s.github.io/looktap/) · [Quick start](#quick-start) · [Commands](#commands) · [For AI agents](#for-ai-agents) · [Benchmark](BENCHMARK.md) · [Troubleshooting](#troubleshooting) </div> --- `looktap` is a small command-line tool for driving a mobile app on an iPhone or Android device, real or simulated. Each command does one thing and prints a few lines of plain text: <p align="center"> <img src="https://raw.githubusercontent.com/lakpriya1s/looktap/main/assets/looktap-demo.gif" alt="An agent drives a demo app with looktap: it reads the sign-in screen as a list of labelled elements, taps, fills in an email address, and scrolls and zooms a map, while the phone beside the terminal reacts to each command" width="760"> </p> That makes it a good fit for an AI coding agent (Claude Code, Cursor, Codex, opencode, …) that needs to **see and use the app it's building**: - **Small output.** A screen read is about 1 KB of text, where other agent tools return 4–125 KB. A screenshot is a file path, where most MCP servers put 40–270 KB of image into the context. - **One call per step.** Add `--ls` to an action and its result comes back in the same call. - **Fast.** Screen reads take about 0.1 s and taps 0.1–0.2 s on both platforms, and the first command comes back in under a second, with no session to set up. Against eight other agent tools on the same devices, it had the lowest agent time on both iPhone and Android ([How it compares](#how-it-compares)). It's just as handy by hand, or in a shell script for screenshot sweeps and bug repros. --- ## Contents - [What you get](#what-you-get): everything looktap does today - [How it compares](#how-it-compares): the measured comparison with every other agent mobile tool - [Quick start](#quick-start): install, boot a device, first commands - [🤖 Kickstart with your AI agent](#-kickstart-with-your-ai-agent): one prompt and your agent takes it from there - [Requirements](#requirements) - [How it works](#how-it-works) - [Examples](#examples): tap by label, forms, waiting, scrolling, debugging, bursts and video, several devices - [For AI agents](#for-ai-agents) - [Commands](#commands) · [Platform support](#platform-support) · [Options & config](#options-environment-variables-config-file) - [Troubleshooting](#troubleshooting) · [FAQ](#faq) · [Roadmap](#roadmap) - [Safety rules](#safety-rules) · [Contributing](#contributing) · [License](#license) ## What you get | | What you get | |---|---| | 👀 | **Read the screen as text.** `ls` lists what's visible, one row per element: `@ref type x,y w×h label = value`. It reads native screens, React Native screens and web content (Safari, in-app browsers, web views) | | 👆 | **Tap by label.** Exact match first, then a prefix or substring that names exactly one label. An ambiguous match is an error, never a guess. Also by `@ref` from the last `ls`, or by `x y` coordinates | | ⌨️ | **Type and fill.** `type` into the focused field, `fill` to clear a field and type, `key return\|escape\|delete\|tab\|selectall\|paste\|…` (the same names on both platforms), and `hidekb`, which never reports success while the keyboard is still up | | 🧭 | **Navigate and gesture.** `swipe`, `scrollto <label>`, `back`, `home` (the Home button, the app keeps running), `open <deep link>`, `launch <app>`, `stop <app>`, `longpress`, and two-finger `zoom in\|out` | | ⏱️ | **Wait instead of sleep.** `wait "Welcome"`, `wait "Loading" --gone`. Actions already wait up to 3 s for their target | | 📸 | **Screenshots.** `shot` saves a PNG and prints its path, with `--scale 0.5` for fewer image tokens. On Android emulators it also captures `FLAG_SECURE` screens | | 🎞️ | **Burst capture and video.** `burst` saves a frame each time the screen changes, to catch spinners, toasts and transitions. `record start` … `record stop` saves an MP4 of everything in between | | 🪵 | **Logs.** `logs` shows the app's log since your last look. `--errors` and `--grep` narrow it, and on iOS Apple-framework chatter is filtered out | | 💥 | **Crashes.** `crashes` reads iOS crash reports (exception, reason, top frames) and Android crashes, ANRs and **low-memory kills**, so "the app vanished" always comes with a reason | | | **Biometrics.** `bio match\|nomatch` simulates Face ID or a fingerprint | | 🌍 | **Simulated conditions.** `location <lat> <lon>`, `appearance dark`, `textsize xxl` (Dynamic Type / font scale), `statusbar clean` (9:41 for screenshots), `rotate landscape` (`ls`, taps and screenshots follow the turned screen), Android `network offline`, and iOS `push` notifications | | 🧹 | **App state for repros.** `install` a build, `reset` an app to a fresh install, `uninstall`, and `permission grant\|revoke\|reset camera\|location\|photos\|…`, with the same names on both platforms | | 📱 | **Devices on demand.** `boot "iPhone 16 Pro"` or `boot Pixel_9a` starts a simulator or emulator by name and waits until it's ready, with a window or `--headless`; `shutdown` stops it. `devices` tells real phones from simulators and emulators (model, OS, USB or Wi-Fi), and says what to do for a phone that isn't ready yet | | 🤖 | **Built for agents.** `--ls` on any action, `run` to batch steps, `--json`, `capabilities` to check what the device in use can and can't do, and a [Claude Code skill](#for-ai-agents) you install with one command | | 🧩 | **Nothing to install on simulators, emulators or Android phones**, no server to run, no npm dependencies. The helpers start on first use. A real iPhone gets a small test runner, built for you | | ⚠️ | **Honest failures.** A tap that's covered by a toast prints a warning, a stale `@ref` is an error rather than a wrong tap, a system prompt over the app is reported as one, a locked device is reported as locked (never typed into), and **an app that dies is named the moment looktap notices** | ## How it compares Every agent mobile tool we could run on one Mac was given the same 12 steps in the Settings app, 10 runs each: looktap (CLI and MCP), mobile-mcp, Maestro MCP, Appium MCP, raw Appium, ios-simulator-mcp, MobileBuildMCP, raw idb and raw adb. A neutral checker decided whether each step worked. These are the totals over the steps every tool can do: | | **looktap CLI** | **looktap MCP** | Next best for an agent | Others | |---|---|---|---|---| | Agent time (iOS · Android)¹ | **21 s · 28 s** | 25 s · 37 s | 30 s Maestro MCP · 49 s Appium MCP | 36–63 s | | Tool calls (iOS · Android) | **8** · 12 | **8** · 12 | 9 · **11** Maestro MCP | 10–27 | | Text returned (iOS · Android) | **747 B · 1.2 KB** | 3.2 KB · 7.9 KB | 17 KB · 14 KB Maestro MCP | 17–154 KB | | Steps passed | **100%** of what it can do | **100%** | | 87–100% | | Setup before the first command | **under 1 s** | **under 1 s** | | 0.2–29 s | ¹ The device's reaction time plus 2 s per tool call for the model's round trip. Where looktap loses: - On raw device time, ios-simulator-mcp is faster in total on iOS (4.5 s against 5.2 s), with 20 calls to looktap's 8. - The looktap MCP waits for the screen to settle after every action, which makes it slower per action than the CLI. - looktap can't stop an app, and on iOS it has no home button. Method, both platforms' tables and what else they show are in **[BENCHMARK.md](BENCHMARK.md)**. **Where Appium is still the better choice:** it plugs into existing WebDriver test suites and CI grids, and supports many more platforms. looktap isn't a test framework. ## Quick start ```bash # 1. install (Node 18+; zero dependencies) npm install -g @looktap/cli # 2. check the toolchain looktap doctor # 3. boot a device: an iOS simulator or an Android emulator, by name looktap devices --all # what's running, and what you can boot looktap boot "iPhone 16 Pro" # or an AVD: looktap boot Pixel_9a # 4. drive it looktap launch com.apple.Preferences --ls # (Android: com.android.settings) looktap tap "General" --ls looktap shot general ``` Or try it without installing anything: `npx @looktap/cli doctor` (any command works the same way). To teach Claude Code how to use looktap, install the plugin. In Claude Code: ``` /plugin install looktap --marketplace lakpriya1s/looktap ``` It adds the looktap skill. Then run `/looktap:setup`: it installs the CLI, checks your toolchain and gets a device ready. Or copy the skill in by hand: ```bash looktap skill --install # → ~/.claude/skills/looktap/SKILL.md ``` <details> <summary><strong>Other ways to install</strong></summary> The latest from GitHub, ahead of the npm release: ```bash npm install -g github:lakpriya1s/looktap ``` From a checkout: ```bash git clone https://github.com/lakpriya1s/looktap.git cd looktap && npm install -g . ``` As a tarball you can hand to someone (it includes both prebuilt helpers): ```bash npm pack
Lo que la gente pregunta sobre looktap
¿Qué es lakpriya1s/looktap?
+
lakpriya1s/looktap es mcp servers para el ecosistema de Claude AI. Let AI agents drive iPhone and Android devices from the shell: read the screen, tap, type, swipe, screenshot, logs and crashes. No server, zero dependencies. Tiene 1 estrellas en GitHub y su última actualización registrada es del 2026-10-17.
¿Cómo se instala looktap?
+
Puedes instalar looktap clonando el repositorio (https://github.com/lakpriya1s/looktap) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar lakpriya1s/looktap?
+
Nuestro agente de seguridad ha analizado lakpriya1s/looktap y le ha asignado un Trust Score de 95/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene lakpriya1s/looktap?
+
lakpriya1s/looktap es mantenido por lakpriya1s. La última actividad registrada en GitHub es del 2026-10-17, con 0 issues abiertos.
¿Hay alternativas a looktap?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega looktap en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/lakpriya1s-looktap)<a href="https://claudewave.com/repo/lakpriya1s-looktap"><img src="https://claudewave.com/api/badge/lakpriya1s-looktap" alt="Featured on ClaudeWave: lakpriya1s/looktap" width="320" height="64" /></a>Más MCP Servers
Reverse engineer anything with agents, from app behavior down to native binaries.
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ A Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev