内容
# adb-mcp
MCP 服务器,允许 Claude 与 Android 设备交互 — 截取屏幕截图、点击按钮、读取 UI 元素、输入文本等。
## 工作原理
```
Claude Code <--> MCP Server (Python, 在主机上)
|
v (通过 WiFi / TCP 的 adb)
Android 设备
```
MCP 服务器在您的机器上运行,并直接调用 adb。Claude 可以看到您的手机屏幕,读取 UI 层次结构以查找元素,并通过点击、滑动和输入与它们交互。设备通过 mDNS 在网络上自动发现。
## 前置条件
- **adb** — `brew install android-platform-tools`(macOS)或 `apt install adb`(Linux)
- **[uv](https://docs.astral.sh/uv/)**(Python 包管理器)
- **Android 设备**,启用无线调试(Android 11+)
## 设置
### 1. 在 Android 设备上启用无线调试
1. 进入 **设置 > 开发者选项**(如需启用开发者选项,请在 **设置 > 关于手机** 中点击 7 次版本号)
2. 启用 **无线调试**
3. 保持此屏幕打开 — 您将需要它来进行配对
### 2. 将 MCP 服务器添加到 Claude Code
将以下内容添加到您的 Claude Code 设置(`~/.claude/settings.json`下的 `mcpServers`),或使用 `/mcp` 对话框:
```json
{
"adb-mcp": {
"command": "uv",
"args": ["run", "--directory", "/path/to/adb-mcp", "adb-mcp"],
"type": "stdio"
}
}
```
### 3. 配对和连接您的设备
**在 macOS 上**,设备通过 mDNS 自动发现 — 无需输入 IP 地址或端口:
1. 在您的手机上,点击 **无线调试屏幕上的配对设备**
2. 告诉 Claude 6 位代码: *"配对我的手机,代码 123456"*
3. 然后: *"连接我的手机"*
**在 Linux 上**,提供无线调试屏幕上显示的 IP 和端口:
1. *"在 192.168.1.100 端口 37123 配对我的手机,代码 123456"*
2. *"在 192.168.1.100 端口 40845 连接我的手机"*
## 工具
| 工具 | 描述 |
|------|-------------|
| `device_pair` | 配对设备进行无线调试(一次性) |
| `device_connect` | 通过 WiFi 连接到设备 |
| `list_devices` | 列出所有连接的设备及其序列号 |
| `set_active_device` | 切换多个设备连接时要针对的设备 |
| `device_status` | 列出连接的设备 |
| `screenshot` | 捕获屏幕(作为图像返回,自动缩放) |
| `ui_tree` | 将 UI 层次结构转储为结构化 JSON |
| `tap` | 点击屏幕坐标 |
| `swipe` | 在两点之间滑动 |
| `input_text` | 在聚焦字段中输入文本 |
| `press_key` | 按下按键(返回、主页、回车等) |
| `launch_app` | 按包名启动应用 |
| `install_app` | 从主机安装 APK 到设备(支持 `reinstall` 标志以保留数据) |
| `read_logs` | 读取 logcat 输出,可选过滤 |
| `shell` | 运行任意 adb shell 命令 |
## 使用示例
连接后,您可以问 Claude:
- *"截取我的手机屏幕截图"*
- *"当前打开哪个应用?"*
- *"打开设置应用"*
- *"点击 Wi-Fi 选项"*
- *"在此屏幕上向下滑动"*
- *"在搜索字段中输入 'hello world'"*
- *"返回主屏幕"*
- *"显示我的应用 com.example.myapp 的最近日志"*
Claude 将使用 `screenshot` 和 `ui_tree` 来查看屏幕,识别元素及其坐标,然后使用 `tap`/`swipe`/`input_text` 进行交互。
## 开发
```bash
git clone https://github.com/janjetze/adb-mcp.git
cd adb-mcp
# 运行服务器
uv run adb-mcp
# 或在虚拟环境中安装以进行开发
uv venv
uv pip install -e .
```
## 许可证
MIT