返回市场
MCP服务器ADB

MCP服务器ADB

作者:watabee6 星标更新:2025-02-26

项目介绍

ADB MCP 服务器

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

工具

  1. get-devices

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

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

    • 向设备输入文本
    • 必要输入:
      • text (字符串):要输入的文本
    • 返回:文本输入确认
  4. install-apk

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

    • 卸载应用程序
    • 必要输入:
      • packageName (字符串):要卸载的包名
    • 可选输入:
      • keepData (布尔值,默认:false):保留应用数据和缓存 (-k)
    • 返回:卸载结果
  6. clear-app-data

    • 清除应用数据
    • 必要输入:
      • packageName (字符串):要清除数据的包名
    • 返回:操作结果
  7. pull

    • 从设备拉取文件
    • 必要输入:
      • remotePath (字符串):设备上的文件路径
    • 可选输入:
      • localPath (字符串):本地目标路径
    • 返回:文件传输结果
  8. push

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

    • 捕获屏幕截图
    • 必要输入:
      • remotePath (字符串):保存截图的设备路径(例如,/sdcard/screenshot.png)
    • 可选输入:
      • usePng (布尔值,默认:true):保存为PNG格式 (-p)
    • 返回:屏幕截图捕获结果
  10. rm

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

    • 重置应用的所有权限
    • 必要输入:
      • packageName (字符串):目标包名
    • 返回:权限重置结果
  12. grant-permission

    • 授予特定权限
    • 必要输入:
      • packageName (字符串):目标包名
      • permission (字符串):要授予的权限
    • 返回:权限授予结果
  13. revoke-permission

    • 撤销特定权限
    • 必要输入:
      • packageName (字符串):目标包名
      • permission (字符串):要撤销的权限
    • 返回:权限撤销结果
  14. start-activity

    • 使用am start启动活动
    • 可选输入:
      • component (字符串):组件名称
      • action (字符串):意图动作
      • data (字符串):意图数据URI
      • mimeType (字符串):MIME类型
      • category (字符串数组):意图类别
      • extras (数组):意图额外信息
      • flags (字符串数组):意图标志
      • 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调试

安装服务器

# 克隆仓库
git clone [repository-url]
cd mcp-server-adb

# 安装依赖
npm install

# 构建项目
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许可证发布 - 查看LICENSE文件获取详细信息。