原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Scrcpy MCP

作者:JuanCF版本 0.5.0i★ –i在你的电脑上运行
注册名称io.github.JuanCF/scrcpy-mcp

安装

概览

作者提供的说明(英文原文)

MCP server for Android device control via ADB and scrcpy

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 其他

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: ANDROID_SERIAL, ADB_PATH, SCRCPY_SERVER_PATH

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "scrcpy": {
      "command": "npx",
      "args": [
        "-y",
        "scrcpy-mcp"
      ],
      "env": {
        "ANDROID_SERIAL": "your-value",
        "ADB_PATH": "your-value",
        "SCRCPY_SERVER_PATH": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add scrcpy --env ANDROID_SERIAL=your-value --env ADB_PATH=your-value --env SCRCPY_SERVER_PATH=your-value -- npx -y scrcpy-mcp

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "scrcpy": {
      "command": "npx",
      "args": [
        "-y",
        "scrcpy-mcp"
      ],
      "env": {
        "ANDROID_SERIAL": "your-value",
        "ADB_PATH": "your-value",
        "SCRCPY_SERVER_PATH": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "scrcpy": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "scrcpy-mcp"
      ],
      "env": {
        "ANDROID_SERIAL": "your-value",
        "ADB_PATH": "your-value",
        "SCRCPY_SERVER_PATH": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • ANDROID_SERIAL env
    Target device serial number (from `adb devices`). Required when multiple devices are connected.
  • ADB_PATH env
    Custom path to the adb binary. Defaults to 'adb' on PATH.
  • SCRCPY_SERVER_PATH env
    Path to the scrcpy-server.jar file. Only needed if not installed in a standard location.

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 JuanCF 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 32661 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 32661 个服务器的 29% 更新
  • 基础检查结果等于或优于此分类中其他 32661 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Scrcpy MCP 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.5.0)于3个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, Claude Checkpoint MCP

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

在云端运行★ 211前天更新
安装

Claude Checkpoint MCP

作者:daniel-munoz

MCP server that checkpoints Claude Code session context to survive crashes and token limits

在你的电脑上运行今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

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

  • 44 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 start_audio_stream/audio_record_start and the video stream require scrcpy)
  • Image-returning screenshots: the AI actually sees the screen, not just a file path
  • UI element finding: ui_find_element returns tap coordinates so the AI can act on what it sees
  • Audio streaming & recording: stream device audio to host speakers (start_audio_stream) or capture to .wav/.opus (audio_record_start)
  • Clipboard that works on Android 10+: scrcpy bypasses the restrictions that break ADB-only solutions

Prerequisites

Required
RequirementInstallVerify
Node.js 24+nodejs.org or nvm install (uses .nvmrc)node --version
ADB (Android Platform Tools)developer.android.com/tools/releases/platform-toolsadb version
Android device with USB debugging (Android 11+ for audio)Settings → Developer Options → USB Debuggingadb devices
Optional (for enhanced performance)
RequirementInstallBenefit
scrcpygithub.com/Genymobile/scrcpy10-50x faster input, ~33ms screenshots
ffmpegapt install ffmpeg / brew install ffmpegRequired for scrcpy video stream decoding, audio recording, and audio clip capture
ffplayUsually packaged with ffmpegRequired for audio playback and the MJPEG viewer window
Device setup
  1. Enable Developer Options: Settings → About Phone → tap "Build Number" 7 times
  2. Enable USB Debugging: Settings → Developer Options → USB Debugging
  3. Connect device via USB
  4. Accept the RSA fingerprint prompt on the device
  5. 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-mcp

MCP Client Configuration

Claude Code
claude mcp add android -- npx scrcpy-mcp

Or 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/claude_desktop_config.json (Linux) or %APPDATA%\Claude\claude_desktop_config.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

If you need to configure custom options (such as pointing to a non-standard scrcpy-server path), you can add the "env" object to your server configuration. For example:

{

"mcpServers": { "android": { "command": "npx", "args": ["scrcpy-mcp"], "env": { "SCRCPY_SERVER_PATH": "C:\\path\\to\\scrcpy-server" } } } }

*Note: only set SCRCPY_SERVER_VERSION if version auto-detection fails — it overrides detection, so a stale value causes the version mismatch described in Troubleshooting. Match it to your installed scrcpy (scrcpy --version).*

*Note: On Windows, remember to double-escape backslashes (\\) in your configuration paths.*

OpenCode users: OpenCode uses "environment" instead of "env" for passing environment variables to MCP servers. Replace "env" with "environment" in the example above if you're configuring scrcpy-mcp in opencode.json.

Tool Reference

Session Management
ToolDescription
start_sessionStart a scrcpy session. When active, input and screenshots use the fast path (10-50x faster).
stop_sessionStop the scrcpy session. Tools fall back to ADB.
versionReport which scrcpy-server version the session pushes and where that version was resolved from.

start_session options:

OptionDefaultDescription
maxSize1024Max video frame dimension in pixels
maxFps30Max frames per second
audiofalseCapture audio (see the heads-up below)
audioSourceoutputAudio source (output, playback, mic, voice-call, …)
audioDupfalseKeep device playback audible with audioSource: "playback" (Android 13+)
stayAwakefalseKeep the device on for the whole session (scrcpy --stay-awake). Applies only while the device is plugged in.
screenOffTimeout(device setting)Screen-off timeout in seconds for the whole session (scrcpy --screen-off-timeout). Works on battery too. Needs scrcpy 2.5+.

Both screen-awake options are temporary: scrcpy restores the device's original values when the session ends, including when a tool restarts the session to turn audio on.

Video Streaming
ToolDescription
start_video_streamStart an HTTP MJPEG video stream and open a viewer window (ffplay). Auto-starts a scrcpy session if needed.
stop_video_streamStop the video stream and close the viewer window.
Audio Streaming & Recording

Heads up: Audio capture is opt-in and requires Android 11+. The default source output uses REMOTE_SUBMIX, which mutes the device's own speakers while capturing — the audio is moved to the host, not copied. Use audioSource: "playback" with audioDup: true (Android 13+) to keep the device audible. Recordings are saved on the host filesystem.

ToolDescription
start_audio_streamStream device audio to the host's speakers via ffplay. Restarts the scrcpy session if it was started without audio.
stop_audio_streamStop streaming audio to the host.
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).
audio_record_stopStop the recording and finalise the host-side file.
audio_captureCapture a bounded clip of device audio and return it as an audio content block. Restarts the scrcpy session if needed. durationSeconds defaults to 5 (integer, max 30; a 5s default becomes 2.5s when ffmpeg has no libopus and the WAV fallback is used). audioSource/audioDup default to the running audio session's settings, so a clip can be taken during a recording or stream without interrupting it.
Device Management
ToolDescription
device_listList all connected devices with serial, state, and model
device_infoGet model, Android version, screen size, SDK level, battery
screen_onWake the device screen
screen_offTurn the screen off
rotate_deviceRotate the screen (requires active session)
expand_notificationsPull down the notification panel (requires active session)
expand_settingsPull down the quick settings panel (requires active session)
collapse_panelsCollapse notification/settings panels (requires active session)
connect_wifiEnable WiFi ADB and connect to the device wirelessly. Returns the connection address.
disconnect_wifiDisconnect from a wireless ADB device
Vision
ToolDescription
screenshotCapture the screen and return it as an image. ~33ms with scrcpy, ~500ms via ADB.
screen_record_startStart recording the screen to a file on the device
screen_record_stopStop recording and optionally pull the file to the host
Input Control

All input tools use scrcpy (~5-10ms) when a session is active, otherwise fall back to ADB (~100-300ms).

ToolDescription
tapTap at screen coordinates
swipeSwipe from one point to another
long_pressLong press at coordinates
drag_dropDrag from one point to another
input_textType a text string into the focused field
key_eventSend a key event: HOME, BACK, ENTER, VOLUME_UP, VOLUME_DOWN, POWER, etc.
scrollScroll at a position (dx=horizontal, dy=vertical)
App Management
ToolDescription
app_startLaunch an app by package name. Prefix with + to force-stop before launch.
app_stopForce-stop an app
app_installInstall an APK from the host machine
app_uninstallUninstall an app
app_listList installed packages, optionally filter by name or system/third-party
app_currentGet the current foreground app and activity
UI Automation
ToolDescription
ui_dumpDump the full UI hierarchy as XML
ui_find_elementFind elements by text, resource ID, class name, or content description. Returns tap coordinates.
Shell & Files
ToolDescription
shell_execExecute an arbitrary ADB shell command and return the output
file_pushPush a file from the host machine to the device
file_pullPull a file from the device to the host machine
file_listList directory contents on the device
Clipboard
ToolDescription
clipboard_getGet clipboard content. Uses scrcpy to bypass Android 10+ restrictions.
clipboard_setSet clipboard content. Pass paste: true to also paste immediately.

Performance

Operationscrcpy (session active)ADB fallback
Screenshot~33ms~500ms
Tap / Swipe~5-10ms~100-300ms
Text input~5ms~100-300ms
Clipboard~10msunreliable on Android 10+

Start a session once at the beginning to unlock the fast path:

start_session → take screenshots → tap → swipe → ...

Environment Variables

VariableDefaultDescription
ADB_PATHadbPath to the ADB binary
ANDROID_SERIAL(none)Default device serial, overrides auto-detection
SCRCPY_SERVER_PATH(auto)Path to the scrcpy-server binary
SCRCPY_SERVER_VERSION(auto)Version of the scrcpy-server binary
FFMPEG_PATHffmpegPath to the ffmpeg binary
FFPLAY_PATHffplayPath to the ffplay binary (video stream viewer and audio playback)

When only one device is connected, tools auto-detect it. With multiple devices, pass the serial parameter explicitly or set ANDROID_SERIAL.

Troubleshooting

`adb devices` shows `unauthorized` Accept the RSA fingerprint prompt on the device. If the prompt doesn't appear, revoke USB debugging authorizations in Developer

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx