Scrcpy MCP logo

Scrcpy MCP

Controls Android devices through ADB and scrcpy with screenshots, input, app management, and UI inspection tools.

Install Scrcpy MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "scrcpy-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "scrcpy-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Automated check passed— started and listed 39 tools correctly (25d ago).

Overview

The scrcpy-mcp MCP server connects AI assistants to Android devices through ADB and the optional scrcpy control protocol. It exposes tools for screenshots, touch and text input, device inspection, app lifecycle management, screen recording, video streaming, and UI hierarchy queries. With an active scrcpy session, screenshots and input use a faster path; without one, supported interactions fall back to ADB. Use it for Android testing, guided device automation, or inspecting and operating an app through an MCP-compatible client.

Use cases

  • Automate Android app interactions with taps, swipes, and text input
  • Inspect a device screen and UI hierarchy during testing
  • Launch, stop, install, or uninstall Android applications
  • Capture screenshots and screen recordings from a connected device

Key features

  • ADB-based Android device control
  • Fast scrcpy session for input and screenshots
  • Image-returning screenshots
  • Coordinate-based touch and text input
  • Application lifecycle management
  • UI hierarchy and element lookup

Tools39

What Scrcpy MCP lets your agent do. Expand a tool for its parameters.

Verified live~3.8k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

16/20 checks healthy over the last 91d

What it can do

From the 39 tools this server returned when we ran it; 39 declare their own safety hints.

Runs commands · 1Can delete or modify data · 5Makes network requests · 38Read-only tools · 34
Network at startup3 connections
Files written at startupNone
Install scriptsNone
npm provenanceSigned build
Package age235 days
Maintainers1

Observed 2026-10-15 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 6d ago via OSV.dev · scrcpy-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars131Stargazers on the source repository.
npm downloads1.2kPackage downloads in the last 30 days.
Last commit1mo agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed39Callable tools this server registers over MCP.
Directory activity13 viewsConfig copies, upvotes, and views on AllMCPs.

How Scrcpy MCP works

What scrcpy-mcp MCP server does

The scrcpy-mcp MCP server gives an MCP client control and visibility over connected Android devices. It can list devices, report device details, wake or turn off the screen, rotate the display, manage notification and quick-settings panels, and capture screenshots as images. It also supports touch actions, swipes, long presses, drag-and-drop, scrolling, text entry, and Android key events.

Application tools cover launching, force-stopping, installing, uninstalling, and listing packages. app_current reports the foreground package and activity. For UI automation, ui_dump returns the device's UI hierarchy as XML, while ui_find_element searches by text, resource ID, class name, or content description and returns coordinates that can be tapped.

How it works

The server communicates with Android through ADB. When start_session is used and scrcpy is available, input and screenshots use scrcpy's binary control path. The documented performance is approximately 5–10 ms for input and about 33 ms for screenshots, compared with roughly 500 ms for ADB screenshots. Calling stop_session returns supported operations to the ADB path.

The scrcpy-mcp MCP server can start an HTTP MJPEG stream and open an ffplay viewer window. The video tool starts a scrcpy session automatically when necessary. Screen recordings begin on the device and can optionally be pulled to the host when stopped. Session-specific controls include maximum frame size, frame rate, audio capture, keeping the device awake while plugged in, and a temporary screen-off timeout when supported by the installed scrcpy version.

Setup and configuration

Install Node.js 24 or newer and Android Platform Tools, then enable Developer Options and USB debugging on the Android device. Connect it over USB, accept the device's RSA prompt, and verify that adb devices reports state device rather than unauthorized.

Install or run the server with either npx scrcpy-mcp or npm install -g scrcpy-mcp. Add that command to the MCP client's server configuration using the client's standard command-based setup. The README provides configurations for Claude Code, OpenCode, Cursor, Claude Desktop, and VS Code with GitHub Copilot.

scrcpy is optional for basic ADB operation but provides the faster session path. ffmpeg is needed for scrcpy video decoding, and ffplay is needed for the viewer window. A nonstandard scrcpy server location can be supplied with SCRCPY_SERVER_PATH; SCRCPY_SERVER_VERSION is available when automatic version detection fails and must match the installed scrcpy version.

Limitations and notes

The scrcpy-mcp MCP server requires a reachable Android device and working ADB authorization. Rotation, notification-panel, quick-settings, and panel-collapse tools require an active scrcpy session. Video streaming also requires scrcpy and ffplay. If scrcpy is unavailable or stopped, the applicable tools use slower ADB behavior instead.

The listed screen and input tools operate on coordinates, so callers need current screen dimensions or screenshot context. Screen recordings are created on the device and are only copied to the host when requested during the stop operation. The server's documented setup targets Android devices with USB debugging; wireless use is represented by the separate ADB connection tools in the broader tool reference, but the core setup uses USB.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Scrcpy MCP

scrcpy-mcp is an MCP server that connects AI assistants to Android devices through ADB and scrcpy. Its main tools cover screenshots, touch and text input, device and app management, screen recording, video streaming, and UI hierarchy inspection. It uses scrcpy for faster sessions and falls back to ADB when needed.

Install it with `npx scrcpy-mcp` or `npm install -g scrcpy-mcp`. You also need Node.js 24+, Android Platform Tools, and an Android device with USB debugging enabled. After connecting and authorizing the device, add the command to your MCP client's server configuration.

Yes, scrcpy-mcp can be configured in Cursor as a command-based MCP server. Add a server entry that runs `npx scrcpy-mcp`, then ensure ADB can see an authorized Android device. scrcpy is optional, but it enables the faster input and screenshot path.

Without an active scrcpy session, supported operations fall back to ADB. The documented screenshot timing is about 500 ms through ADB versus about 33 ms with scrcpy, and scrcpy also provides the faster input path. Install scrcpy and call `start_session` to use it.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewScrcpy MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/scrcpy-mcp?style=directory)](https://allmcps.com/mcp/scrcpy-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/scrcpy-mcp"><img src="https://allmcps.com/api/badge/scrcpy-mcp?style=directory" alt="Scrcpy MCP on AllMCPs" /></a>