mcpField
A
Android ADB MCP Server

Android ADB MCP Server

本地服务
github.com/landicefu开发工具386 天前更新

关于 Android ADB MCP Server

Android ADB MCP Server 是一个 MCP 服务,让 AI 助手通过 Android Debug Bridge(ADB)管理和操作 Android 设备。它面向 Android 开发与测试人员,可自动执行安装应用、传输文件、截图等操作。

主要功能

  1. 01列出并管理多台已连接的设备
  2. 02执行 shell 命令与安装、卸载应用
  3. 03推送和拉取设备文件
  4. 04启动应用并截图保存或复制到剪贴板

适用场景

  1. 01通过 AI 助手自动安装 APK 进行测试
  2. 02批量获取设备上的截图与文件
  3. 03自动化 Android 应用的启动与调试操作

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 adb_devices、adb_shell、adb_install、adb_push 等 ADB 相关工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"android-adb": {
"command": "npx",
"args": [
"-y",
"@landicefu/android-adb-mcp-server"
]
}
}
}
启动命令npx -y @landicefu/android-adb-mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@landicefu/android-adb-mcp-server

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Android ADB MCP 服务

一个模型上下文协议(MCP)服务,可让 AI 助手通过 Android Debug Bridge(ADB)与 Android 设备交互。此服务打通了 AI 能力与 Android 设备管理之间的隔阂,可无缝自动化 Android 开发和测试操作。

⚙️ 快速设置

将服务添加到 MCP 配置文件中:

{
  "mcpServers": {
    "android-adb": {
      "command": "npx",
      "args": ["-y", "@landicefu/android-adb-mcp-server"],
      "env": {},
      "disabled": false,
      "alwaysAllow": []
    }
  }
}
配置文件位置
  • Claude Desktop:~/Library/Application Support/Claude/claude_desktop_config.json(macOS)
  • Cline/Roo Code:~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json(macOS)
  • 对于 Windows/Linux,请查找相应的应用程序支持目录

完成配置后,重启 AI 助手以加载新的服务配置。

📋 前置条件

  • 必须安装 ADB(Android Debug Bridge),且可在系统 PATH 中使用
  • 剪贴板功能所需工具:
    • macOS:osascript(内置)
    • Windows:PowerShell(内置)
    • Linux:xclip(通过 apt-get install xclip 或相应命令安装)
  • Node.js 16.x 或更高版本

🚀 功能

  • 连接和管理多台 Android 设备
  • 在 Android 设备上执行 shell 命令
  • 安装和卸载应用
  • 在本地系统和 Android 设备之间推送和拉取文件
  • 在 Android 设备上启动应用
  • 截取屏幕并保存到本地或复制到剪贴板
  • 连接多台设备时智能选择设备

🛠️ 可用工具

工具描述必需参数可选参数
adb_devices列出已连接的设备无无
adb_shell执行 shell 命令commanddevice_id
adb_install安装 APK 文件pathdevice_id
adb_uninstall卸载应用package_namedevice_id
adb_list_packages列出已安装的软件包无device_id、filter
adb_pull从设备拉取文件remote_path、local_pathdevice_id
adb_push将文件推送到设备local_path、remote_pathdevice_id
launch_app启动应用package_namedevice_id
take_screenshot_and_save截取屏幕并保存output_pathdevice_id、format
take_screenshot_and_copy_to_clipboard截取屏幕并复制到剪贴板无device_id、format
设备管理

此服务会智能处理设备选择:

  • 如果只连接了一台设备,将自动使用该设备
  • 如果连接了多台设备,必须指定 device_id 参数
  • 如果没有连接设备,将返回错误
截图路径解析

指定用于保存截图的 output_path 时,将按以下规则解析路径:

  • 绝对路径保持不变
  • 以 ~ 开头的路径将展开为用户的主目录
  • 相对路径将相对于用户的主目录解析

这样可以确保截图保存到 MCP 服务具有写入权限的位置。

🔍 故障排除

常见问题
  1. “ADB is not available”错误

    • 确保已安装 ADB,且其位于系统 PATH 中
    • 在终端中运行 adb version 进行验证
  2. “No Android devices connected”错误

    • 使用 adb devices 检查设备是否已正确连接
    • 确保设备已启用 USB 调试
    • 尝试依次运行 adb kill-server 和 adb start-server 重启 ADB
  3. “Multiple devices connected”错误

    • 在工具调用中指定 device_id 参数
    • 使用 adb_devices 工具获取可用设备列表
  4. 无法将截图复制到剪贴板

    • 确保已安装所需的平台专用工具

🔧 其他安装方式

选项 1:从 npm 安装
# Install globally
npm install -g @landicefu/android-adb-mcp-server

# Or install locally in your project
npm install @landicefu/android-adb-mcp-server
选项 2:从源代码手动安装
  1. 克隆仓库:

    git clone https://github.com/landicefu/android-adb-mcp-server.git
    cd android-adb-mcp-server
    
  2. 安装依赖并构建:

    npm install
    npm run build
    
  3. 使用直接路径进行配置:

    {
      "mcpServers": {
        "android-adb": {
          "command": "node",
          "args": ["/path/to/android-adb-mcp-server/build/index.js"],
          "env": {},
          "disabled": false,
          "alwaysAllow": []
        }
      }
    }
    

📄 许可证

本项目采用 ISC 许可证授权,详情请参阅 LICENSE 文件。

🤝 参与贡献

欢迎贡献!请随时提交 Pull Request。

  1. Fork 仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交更改(git commit -m 'Add some amazing feature')
  4. 将分支推送到远程仓库(git push origin feature/amazing-feature)
  5. 发起 Pull Request

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。