Token导航 LogoToken导航TokenDH.com
Enhanced ADB MCP Server logo
开发工具stdio官方级别未说明来源级核验

Enhanced ADB MCP Server

MCP Server

一个通过ADB控制Android设备的MCP服务器,专为Flutter开发、UI测试和视觉质量保证工作流设计。

工具数

72

提示词数

0

GitHub Stars

0

资源数

0
设备管理PythonClaude自动化测试Claude DesktopClaudeCursorVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

rahulkr

提供方

rahulkr

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install r-adb-mcp-server

详细介绍

用于Flutter/Android开发的增强型ADB MCP服务器

](https://badge.fury.io/py/r-adb-mcp-server) ![Python 3.10+](https://www.python.org/downloads/) ![License: MIT](https://opensource.org/licenses/MIT)

一个全面的MCP服务器,用于通过ADB控制Android设备,专为Flutter开发、UI测试和可视化QA工作流程而设计。

快速开始

# Install from PyPI
pip install r-adb-mcp-server

# Or run directly with uvx (no installation needed)
uvx r-adb-mcp-server

注: 包名和命令都是 r-adb-mcp-server.

然后添加到您的MCP客户端配置(Claude Desktop、Cursor等)-请参阅 配置 下面的部分。

特性

📱 设备管理

  • 列出连接的设备及其详细信息
  • 获取全面的设备信息(型号、Android版本、电池等)
  • 带有DP计算的屏幕规格

📸 视觉捕捉

  • 截图(base64或文件)
  • 带启动/停止控制的屏幕录制
  • 使用元数据捕获以进行Figma比较

🔍 UI检查

  • 完整UI层次结构转储(XML)
  • 按文本或资源ID查找元素
  • 获取所有带有坐标的可点击元素
  • 提取所有可见文本进行验证

🎯 输入与交互

  • 轻击、双击、长按
  • 滑动和滚动(向上/向下/到文本)
  • 文本输入和清除
  • 关键事件(主页、后退、回车等)
  • 按文本或ID点击元素

📦 应用管理

  • 启动/停止/清除应用程序
  • 安装/卸载APK
  • 列出具有过滤功能的包
  • 获取当前活动
  • 应用程序信息(版本、安装日期等)

🐛 调试和日志

  • 带过滤的Logcat(标签、级别、包)
  • Flutter特定日志
  • 崩溃日志提取
  • ANR痕迹

⚡ 性能分析

  • 每个应用程序的内存使用情况
  • CPU监控
  • GPU渲染信息
  • 用于检测jank的帧统计信息
  • 电池统计

🌐 网络控制

  • 网络信息(WiFi状态、IP)
  • 切换WiFi/飞行模式
  • 设置/清除HTTP代理

⚙️ 开发人员选项

  • 动画比例(加速测试)
  • 显示轻击(用于录制)
  • 显示布局边界
  • 屏幕旋转控制
  • 更改分辨率/密度

♿ 可访问性测试

  • 字体比例调整
  • TalkBack切换
  • 高对比度模式
  • 颜色反转

📍 仿真器功能

  • GPS位置欺骗
  • 模拟短信/通话

先决条件

  1. ADB已安装 在你的路径中
   adb version
  1. 安卓设备/模拟器 已启用USB调试连接
   adb devices
  1. Python 3.10+ 并且可选 uv 用于跑步 uvx

安装 uv (可选,用于 uvx 命令):

   # macOS/Linux
   curl -LsSf https://astral.sh/uv/install.sh | sh

   # Or with Homebrew (macOS)
   brew install uv

   # Or with pip
   pip install uv

安装

来自PyPI(推荐)

# Install globally with pip
pip install r-adb-mcp-server

# Or use with uvx (no installation needed)
uvx r-adb-mcp-server

来源

cd adb-mcp-server

# Using uv (recommended)
uv sync

# Or using pip
pip install -e .

配置

克劳德桌面版

使用已安装的软件包(推荐):

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "adb": {
      "command": "uvx",
      "args": ["r-adb-mcp-server"]
    }
  }
}

或者,如果安装了pip:

{
  "mcpServers": {
    "adb": {
      "command": "r-adb-mcp-server"
    }
  }
}

使用来源:

{
  "mcpServers": {
    "adb": {
      "command": "uv",
      "args": ["--directory", "/path/to/adb-mcp-server", "run", "python", "src/adb_mcp_server/server.py"]
    }
  }
}

光标IDE

添加到 .cursor/mcp.json:

使用已安装的软件包(推荐):

{
  "mcpServers": {
    "adb": {
      "command": "uvx",
      "args": ["r-adb-mcp-server"]
    }
  }
}

使用来源:

{
  "mcpServers": {
    "adb": {
      "command": "uv",
      "args": ["--directory", "/path/to/adb-mcp-server", "run", "python", "src/adb_mcp_server/server.py"]
    }
  }
}

克劳德代码

使用已安装的软件包(推荐):

claude mcp add adb -- uvx r-adb-mcp-server

使用来源:

claude mcp add adb -- uv --directory /path/to/adb-mcp-server run python src/adb_mcp_server/server.py

GitHub Copilot

使用已安装的软件包(推荐):

添加到您的VS代码设置(.vscode/settings.json 或用户设置):

{
  "github.copilot.chat.mcp.servers": {
    "adb": {
      "command": "uvx",
      "args": ["r-adb-mcp-server"]
    }
  }
}

或者,如果安装了pip:

{
  "github.copilot.chat.mcp.servers": {
    "adb": {
      "command": "r-adb-mcp-server"
    }
  }
}

使用来源:

{
  "github.copilot.chat.mcp.servers": {
    "adb": {
      "command": "uv",
      "args": ["--directory", "/path/to/adb-mcp-server", "run", "python", "src/adb_mcp_server/server.py"]
    }
  }
}

注: 确保您安装了GitHub Copilot Chat扩展,并在VS Code中启用了MCP支持。

可用工具(60+)

设备管理

工具说明
list_devices()列出所有连接的设备
get_device_info()全面的设备详细信息
get_screen_specs()屏幕尺寸、密度、DP值

视觉捕捉

工具说明
screenshot()以base64 PNG格式捕获
screenshot_to_file(filename)将屏幕截图保存到文件
start_screen_record(duration, filename)开始录制(最长180秒)
stop_screen_record()停止录制
pull_recordings(local_dir)下载录音
capture_screen_for_comparison(name)带有元数据的屏幕截图

UI检查

工具说明
get_ui_hierarchy()XML格式的完整UI树
get_clickable_elements()所有具有坐标的可点击元素
find_element_by_text(text)按文本内容查找
find_element_by_id(resource_id)按资源ID查找
get_all_text_on_screen()提取所有可见文本

输入与交互

工具说明
tap(x, y)点击坐标
tap_element(text, resource_id)按元素标识符点击
double_tap(x, y)双击
long_press(x, y, duration)长按
swipe(x1, y1, x2, y2, duration)滑动手势
scroll_down() / scroll_up()滚动屏幕
scroll_to_text(text)滚动直到文本可见
input_text(text)键入文本
clear_text_field(length)清除当前字段
press_key(keycode)按任意键
press_back() / press_home()导航按钮

应用管理

工具说明
get_current_activity()当前前台应用程序
launch_app(package)按包名启动
launch_activity(package, activity)启动特定活动
force_stop_app(package)强制停止应用程序
clear_app_data(package)清除应用程序数据
list_packages(filter, include_system)列出已安装的应用程序
get_app_info(package)应用程序详细信息
install_apk(path)安装APK
uninstall_app(package)卸载应用程序

调试和日志

工具说明
get_logcat(lines, filter_tag, level)获取日志
clear_logcat()清除日志缓冲区
get_flutter_logs(lines)Flutter特定日志
get_crash_logs(package)崩溃/异常日志
get_anr_traces()ANR痕迹

演出

工具说明
get_memory_info(package)内存使用情况
get_cpu_info()CPU使用率
get_battery_stats()电池详细信息
get_gpu_info()GPU渲染信息
get_frame_stats(package)帧定时统计

网络

工具说明
get_network_info()WiFi状态、IP
toggle_wifi(enable)启用/禁用WiFi
toggle_airplane_mode(enable)切换飞行模式
set_proxy(host, port)设置HTTP代理
clear_proxy()清除代理

开发人员选项

工具说明
toggle_show_taps(enable)视觉点击反馈
toggle_show_layout_bounds(enable)显示布局边界
set_animation_scale(scale)动画速度(0-1)
rotate_screen(orientation)肖像/风景/汽车
change_screen_size(w, h)覆盖分辨率
reset_screen_size()重置为默认值
change_density(dpi)覆盖DPI
reset_density()重置为默认值

无障碍

工具说明
set_font_scale(scale)系统字体大小
toggle_talkback(enable)屏幕阅读器
toggle_high_contrast(enable)高对比度文本
toggle_color_inversion(enable)反转颜色

文件和外壳

工具说明
push_file(local, remote)复制到设备
pull_file(remote, local)从设备复制
list_files(path)列表目录
read_file(path)读取文本文件
shell_command(cmd)运行任何shell命令
reboot_device(mode)重新启动设备

仅限模拟器

工具说明
set_location(lat, lng)虚假GPS定位
send_sms(number, message)模拟短信
simulate_call(number)模拟来电

示例提示

基本用法

  • “截取我手机的屏幕截图”
  • “当前的屏幕分辨率和密度是多少?”
  • “列出所有已安装的包含'flutter'的应用程序”
  • “当前屏幕上显示什么?获取所有文本”

用户界面测试

  • “找到登录按钮并点击它”
  • “向下滚动,直到找到‘设置’”
  • “获取所有可点击元素及其位置”
  • “类型”test@email.com'进入当前领域”

调试

  • “显示最后50个Flutter日志”
  • “我的应用程序有崩溃日志吗?”
  • “com.myapp的内存使用情况如何?”

视觉质量保证

  • “捕获此屏幕以与Figma进行比较”
  • “截图并告诉我UI结构”
  • “将字体比例设置为1.3,并截图进行可访问性测试”

性能测试

  • “将动画比例设置为0并运行应用程序”
  • “获取我的应用程序的帧统计数据-有什么问题吗?”
  • “GPU渲染性能如何?”

设备仿真

  • “将屏幕更改为1080x1920以模拟较小的手机”
  • “旋转到横向模式”
  • “将位置设置为旧金山(37.7749,-122.4194)”

延伸

轻松添加新工具:

@mcp.tool()
def my_custom_tool(param: str, device_serial: str | None = None) -> str:
    """Description shown to AI"""
    return run_adb(["shell", "your-command", param], device_serial)

Flutter开发技巧

  1. 加快测试速度:使用 set_animation_scale(0) 禁用动画
  2. 视觉质量保证:使用 capture_screen_for_comparison() 使用Figma MCP
  3. 调试日志: get_flutter_logs() 过滤器Flutter特定输出
  4. 热重载:保持 flutter run 终端打开,使用设备进行交互
  5. 响应式测试:使用 change_screen_size()change_density()

许可证

麻省理工学院

目录标签

目录标签

设备管理PythonClaude自动化测试ADB控制本地部署Flutter开发UI测试

支持客户端

Claude DesktopClaudeCursorVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

72

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP