scrcpy-mcp
MCP server for Android through ADB and scrcpy: an agent sees the screen, taps, types text and launches apps.
- 129 ★ on the repository
- Last commit
Broad access
Why this level
- The agent sees the whole screen, taps anything, and `shell_exec` runs arbitrary commands on the device.
- Device files, clipboard and audio are open to the agent and go to its model.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/scrcpy-mcpDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent sees the whole screen, taps anything, and `shell_exec` runs arbitrary commands on the device.
- Device files, clipboard and audio are open to the agent and go to its model.
This is third-party code. Review the repository files before installing.
What it does
scrcpy-mcp connects an agent to an Android phone or tablet over USB or Wi-Fi. It ships 44 tools: screenshots, taps and swipes, text input, app launching, UI element search, files, clipboard, screen recording, video streaming and audio recording. With a scrcpy session on, input and screenshots go over scrcpy's binary protocol and a screenshot takes about 33 ms. Without scrcpy the same tools work through ADB, only slower. The agent receives screenshots as images, and `ui_find_element` returns tap coordinates.
Who it is for. Mobile developers and testers who want an agent to walk through an app on a real Android device.
Good fit when
- A build is installed on the phone and the agent has to walk the sign-up flow and report where it breaks.
- A series of app screen screenshots is needed without manual taps.
- The agent has to pull a file from the device or push a test one onto it.
- App audio is recorded to `.wav` to check playback.
Not a fit when
- The device holds personal accounts and banking apps: the agent sees the whole screen and can tap anything.
- iOS is the target: the server works only with Android.
- An emulator with a ready MCP is enough and no physical device is at hand.
Example request
Open the app on the phone, pass the sign-in screen with the test login and send a screenshot of the home screen.MCP
- Transport
- stdio
- Authentication
- not required
Environment variables
SCRCPY_SERVER_PATH- Path to a non-standard scrcpy-server file.
SCRCPY_SERVER_VERSION- scrcpy-server version, set only when auto-detection fails.
Limitations
Node.js 24 or newer, ADB and an Android device with USB debugging are required; audio recording needs Android 11 or newer. Scrcpy speeds things up but is installed separately, and video streaming and audio recording also need ffmpeg and ffplay. The `output` audio source mutes the device speakers during capture: sound moves to the computer instead of being copied. Set the scrcpy-server version by hand only when auto-detection fails, otherwise a stale value causes a version mismatch.
How to disable. Remove the android MCP entry from the client configuration and turn off USB debugging on the device. If ADB over Wi-Fi was enabled, call `disconnect_wifi`.
FAQ
How do I connect it to Claude Code?
Run `claude mcp add android -- npx scrcpy-mcp`. For Cursor, Claude Desktop and VS Code the README gives JSON with the `npx` command and the `scrcpy-mcp` argument.
Is scrcpy mandatory?
No. The control tools work through ADB without it, but input is 10 to 50 times slower and video streaming and audio are unavailable.
How do I connect wirelessly?
The `connect_wifi` tool enables ADB over Wi-Fi and returns the connection address. Disconnect with `disconnect_wifi`.
Can the agent run commands on the phone?
Yes, the `shell_exec` tool runs an arbitrary ADB shell command and returns the output. Access is wide, so attach the server to a test device.
What if the scrcpy-server version fails?
Match `SCRCPY_SERVER_VERSION` with the output of `scrcpy --version` or delete the variable so the version is detected automatically.
Discussion
No questions or reviews yet.
Related
MCP serversAndroid MCP Server: control Android through ADB
Android MCP Server
A Python MCP server: the agent takes screenshots of an Android device, reads clickable interface elements and runs ADB commands
An MCP server exposes Android screens, element search, taps, input and screenshots to agents testing authorized applications.
An MCP server that drives an Android device over ADB: app navigation, input and automated tests
Android Remote Control MCP
android-remote-control-mcp
An Android app that turns a phone or emulator into an MCP server: accessibility services and screenshots
An MCP server to drive iOS and Android: simulators, emulators and real devices via accessibility trees and screenshots
Appium MCP
appium-mcp
An agent opens sessions on emulators and real devices, finds elements by description and writes Java tests via the Appium server.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| scrcpy-mcp (this card) | no | not required | 129 | |
| Android MCP | no | not required | 917 | drives Android through ADB; scrcpy-mcp with scrcpy on enters commands noticeably faster and records device audio |
| Mobile MCP | no | not required | 10,325 | covers iOS and Android through the accessibility tree; scrcpy-mcp is Android-only but adds video streaming and audio recording |
README in short
The README lists all 44 tools by group: session, video, audio, device, vision, input, apps, shell and files. It also covers typical failures, such as a version conflict or a directory in place of the server file on the device.