---
slug: "androidmcpserver"
source_type: "readme"
source_url: "https://cdn.jsdelivr.net/gh/jiantao88/android-mcp-server@main/README.md"
repo: "https://github.com/jiantao88/android-mcp-server"
source_file: "README.md"
branch: "main"
---
# ADB MCP 服务器

这是一个用于 Android Debug Bridge (ADB) 的 MCP 服务器，使 Claude 能够与 Android 设备进行交互。

## 技术文章

- [从 0 到 1 开发一个 Android MCP 服务：理解 MCP 协议与 ADB 集成](https://juejin.cn/post/7480747396454563874)

## 工具列表

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` (字符串): 要授予的权限

## 设置说明

1. 安装 ADB:

   - 下载 Android SDK Platform Tools
   - 将 ADB 添加到系统环境变量
   - 使用 `adb version` 验证安装

2. 启用 USB 调试:
   - 在 Android 设备上，进入设置 > 关于手机
   - 点击版本号 7 次以启用开发者选项
   - 在开发者选项中启用 USB 调试

### 安装服务器

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

# 安装依赖
npm install

# 构建项目
npm run build
```

### 在 Claude Desktop 中使用

在你的 `claude_desktop_config.json` 中添加以下内容：

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

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

### 在 Windsurf 中使用

1. 首先确保已经安装了 Node.js 和 ADB

2. 克隆并构建项目：

   ```shell
   git clone https://github.com/jiantao88/android-mcp-server.git
   cd android-mcp-server
   npm install
   npm run build
   ```

   或者直接使用已经克隆的项目：

   ```shell
   cd /path/to/android-mcp-server
   npm install
   npm run build
   ```

3. 在 Windsurf 的设置中添加 MCP 配置：

   ```json
   {
     "mcpServers": {
       "adb": {
         "command": "node",
         "args": [
           "/path/to/android-mcp-server/build/index.js",
           "/usr/local/bin/adb"
         ]
       }
     }
   }
   ```

   注意：

   - 将路径中的路径替换为你的实际路径
   - `/usr/local/bin/adb` 是 ADB 的默认安装路径，如果你的 ADB 安装在其他位置，请相应修改
   - 确保所有路径都使用绝对路径

4. 重启 Windsurf 使配置生效

## 许可证

本项目采用 MIT 许可证 - 详见 [LICENSE](https://github.com/jiantao88/android-mcp-server/tree/HEAD/LICENSE) 文件。
