wolfcoming

Android ADB MCP 服务器

Community wolfcoming
Updated

Android ADB MCP 服务器 - 通过Claude或其他MCP客户端远程控制Android设备

Android ADB MCP 服务器

GitHubGitHub starsGitHub last commit

这是一个基于 MCP 协议的 Android ADB 服务器,允许通过 Claude for Desktop 或其他 MCP 客户端远程控制连接到电脑的 Android 设备。

功能特点

  • 设备管理:列出已连接的 Android 设备
  • 屏幕操作:截图、点击、滑动(上下左右)
  • 输入操作:文本输入、按键模拟
  • 应用管理:安装/卸载应用、启动应用
  • 系统操作:获取屏幕分辨率等设备信息
  • 网络工具:获取网络状态、端口扫描、WIFI管理
  • 文件工具:文件上传/下载、文件管理
  • 高级工具:UI测试、性能分析、录屏、日志收集、增强型启动应用

前提条件

  1. Python 3.10 或更高版本
  2. ADB 已安装并添加到系统路径
  3. Android 设备已启用 USB 调试并连接到电脑

安装

# 克隆此仓库
git clone https://github.com/wolfcoming/adb_mcp_server.git
cd adb_mcp_server

# 安装依赖
pip install -r requirements.txt

# 确保 ADB 服务器已启动
adb start-server

使用方法

在 Claude for Desktop 中配置

  1. 安装 Claude for Desktop
  2. 配置 MCP 服务器:
    • 找到 Claude for Desktop 配置文件,通常在 ~/Library/Application Support/Claude/claude_desktop_config.json
    • 添加以下配置:
{
    "mcpServers": {
        "android_adb": {
            "command": "python",
            "args": [
                "-m",
                "src.adb_server"
            ],
            "cwd": "/path/to/adb_mcp_server"
        }
    }
}
  1. 重启 Claude for Desktop

在 Cursor 中配置

  1. 找到 Cursor 配置文件,通常在 ~/.cursor/mcp.json
  2. 添加以下配置:
{
    "mcpServers": {
        "android_adb": {
            "command": "python",
            "args": [
                "-m",
                "src.adb_server"
            ],
            "cwd": "/path/to/adb_mcp_server"
        }
    }
}
  1. 重启 Cursor

支持的工具

设备管理

  • list_devices: 列出所有连接的 Android 设备

屏幕操作

  • take_screenshot: 截取设备屏幕
  • tap_screen: 点击屏幕上的指定位置
  • swipe_up: 向上滑动
  • swipe_down: 向下滑动
  • swipe_left: 向左滑动
  • swipe_right: 向右滑动

输入操作

  • input_text: 输入文本
  • press_key: 按下指定按键
  • press_back: 按下返回键
  • press_home: 按下 Home 键

应用管理

  • start_app: 启动应用
  • install_apk: 安装APK
  • uninstall_app: 卸载应用

系统操作

  • get_screen_resolution: 获取屏幕分辨率

网络工具

  • get_ip_address: 获取设备IP地址
  • ping: 测试网络连接
  • scan_ports: 扫描指定端口
  • get_wifi_status: 获取WIFI状态
  • connect_wifi: 连接到WIFI网络

文件工具

  • list_files: 列出目录下的文件
  • upload_file: 上传文件到设备
  • download_file: 从设备下载文件
  • create_file: 创建文件
  • delete_file: 删除文件

高级工具

  • dump_ui_hierarchy: 获取界面层次结构
  • run_ui_test: 执行UI测试步骤
  • check_element_exists: 检查界面元素是否存在
  • tap_element_by_text: 点击包含指定文本的UI元素
  • collect_device_logs: 收集设备日志
  • analyze_performance: 分析应用性能
  • take_screen_recording: 录制设备屏幕视频
  • enhanced_start_app: 增强型应用启动功能,可绕过权限限制

示例用法

在 Claude for Desktop 中,可以这样使用:

# 设备相关
"我想查看连接的 Android 设备"
"请截取我的 Android 设备屏幕"

# 应用操作
"请安装这个APK文件: /path/to/app.apk"
"请启动设置应用(com.android.settings)"
"请使用增强型启动功能打开中国新闻网应用,即使遇到权限问题"

# 输入与交互
"请点击屏幕坐标 (500, 500)"
"请在屏幕上从底部向上滑动"
"请点击包含'设置'文本的按钮"

# 文件操作
"请列出设备上 /sdcard/ 目录下的文件"
"请将设备上的 /sdcard/DCIM/pic.jpg 下载到我的电脑"

# 网络操作
"请检查设备的WIFI状态"
"请连接到名为'MyWifi'的网络"

# 高级功能
"请分析'com.example.app'应用的性能,持续30秒"
"请录制10秒钟的屏幕视频"
"请收集最近的设备日志"

提示

  • 如果遇到问题,确保 ADB 服务器已启动 (adb start-server)
  • 确保 Android 设备已授权您的电脑进行 USB 调试
  • 某些操作可能需要 root 权限
  • 如果遇到"Permission Denial"权限问题,请使用enhanced_start_app高级工具

贡献

欢迎提交问题和贡献代码!请随时提交 Pull Request 或创建 Issue。

许可证

MIT © wolfcoming

MCP Server · Populars

MCP Server · New

    skyhook-io

    Radar

    The missing open source Kubernetes UI. Topology, event timeline, and service traffic — plus resource browsing and Helm management.

    Community skyhook-io
    shiquda

    Roadmap Skill

    Shared roadmap for humans and AI Agents. Visual kanban and graph for you, Skills and MCP server for Agents. Support Claude Code, Codex, Cursor, OpenCode and more!

    Community shiquda
    wolfcoming

    Android ADB MCP 服务器

    Android ADB MCP 服务器 - 通过Claude或其他MCP客户端远程控制Android设备

    Community wolfcoming
    akiojin

    Unity MCP Server

    [DEPRECATED] Unity MCP server — successor: akiojin/unity-cli

    Community akiojin
    DeusData

    codebase-memory-mcp

    High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 159 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

    Community DeusData