ADB设备管理服务

ADB MCP Server是一个通过Android Debug Bridge (ADB)与Android设备交互的服务,提供设备管理、应用安装卸载、文件传输等功能。

  • by watabee
  • TypeScript
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 watabee/mcp-server-adb

使用说明

ADB MCP服务器

用于Android调试桥(ADB)的MCP服务器,使Claude能够与Android设备交互。

工具

  1. get-devices

    • 列出已连接的Android设备
    • 可选输入:
      • showDetails (布尔值,默认值:true):显示设备详细信息(-l)
    • 返回:已连接设备及其详细信息的列表
  2. list-packages

    • 列出设备上已安装的软件包
    • 可选输入:
      • showPath (布尔值,默认值:false):显示APK文件路径(-f)
      • showDisabled (boolean,默认值:false):仅显示禁用的包(-d)
      • showEnabled (boolean,默认值:false):仅显示已启用的包(-e)
      • showSystem (boolean,默认值:false):仅显示系统包(-s)
      • showThirdParty (boolean,默认值:false):仅显示第三方包(-3)
      • showInstaller (boolean,默认值:false):显示包安装程序(-i)
      • includeUninstalled (boolean,默认值:false):包括未安装的软件包(-u)
    • 返回:基于指定筛选器的包列表
  3. input-text

    • 向设备输入文本
    • 所需输入:
      • text (string):要输入的文本
    • 返回:文本输入确认
  4. install-apk

    • 在设备上安装APK文件
    • 所需输入:
      • apkPath (string):APK文件的路径
    • 可选输入:
      • allowReinstall (boolean,默认值:true):允许重新安装(-r)
      • allowTestPackages (boolean,默认值:true):允许测试包(-t)
      • allowDowngrade (布尔值,默认值:true):允许降级(-d)
      • grantPermissions (布尔值,默认值:false):授予所有权限(-g)
    • 返回:安装结果
  5. uninstall-apk

    • 卸载应用程序
    • 所需输入:
      • packageName (string):要卸载的包名称
    • 可选输入:
      • keepData (boolean,默认值:false):保留应用程序数据和缓存(-k)
    • 返回:卸载结果
  6. clear-app-data

    • 清除应用程序数据
    • 所需输入:
      • packageName (string):要清除数据的包名称
    • 返回:运算结果
  7. pull

    • 从设备中提取文件
    • 所需输入:
      • remotePath (string):设备上文件的路径
    • 可选输入:
      • localPath (string):本地目标路径
    • 返回:文件传输结果
  8. push

    • 将文件推送到设备
    • 所需输入:
      • localPath (string):本地文件的路径
      • remotePath (string):设备上的目标路径
    • 返回:文件传输结果
  9. screencap

    • 截图
    • 所需输入:
      • remotePath (string):设备上保存屏幕截图的路径(例如/sdcard/screscent.png)
    • 可选输入:
      • usePng (布尔值,默认值:true):另存为PNG(-p)
    • 返回:截图捕获结果
  10. rm

    • 从Android设备中删除文件
    • 所需输入:
      • path (string):设备上要删除的文件的路径
    • 可选输入:
      • force (布尔值,默认值:false):强制删除(-f)
      • recursive (boolean,默认值:false):递归删除(-r)
    • 返回:文件删除结果
  11. reset-permissions

    • 重置应用程序的所有权限
    • 所需输入:
      • packageName (string):目标包名称
    • 返回:权限重置结果
  12. grant-permission

    • 授予特定权限
    • 所需输入:
      • packageName (string):目标包名称
      • permission (string):授予权限
    • 返回:权限授予结果
  13. revoke-permission

    • 撤销特定权限
    • 所需输入:
      • packageName (string):目标包名称
      • permission (string):撤销权限
    • 返回:权限撤销结果
  14. start-activity

    • 使用am Start启动活动
    • 可选输入:
      • component (string):组件名称
      • action (string):意图动作
      • data (string):意图数据URI
      • mimeType (string):MIME类型
      • category (string[]):意图类别
      • extras (array):意图附加
      • flags (string[]):意图标志
      • waitForLaunch (布尔值,默认值:false):等待启动(-W)
      • debuggable (布尔值,默认值:false):调试模式(-D)
      • stopApp (布尔值,默认值:false):强制停止应用程序(-S)
    • 返回:活动开始结果
  15. kill-server

    • 终止ADB服务器进程
    • 无需输入
    • 返回:成功消息或错误
  16. start-server

    • 启动ADB服务器进程
    • 无需输入
    • 返回:成功消息或错误
  17. help

    • 显示ADB帮助信息
    • 无需输入
    • 返回:ADB帮助文本

所有工具都支持这些设备选择参数:

  • deviceId (字符串,可选):按ID定位特定设备
  • useUsb (布尔值,默认值:false):目标USB设备(-d)
  • useEmulator (布尔值,默认值:false):目标模拟器(-e)

设置

  1. 安装ADB:

    • 下载Android SDK平台工具
    • 将ADB添加到系统PATH
    • 通过以下方式验证安装 adb version
  2. 启用USB调试:

    • 在Android设备上,前往“设置”>“关于手机”
    • 点击内部版本号7次以启用开发人员选项
    • 在开发人员选项中启用USB调试

安装服务器

# Clone the repository
git clone [repository-url]
cd mcp-server-adb

# Install dependencies
npm install

# Build the project
npm run build

使用Claude Desktop

将以下内容添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "adb": {
      "command": "node",
      "args": [
        "-y",
        "/path/to/mcp-server-adb/build/index.js",
        "/path/to/adb"
      ]
    }
  }
}

将/path/to/adb替换为adb可执行文件的实际路径。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。