android-use MCP server
2026년 11월 1일 커밋AI 에이전트가 화면 읽기, 탭, 타이핑, Chrome 제어를 통해 실제 Android 기기 또는 에뮬레이터와 상호작용할 수 있도록 합니다.
다른 이름 austinintelligence/android-use
- 스타
- 36
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- —
- 마지막 커밋
- 2026년 11월 1일
- 라이선스
- MIT
android-use MCP란?
android-use은(는) MCP server입니다. AI 에이전트가 화면 읽기, 탭, 타이핑, Chrome 제어를 통해 실제 Android 기기 또는 에뮬레이터와 상호작용할 수 있도록 합니다.
프로젝트 README에서 생성된 요약
android-use MCP server 정보
android-use는 Claude Code, Cursor, Gemini CLI와 같은 도구를 사용하는 개발자가 AI 에이전트에 모바일 인터페이스를 조작할 수 있는 능력을 부여합니다. ADB를 통해 에이전트를 실제 Android 기기 또는 에뮬레이터에 연결함으로써, 이 MCP server는 두 가지 주요 도구인 화면 검사용 android_read와 명령 실행용 android_act를 통해 AI가 복잡한 모바일 작업을 수행할 수 있게 합니다.
사용자는 policy.toml 파일을 사용하여 어떤 앱을 열거나 캡처할 수 있는지 제한함으로써 에이전트의 동작을 제어할 수 있습니다. 이 시스템은 좌표에 의존하기보다 버튼과 레이블을 식별하는 텍스트 기반 상호작용을 우선시하지만, 텍스트가 거의 없는 인터페이스의 경우 번호가 매겨진 스크린샷을 제공합니다. 보안은 비밀번호를 로컬 시스템의 비밀 저장소에 보관하고, 민감한 권한 요청 시 휴대폰에서 수동으로 물리적 승인을 요구함으로써 유지됩니다. 이러한 설정을 통해 터미널이나 브라우저 환경에서 직접 자동화된 앱 테스트, 루틴 실행, Chrome 탐색이 가능합니다.
활용 사례
- 1자동화된 모바일 앱 테스트개발자는 에이전트가 새로 빌드한 애플리케이션을 실행하고 해당 세션을 공식 테스트로 내보내도록 할 수 있습니다.
- 2반복적인 모바일 워크플로우 실행성공적인 명령 시퀀스를 루틴으로 저장하여 나중에 단 한 번의 호출로 재현할 수 있습니다.
- 3보안 로그인 프로세스 처리에이전트는 민감한 비밀번호를 노출하지 않고도 Chrome에서 양식을 작성하거나 알림에서 일회용 코드를 읽을 수 있습니다.
- 4원격 기기 설정 관리AI 클라이언트가 시스템 메뉴를 탐색하여 특정 네트워크 또는 연결 옵션을 전환할 수 있습니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
자동 검사
2026년 11월 14일에 실행됨전체 보고서 →아직 인증되지 않았습니다. 서버는 80점 이상의 점수, 심각한 결함 없음, 그리고 검사에 충분한 데이터를 갖추어야 합니다. 검사 방식 · 점수를 높이기 위해 수정할 항목
- 소스 저장소 연결 및 접근 가능austinintelligence/android-use is public and reachablegithub.com/austinintelligence/android-use ↗통과
- 패키지가 이 저장소를 소스로 명시검사되지 않음
- 빌드 출처(Sigstore 증명)검사되지 않음
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-11-01github.com/austinintelligence/android-use ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음검사되지 않음
- 패키지 및 해당 종속성에 중요한 보안 권고 없음검사되지 않음
- 모델에 대한 숨겨진 지침 없음0 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 원격 엔드포인트가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기What is android-use?
Your agent lives in a terminal and a browser. Most of the apps people use every day live on a phone. android-use connects the two: it gives the agent you already use (Claude Code, Codex, Cursor, Gemini CLI, and others) hands on a real Android phone or emulator.
There are two pieces. A small helper app on the device reads the screen through Android's accessibility service and carries out actions. au, on your computer, talks to the helper over ADB and gives your agent two tools: one to look, one to act. The agent asks in plain commands like open app "Settings" then tap "Network & internet" and gets back a short answer: the screen it reached, and after later actions, only what changed.
- It reads text first. The screen comes back as a list of what is there: labels, buttons, switches with their state (
sw Wi-Fi=on), and fields with their contents. Agents act on labels, not on guessed coordinates. When an app shows little text, a small screenshot with a numbered box per control comes along, sotap e4still works. - It checks itself. Every action is matched against the screen it was planned from, journaled so it runs at most once, and confirmed after. A locked phone, a screen that is off, or an ambiguous label stops it with the reason and the one step that fixes it, instead of a blind tap.
- It remembers what worked. Save a command that worked as a routine and run it again in one call. Every session leaves a trace you can review, export, or turn into a test.
- You stay in charge. A
policy.tomldecides which apps the agent may open, what it may capture, and how many steps it gets. Passwords are typed for the agent without the agent ever seeing them. For anything sensitive, the agent can ask the phone itself: you see the exact steps and tap Allow once or Deny, and the approval is void if the screen changed while you decided.
Developers use it to let their agent run the app it just built, report what it sees, and keep those runs as tests. Agents use it for real phone tasks end to end: checking settings, working through an app, reading a sign-in code from a notification, filling a form in Chrome. With a throwaway emulator, all of it can happen while your own phone stays in your pocket.
One call, then only what changed
A real session on an Android emulator, over MCP. The agent sends one command; the result is the screen it led to.
android_act: open app "Settings" then tap "Network & internet"
Done.
Now on screen:
Network & internet
Navigate up
Internet: AndroidWifi
SIMs: T-Mobile
sw Airplane mode=off
Hotspot & tethering: Off
...
android_act: tap "Airplane mode"
Done.
Changed:
~ Internet: Off
~ SIMs: T-Mobile [disabled]
~ sw Airplane mode=on
The picture is what the agent gets when a screen has little text: 17 KB, with a numbered box per control.
Measured on an API 36 emulator over MCP, 13 tasks run 10 times each, against the same tasks before the changes in 1.1 (method and numbers):
| Before | Now | |
|---|---|---|
| Tool calls per task | 5.9 | 2.6 (2.3× fewer) |
| Input tokens per task | 5,356 | 1,186 (−78%) |
| Fixed tokens per turn (instructions + tool definitions) | 834 | 396 (−53%) |
| Output tokens per task | 117 | 53 |
| Tasks that succeeded | 64% | 98% (127 of 130) |
Get started
npx -y android-use@1.4.0 setup
That is the whole install for most people (it needs Node.js 20.11+). setup puts the helper on your device, registers android-use with every agent it finds, and ends by reading your screen back to you. Or tell your agent to do it:
Run `npx -y android-use@1.4.0 setup`, follow its prompts, then use android_read and android_act.
You need Android 8 or newer with USB debugging on, or an emulator. No root. Android asks you to allow USB debugging and to turn on Android-Use under Settings → Accessibility; android-use never skips those prompts.
brew install austinintelligence/tap/android-use && au setup
curl -fsSL https://raw.githubusercontent.com/austinintelligence/android-use/v1.4.0/install/install.sh | ANDROID_USE_VERSION=1.4.0 sh && au setup
On Windows, run install/install.ps1 in PowerShell, or unzip the archive from Releases and run .\au.exe setup. au runs on macOS (Apple Silicon and Intel), Linux (x86_64 and arm64), and Windows (x86_64 and arm64). Every download is checked against SHA256SUMS, and the archive contains au with the helper built in. Step by step →
To register one agent yourself: au install claude (also codex, cursor, gemini, vscode, claude-desktop, opencode, all), or au install --dry-run to see what would change. Only the android-use entry is touched (client details). Coding agents can start with AGENTS.md.
Two tools, plain language
android_read looks: screen, page, notifications, routines, policy, help. android_act does:
tap "Wi-Fi" set "Airplane mode" on type "hello" in "Message"
open app "Chrome" scroll down until "Privacy" open app "Settings" then tap "Battery"
wait for notification from "Bank" up to 60 seconds
type secret "bank pin" in "PIN"
save routine "set timeout" from last with "30 seconds"
run routine "set timeout" with "1 minute"
ask phone "Pay $25 to Alex?" then tap "Pay $25"
The same commands work from a shell, no MCP needed: au read screen, au act 'tap "Wi-Fi"'. Miss a label and the reply lists the near matches and a ready-to-send fix. Hit a locked phone or a stopped helper and it says exactly that. Every form: android_read help, or the agent protocol.
What your agent can do with it
- Use apps the way a person would: open, read, tap, type, scroll, go back, chain steps with
then - Drive Chrome: open pages, click, fill, read, screenshot, through Chrome's own debugging socket
- Remember routines: save a command that worked, with a value as a parameter, and replay it in one call
- Sign in safely: type a stored secret into a password field without seeing it, and read a one-time code from a notification (
read code from notification "Bank") for apps you list - Read the phone: notifications (and act on them) and one-shot location, when you allow them
- Capture: screenshots; camera, microphone, and screen recording with Android's permission
- Turn runs into tests:
au trace to-testwrites a session out as a test, andau testruns files of the same plain commands withexpect screenchecks and JUnit output for CI (app testing) - Work on emulators: managed emulators with snapshots, side by side with your real phone
No phone handy? Use an emulator
au emulator doctor # needs the Android SDK; if it finds none, install Android Studio or the command-line tools
au emulator install # fetch the missing emulator package and system image (you accept Google's license)
au emulator create demo
au emulator start demo
au --target demo setup # then turn on Android-Use in the emulator's Accessibility settings
Each emulator is its own target with its own enrollment, journal, and serve lock, so an agent can work on one while you use your phone. Snapshots, restarts, and identity checks: Emulators and targets.
Safe to hand your phone to
- One device. A session is bound to one enrolled phone or emulator, checked on every connection, and the helper must answer a fresh cryptographic challenge before
ausends it anything. - Your policy, your rules.
policy.tomlsets allowed and denied apps, extra risky words, a step cap, whether anything may be captured, which apps codes may be read from, and the one folder files may move through. A file that does not parse stops the session; it never means "no policy". While a denied app is in front, only back and home work. - Secrets stay secret. Values live in the system's secret store (macOS Keychain, Secret Service on Linux, per-user DPAPI on Windows), are typed only into a field the helper flags as a password field in an app you allowed, and are removed from every reply, error, trace, and routine.
- Approvals happen on the phone. While the prompt waits, the helper runs no actions at all, so no agent can tap Allow for you, and it never shows over the lock screen. The agent also cannot answer Android's own system permission prompts.
- You can stop it.
au watchprints a link to a page on your computer that shows each command as it runs, with Pause and Stop. The helper's notification has a Stop button too. - Nothing extra. The helper has no internet permission,
auexposes no shell, and every action is bounded in size and time.
The full model: SECURITY.md and the control guide. Under the hood: Architecture.
Documentation
| I want to… | Read |
|---|---|
| Get it running | Install, Troubleshooting |
| Connect Codex, Claude Code, Cursor, … | Agent quickstart, client setup |
| Set limits, secrets, approvals, routines | Control |
| Test my app | App testing |
| Look up a command | CLI, agent protocol, environment |
| Run on emulators | Emulators and targets |
| Understand the cost numbers | Token budget |
| Run it unattended | Production guidance, security model |
| Contribute or cut a release | Development, testing, releasing |
FAQ
Status
android-use targets Android 8 and newer; the automated checks run on an Android 16 (API 36) emulator. Optional capabilities vary by device, and au doctor says what a connected one supports. The 1.4 control features are covered by unit and flow tests; the changelog lists what has not been run on a device yet.
MIT licensed. Contributions are welcome: see CONTRIBUTING.md. If android-use earns a place in your setup, a star helps the next person find it.
android-use MCP 질문
루트 권한이 필요한가요?
아니요, 이 MCP server는 루트 권한이 없는 기기에서도 작동합니다.
에이전트가 접근이 거부된 앱에 접속하려고 하면 어떻게 되나요?
거부된 앱이 전면에 있는 동안에는 뒤로 가기 및 홈 버튼만 작동합니다.