Android设备控制服务

一个通过adb和scrcpy暴露Android设备控制的本地MCP服务器,适用于MCP客户端如Claude Code和Codex CLI。

  • by charettep
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 charettep/scrcpy-mcp

使用说明

scrcpy MCP服务器

通过以下方式公开Android设备控制的本地MCP服务器 adb 和 scrcpy 作为MCP客户端的22个工具,如Claude Code和Codex CLI。

快速开始

一个命令——不需要先决条件(安装程序会处理所有事情):

curl -fsSL https://raw.githubusercontent.com/charettep/scrcpy-mcp/main/install.sh | bash

或者从本地克隆:

git clone https://github.com/charettep/scrcpy-mcp.git && cd scrcpy-mcp
./install.sh

安装程序将:

  1. 检测您的操作系统和包管理器(apt、dnf、pacman、brew)
  2. 将repo下载到 ~/mcp/scrcpy-mcp (如果通过curl运行)
  3. 检查 adb, scrcpy,以及 uv --安装任何缺失的
  4. 找到Python 3.10+并创建一个具有依赖关系的隔离venv
  5. 检测已安装的MCP客户端(Claude Code、Codex CLI)
  6. 询问在哪里注册服务器:
    • 全球 --将config直接注入 ~/.claude.json 和 ~/.codex/config.toml
    • 项目 --生成本地 .mcp.json 文件

重新运行安装程序是安全的——它会更新现有的安装并覆盖旧的配置条目。

先决条件

  • Python 3.10+
  • adb (来自Android SDK平台工具)
  • scrcpy (用于镜像/录制会话)
  • 启用USB调试的Android设备

安装程序会自动处理上述所有操作。

手动安装

如果您不想使用安装程序:

uv venv .venv && uv pip install -r requirements.txt

然后添加到您的项目中 .mcp.json:

{
  "mcpServers": {
    "scrcpy": {
      "command": "/path/to/.venv/bin/python",
      "args": ["/absolute/path/to/scrcpy_mcp.py"],
      "env": {
        "SCRCPY_MCP_ADB_PATH": "/usr/bin/adb",
        "SCRCPY_MCP_SCRCPY_PATH": "/usr/bin/scrcpy"
      }
    }
  }
}

这 env 块是可选的——没有它, adb 和 scrcpy 从PATH解析。

可用工具(22)

设备管理

工具 说明
list_devices 列出已连接设备的状态
device_info 获取型号、Android版本、屏幕分辨率、电池、IP
tcpip_connect 通过无线ADB连接/断开设备

输入注入

工具 说明
tap 点击x、y坐标
swipe 从A点滑动到B点,持续时间
key_event 发送关键事件(返回、主页、电源等)
input_text 在设备上键入文本字符串
long_press 长按坐标

屏幕和显示器

工具 说明
screenshot 捕获屏幕截图并保存在本地
screen_power 打开/关闭/切换屏幕
rotation 获取/设置设备旋转
screen_record 将屏幕录制为mp4文件

应用程序管理

工具 说明
list_apps 列出已安装的软件包
start_app 按程序包名称启动应用程序
stop_app 强制停止应用程序
install_apk 安装APK文件

剪贴板

工具 说明
get_clipboard 读取设备剪贴板
set_clipboard 设置设备剪贴板文本

文件传输

工具 说明
push_file 将本地文件推送到设备
pull_file 从设备中提取文件

Scrcpy会话

工具 说明
start_mirror 使用完整选项启动scrcpy镜像
stop_session 停止正在运行的scrcpy会话

多设备支持

所有工具都接受可选 serial 参数。如果省略,adb将使用唯一连接的设备(如果连接了多个设备,则会失败)。

tap(x=500, y=1000, serial="ABCD1234")

环境变量

变量 目的 默认值
SCRCPY_MCP_ADB_PATH 绝对路径 adb 二进制 adb (来自PATH)
SCRCPY_MCP_SCRCPY_PATH 绝对路径 scrcpy 二进制 scrcpy (来自PATH)

这些由以下人员自动设置 install.sh 通过MCP配置 env 块。

验证

python3 scrcpy_mcp.py  # starts on stdio
python3 -c "from scrcpy_mcp import mcp; print(len(mcp._tool_manager._tools))"  # should print 22