
Scrcpy Mcp
Connects Claude and other MCP clients to Android devices through ADB and scrcpy's binary protocol. You get 34 tools covering screenshots (returned as images), tap/swipe/type input, app launching, UI element finding with coordinates, shell commands, and clipboard operations that work on Android 10+. The scrcpy path delivers 10-50x faster input and 33ms screenshots versus ADB's 500ms fallback. Useful when you want an AI to actually see and interact with an Android device during testing, automation, or debugging. Start a session to unlock the fast path, then chain screenshot and input operations. Falls back gracefully to ADB-only mode if scrcpy isn't installed.
- GitHub stars
- 130
- tools
- 44
- transport
- STDIO
- env vars
- 3
- last updated
- Aug 21, 2026
Tools
44 toolsPublic tool metadata for what this MCP can expose to an agent.
start_sessionStart a scrcpy session. When active, input and screenshots use the fast path (10-50x faster).
Start a scrcpy session. When active, input and screenshots use the fast path (10-50x faster).
No parameter schema in public metadata yet.
stop_sessionStop the scrcpy session. Tools fall back to ADB.
Stop the scrcpy session. Tools fall back to ADB.
No parameter schema in public metadata yet.
versionReport which scrcpy-server version the session pushes and where that version was resolved from.
Report which scrcpy-server version the session pushes and where that version was resolved from.
No parameter schema in public metadata yet.
start_video_streamStart an HTTP MJPEG video stream and open a viewer window (ffplay). Auto-starts a scrcpy session if needed.
Start an HTTP MJPEG video stream and open a viewer window (ffplay). Auto-starts a scrcpy session if needed.
No parameter schema in public metadata yet.
stop_video_streamStop the video stream and close the viewer window.
Stop the video stream and close the viewer window.
No parameter schema in public metadata yet.
start_audio_streamStream device audio to the host's speakers via ffplay. Restarts the scrcpy session if it was started without audio.
Stream device audio to the host's speakers via ffplay. Restarts the scrcpy session if it was started without audio.
No parameter schema in public metadata yet.
stop_audio_streamStop streaming audio to the host.
Stop streaming audio to the host.
No parameter schema in public metadata yet.
audio_record_startStart recording device audio to .wav (default) or .opus on the host. Restarts the scrcpy session if needed. Stops automatically after maxDuration seconds (default 300).
Start recording device audio to .wav (default) or .opus on the host. Restarts the scrcpy session if needed. Stops automatically after maxDuration seconds (default 300).
No parameter schema in public metadata yet.
audio_record_stopStop the recording and finalise the host-side file.
Stop the recording and finalise the host-side file.
No parameter schema in public metadata yet.
audio_captureCapture a bounded clip of device audio and return it as an audio content block. Restarts the scrcpy session if needed.
Capture a bounded clip of device audio and return it as an audio content block. Restarts the scrcpy session if needed.
No parameter schema in public metadata yet.
device_listList all connected devices with serial, state, and model
List all connected devices with serial, state, and model
No parameter schema in public metadata yet.
device_infoGet model, Android version, screen size, SDK level, battery
Get model, Android version, screen size, SDK level, battery
No parameter schema in public metadata yet.
screen_onWake the device screen
Wake the device screen
No parameter schema in public metadata yet.
screen_offTurn the screen off
Turn the screen off
No parameter schema in public metadata yet.
rotate_deviceRotate the screen (requires active session)
Rotate the screen (requires active session)
No parameter schema in public metadata yet.
expand_notificationsPull down the notification panel (requires active session)
Pull down the notification panel (requires active session)
No parameter schema in public metadata yet.
expand_settingsPull down the quick settings panel (requires active session)
Pull down the quick settings panel (requires active session)
No parameter schema in public metadata yet.
collapse_panelsCollapse notification/settings panels (requires active session)
Collapse notification/settings panels (requires active session)
No parameter schema in public metadata yet.
connect_wifiEnable WiFi ADB and connect to the device wirelessly. Returns the connection address.
Enable WiFi ADB and connect to the device wirelessly. Returns the connection address.
No parameter schema in public metadata yet.
disconnect_wifiDisconnect from a wireless ADB device
Disconnect from a wireless ADB device
No parameter schema in public metadata yet.
screenshotCapture the screen and return it as an image.
Capture the screen and return it as an image.
No parameter schema in public metadata yet.
screen_record_startStart recording the screen to a file on the device
Start recording the screen to a file on the device
No parameter schema in public metadata yet.
screen_record_stopStop recording and optionally pull the file to the host
Stop recording and optionally pull the file to the host
No parameter schema in public metadata yet.
tapTap at screen coordinates
Tap at screen coordinates
No parameter schema in public metadata yet.
swipeSwipe from one point to another
Swipe from one point to another
No parameter schema in public metadata yet.
long_pressLong press at coordinates
Long press at coordinates
No parameter schema in public metadata yet.
drag_dropDrag from one point to another
Drag from one point to another
No parameter schema in public metadata yet.
input_textType a text string into the focused field
Type a text string into the focused field
No parameter schema in public metadata yet.
key_eventSend a key event: HOME, BACK, ENTER, VOLUME_UP, VOLUME_DOWN, POWER, etc.
Send a key event: HOME, BACK, ENTER, VOLUME_UP, VOLUME_DOWN, POWER, etc.
No parameter schema in public metadata yet.
scrollScroll at a position (dx=horizontal, dy=vertical)
Scroll at a position (dx=horizontal, dy=vertical)
No parameter schema in public metadata yet.
app_startLaunch an app by package name. Prefix with + to force-stop before launch.
Launch an app by package name. Prefix with + to force-stop before launch.
No parameter schema in public metadata yet.
app_stopForce-stop an app
Force-stop an app
No parameter schema in public metadata yet.
app_installInstall an APK from the host machine
Install an APK from the host machine
No parameter schema in public metadata yet.
app_uninstallUninstall an app
Uninstall an app
No parameter schema in public metadata yet.
app_listList installed packages, optionally filter by name or system/third-party
List installed packages, optionally filter by name or system/third-party
No parameter schema in public metadata yet.
app_currentGet the current foreground app and activity
Get the current foreground app and activity
No parameter schema in public metadata yet.
ui_dumpDump the full UI hierarchy as XML
Dump the full UI hierarchy as XML
No parameter schema in public metadata yet.
ui_find_elementFind elements by text, resource ID, class name, or content description. Returns tap coordinates.
Find elements by text, resource ID, class name, or content description. Returns tap coordinates.
No parameter schema in public metadata yet.
shell_execExecute an arbitrary ADB shell command and return the output
Execute an arbitrary ADB shell command and return the output
No parameter schema in public metadata yet.
file_pushPush a file from the host machine to the device
Push a file from the host machine to the device
No parameter schema in public metadata yet.
file_pullPull a file from the device to the host machine
Pull a file from the device to the host machine
No parameter schema in public metadata yet.
file_listList directory contents on the device
List directory contents on the device
No parameter schema in public metadata yet.
clipboard_getGet clipboard content. Uses scrcpy to bypass Android 10+ restrictions.
Get clipboard content. Uses scrcpy to bypass Android 10+ restrictions.
No parameter schema in public metadata yet.
clipboard_setSet clipboard content. Pass paste: true to also paste immediately.
Set clipboard content. Pass paste: true to also paste immediately.
No parameter schema in public metadata yet.
Sponsors
Configuration
ANDROID_SERIALTarget device serial number (from `adb devices`). Required when multiple devices are connected.
ADB_PATHCustom path to the adb binary. Defaults to 'adb' on PATH.
SCRCPY_SERVER_PATHPath to the scrcpy-server.jar file. Only needed if not installed in a standard location.
Readme
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
Details
- Repository
- github.com/juancf/scrcpy-mcp
- Category
- Mobile Development
- Package
scrcpy-mcp- Transport
- STDIO
- Registry
- MCP registry, active