Scrcpy MCP server
io.github.JuanCF/scrcpy-mcp·v0.5.0·125 starsMCP server for Android device control via ADB and scrcpy
125 stars365 downloads/wk
Reviews
Write oneNobody has reviewed Scrcpy yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Scrcpy tools (39, 3 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
app_currentGet the currently foregrounded app package name and activity.
app_installInstall an APK file on the device from the host machine.
app_listList installed packages on the device. Optionally filter by name or restrict to system/third-party apps.
app_startLaunch an app on the device. Uses scrcpy START_APP when a session is active for faster launch, falls back to ADB `am start`. Supports force-stop prefix (+) to stop the app before launching.
app_stopForce-stop an app on the device.
app_uninstallUninstall an app from the device.
clipboard_getGet the current clipboard content from the device. Uses scrcpy GET_CLIPBOARD when a session is active (works on Android 10+), falls back to ADB clipboard commands.
clipboard_setSet the clipboard content on the device. Uses scrcpy SET_CLIPBOARD when a session is active (with optional paste flag), falls back to ADB clipboard commands.
collapse_panelsCollapse all open panels (notification, settings) (requires active scrcpy session)
connect_wifiEnable WiFi ADB and connect to the device wirelessly. Returns the connection address.
device_infoGet detailed info about a device: model, Android version, screen size, SDK level, battery level
device_listList all connected Android devices with their serial numbers, state, and model
disconnect_wifiDisconnect from a wireless ADB device
drag_dropwrite actionPerform a drag and drop gesture from one point to another. Uses input draganddrop on Android 8.0+ (API 26), falls back to swipe on older versions.
expand_notificationsExpand the notification panel (requires active scrcpy session)
expand_settingsExpand the quick settings panel (requires active scrcpy session)
file_listList directory contents on the device.
file_pullPull a file from the device to the host machine.
file_pushPush a file from the host machine to the device.
input_textType text into the currently focused input field
key_eventwrite actionSend a key event to the device. Supports keycodes like HOME, BACK, ENTER, VOLUME_UP, etc.
long_pressPerform a long press at the specified coordinates
rotate_deviceRotate the device screen (requires active scrcpy session)
screen_offTurn the device screen off
screen_onWake the device screen (turn screen on)
screen_record_startStart recording the screen. Recording continues until screen_record_stop is called.
screen_record_stopStop screen recording and optionally pull the file to the host.
screenshotTake a screenshot of the Android device screen. Returns the image as base64.
scrollScroll at the specified position. dx and dy are scroll amounts (-1 to 1 range approximated for ADB).
shell_execwrite actionExecute an arbitrary ADB shell command on the device and return the output. Use this for any device operation not covered by other tools.
start_sessionStart a scrcpy session for fast input control and screenshots. When a session is active, tap/swipe/text/screenshot are 10-50x faster. Requires scrcpy-server to be installed.
start_video_streamStart an HTTP MJPEG video stream of the device screen and open a viewer window (ffplay). Starts a scrcpy session automatically if needed.
stop_sessionStop the active scrcpy session. Tools will fall back to ADB commands.
stop_video_streamStop the HTTP MJPEG video stream and close the viewer window for a device.
swipePerform a swipe gesture from one point to another
tapTap at the specified screen coordinates
ui_dumpDump the full UI hierarchy of the current screen as XML. Useful for understanding screen structure before using ui_find_element.
ui_find_elementFind UI elements on screen by text, resource ID, class name, or content description. Returns matching elements with their tap coordinates. At least one search criterion must be provided.
versionReport which scrcpy version is being used by the MCP server. The version always describes the scrcpy-server file the session pushes: it comes from the SCRCPY_SERVER_VERSION environment variable, or from the scrcpy client belonging to the same install as that server, or a built-in default.
Public scan report
scanner v0.1.10 · 2026-11-02 · same rubric, same numbers if you re-run it
- Code scan2 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 40 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Scrcpy compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 88/100
- higher than 75% of 48,273 servers
- Tools
- 39
- the typical server has 7
- Tools that change things
- 8%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 125
- more than 95% of 28,534 servers
- Downloads a week
- 365
- more than 84% of 11,915 servers with a package
What its tools let an agent do: 32 read · 2 change · 5 run or deploy
Install Scrcpy in Claude Code, Cursor or VS Code
Runs npx -y scrcpy-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add scrcpy-mcp -- npx -y scrcpy-mcp
What the publisher says
From the Scrcpy repository's README, as published. We do not edit it. Read it on GitHub
scrcpy-mcp
MCP server that gives AI agents full vision and control over Android devices via ADB and scrcpy.
Connect any MCP-compatible AI assistant (Claude Code, OpenCode, Cursor, VS Code Copilot, etc.) to your Android device. The AI can see the screen, tap, swipe, type, launch apps, inspect UI elements, transfer files, and run shell commands.
Features
- 40 tools covering screenshots, input, apps, UI automation, shell, files, clipboard, video streaming, and audio streaming/recording
- scrcpy-first: uses scrcpy's binary control protocol for 10-50x faster input and near-instant screenshots (~33ms)
- ADB fallback: interaction tools work without scrcpy — slower but always available (the audio tools startaudiostream/audiorecordstart and the video stream require scrcpy)
- Image-returning screenshots: the AI actually sees the screen, not just a file path
- UI element finding: uifindelement returns tap coordinates so the AI can act on what it sees
- Audio streaming & recording: stream device audio to host speakers (startaudiostream) or capture to .wav/.opus (audiorecordstart)
- Clipboard that works on Android 10+: scrcpy bypasses the restrictions that break ADB-only solutions
Prerequisites
Required
Optional (for enhanced performance)
Device setup
- Enable Developer Options: Settings → About Phone → tap "Build Number" 7 times
- Enable USB Debugging: Settings → Developer Options → USB Debugging
- Connect device via USB
- Accept the RSA fingerprint prompt on the device
- Verify: adb devices should show your device as device (not unauthorized)
Installation
# Run directly with npx (no install needed)
npx scrcpy-mcp
# Or install globally
npm install -g scrcpy-mcpMCP Client Configuration
Claude Code
claude mcp add android -- npx scrcpy-mcpOr add to .mcp.json in your project root:
{
"mcpServers": {
"android": {
"command": "npx",
"args": ["scrcpy-mcp"]
}
}
}OpenCode
Add to .mcp.json:
{
"mcpServers": {
"android": {
"command": "npx",
"args": ["scrcpy-mcp"]
}
}
}Cursor
Settings → MCP → Add Server:
{
"android": {
"command": "npx",
"args": ["scrcpy-mcp"]
}
}Claude Desktop
Edit ~/.config/Claude/claudedesktopconfig.json (Linux) or %APPDATA%\Claude\claudedesktopconfig.json (Windows):
{
"mcpServers": {
"android": {
"command": "npx",
"args": ["scrcpy-mcp"]
}
}
}VS Code (GitHub Copilot)
Add to .vscode/mcp.json:
{
"servers": {
"android": {
"command": "npx",
"args": ["scrcpy-mcp"]
}
}
}Customizing Environment Variables
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Scrcpy: common questions
- Is Scrcpy MCP server safe?
- Yes, by our scan: it is graded A (88/100). Read the Scrcpy safety report
- How do I install Scrcpy?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Scrcpy need an API key?
- No secret keys are declared. It reads 3 settings from the environment.
- Is Scrcpy maintained?
- The last commit was 40 days ago (2026-09-23). The latest release is v0.5.0.
- What can I use instead of Scrcpy?
- Servers from other publishers that do the same job: Mobilerun MCP server and MCP Appium - Mobile Development and Automation Server MCP server.
- How does Scrcpy compare with other MCP servers?
- safety score 88/100 (higher than 75% of 48,273 servers); tools 39 (the typical server has 7); tools that change things 8% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Scrcpy
Same job from other publishers: the closest match first, then the best rated.
- MobilerunLet AI agents control Android and iOS devices on Mobilerun Cloud: screen, input, apps, workflows.not reviewedEstablishedA
- MCP Appium - Mobile Development and Automation ServerMCP server for Appium mobile automation on iOS and Android devices with test creation tools.not reviewedEstablishedA