
通过ADB进行Android模拟器交互的MCP服务器——使AI助手能够控制Android设备
概览
一个模型上下文协议(MCP)服务器,使像Claude这样的AI助手能够通过ADB(安卓调试桥)与Android设备和模拟器交互。 - : 以base64图像捕获设备屏幕 - : 获取UI层级(类似DOM,但适用于Android) - : 点击、滑动、滚动、捏合缩放、多重点击手势 - : 输入、清除、全部选择、设置输入字段文本 - : 按返回、主页、回车、回车、音量等 - : 启动、安装、强制停止、清除数据 - : 获取和设置剪贴板内容 - : 旋转屏幕,获取设备信息 - : 访问带有过滤器和日志级别的logcat - : 等待元素、UI稳定性、测试断言 - : 点击避免系统条,元素边界检测 - 节点。
概述(AI 翻译)
一个模型上下文协议(MCP)服务器,使像Claude这样的AI助手能够通过ADB(安卓调试桥)与Android设备和模拟器交互。
特色
- 截图:将设备屏幕捕获为base64图像
- UI 检查:获取 UI 层级结构(类似 DOM,但适用于 Android)
- 触控输入:轻触、滑动、滚动、捏合缩放、多重点击手势
- 文本输入:输入、清除、全部选择、设置输入字段中的文本
- 系统按键:按返回、主页、回车、音量等。
- 应用管理:启动、安装、强制停止、清除数据
- 剪贴板:获取和设置剪贴板内容
- 设备控制:旋转屏幕,获取设备信息
- 日志:访问带有过滤器和日志级别的logcat
- 等待与断言:等待元素、UI 稳定性、测试断言
- 安全交互:轻触避免系统条,元素边界检测
要求
- Node.js 18+
- 安装了 ADB(Android 调试桥)
- 以下之一:
- Android Studio 模拟器(AVD)
- Redroid(基于Docker的Android)
- Genymotion
- 通过USB/WiFi连接的物理安卓设备
安装
来自NPM(推荐)
来自源头
快速启动
1.确保ADB正常运作
2.
本页由 AI 翻译,技术细节请以原文为准。
README
以下为原文 README 节选,完整内容请查看原文。
MCP Android Emulator
A Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with Android devices and emulators via ADB (Android Debug Bridge).
Features
- Screenshots: Capture device screen as base64 images
- UI Inspection: Get UI hierarchy (like DOM but for Android)
- Touch Input: Tap, swipe, scroll, pinch zoom, multi-tap gestures
- Text Input: Type, clear, select all, set text in input fields
- System Keys: Press BACK, HOME, ENTER, VOLUME, etc.
- App Management: Launch, install, force stop, clear data
- Clipboard: Get and set clipboard content
- Device Control: Rotate screen, get device info
- Logs: Access logcat with filters and log levels
- Wait & Assert: Wait for elements, UI stability, assertions for testing
- Safe Interactions: Tap avoiding system bars, element bounds detection
Requirements
- Node.js 18+
- ADB (Android Debug Bridge) installed
- One of the following:
- Android Studio Emulator (AVD)
- Redroid (Docker-based Android)
- Genymotion
- Physical Android device via USB/WiFi
Installation
From npm (Recommended)
npm install -g mcp-android-emulator
From source
git clone https://github.com/Anjos2/mcp-android-emulator.git
cd mcp-android-emulator
npm install
npm run build
Quick Start
1. Ensure ADB is working
adb devices
# Should show your device/emulator
2. Add to Claude Code
claude mcp add android-emulator -- npx mcp-android-emulator
3. Start using
Ask Claude: “Take a screenshot of the Android device”
Configuration
Environment Variables
| Variable | Default | Description |
|---|---|---|
ADB_PATH |
adb |
Path to ADB executable |
SCREENSHOT_DIR |
/tmp/android-screenshots |
Directory for temporary screenshots |
Claude Code Integration
Option 1: CLI command
claude mcp add android-emulator -- npx mcp-android-emulator
Option 2: Manual configuration
Edit ~/.claude.json:
{
"mcpServers": {
"android-emulator": {
"command": "npx",
"args": ["mcp-android-emulator"],
"env": {
"ADB_PATH": "/path/to/adb"
}
}
}
}
Claude Desktop Integration
Add to claude_desktop_config.json:
{
"mcpServers": {
"android-emulator": {
"command": "npx",
"args": ["mcp-android-emulator"],
"env": {
"ADB_PATH": "/path/to/adb"
}
}
}
}
Available Tools (40 tools)
Screen Capture & UI
| Tool | Description |
|---|---|
screenshot |
Capture screen as base64 PNG image |
get_ui_tree |
Get UI element hierarchy with coordinates |
安装
npx mcp-android-emulator配置
{
"mcpServers": {
"android-emulator": {
"command": "npx",
"args": ["mcp-android-emulator"],
"env": {
"ADB_PATH": "/path/to/adb"
}
}
}
}