返回市场
ADB MCP 服务器

ADB MCP 服务器

作者:wolfcoming9 星标更新:2025-03-28

项目介绍

Android ADB MCP Server

GitHub GitHub stars GitHub 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秒"
"请录制110秒钟的屏幕视频"
"请收集最近的设备日志"

提示

  • 如果遇到任何问题,请确保ADB服务器已启动(adb start-server
  • 确保你的Android设备已授权你的计算机进行USB调试
  • 某些操作可能需要root权限
  • 如果遇到“权限拒绝”问题,请使用enhanced_start_app高级工具

贡献

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

许可证

MIT © wolfcoming