MCPDroid
MCPDroid 是一个基于模型上下文协议(Model Context Protocol, MCP)的 Android 设备控制服务,旨在使大型语言模型(如 Claude、GPT 等)能够通过标准化接口直接控制和操作 Android 设备。
功能特点
- 通过 MCP 协议为大模型提供 Android 设备控制能力
- 支持屏幕操作(点击、滑动、截图等)
- 支持设备控制(返回键、电源键、音量键等)
- 支持应用管理(启动、停止、安装、卸载等)
- 支持文本输入和按键模拟
- 提供设备信息查询功能
- 支持高级图像识别和 OCR 文字识别功能
系统要求
- Python 3.8+
- ADB 工具
- Android 设备(Android 7.0+)
安装步骤
- 克隆仓库
- 安装依赖
- 确保 Android 设备已通过 USB 或网络连接到电脑,并已开启 USB 调试模式
使用方法
启动服务
参数说明:
--adb-path
: ADB 命令路径,默认为 "adb"
--device-id
: 设备 ID,多设备时需要指定
--host
: 监听主机地址,默认为 "0.0.0.0"
--port
: 监听端口,默认为 8000
--debug
: 开启调试模式
在 Claude 桌面客户端中配置
在 Claude Desktop 的配置文件中添加:
在 Cursor 中配置
在 Cursor 的配置文件中添加:
工具列表
MCPDroid 提供以下主要功能工具:
屏幕操作相关
get_screen_size
: 获取屏幕尺寸
take_screenshot
: 截取屏幕截图
tap_screen
: 点击屏幕
long_press
: 长按屏幕
swipe
: 滑动屏幕
slide_screen
: 上下滑动屏幕
multi_touch
: 多点触控操作
pinch
: 双指缩放操作
设备控制相关
press_back
: 点击返回键
go_to_home
: 返回桌面
press_power
: 按下电源键
keyevent
: 发送按键事件
unlock_screen
: 解锁屏幕
adjust_volume
: 调节音量
rotate_screen
: 控制屏幕旋转
set_brightness
: 设置屏幕亮度
文本输入相关
type_text
: 输入文本
switch_ime
: 切换输入法
paste_text
: 粘贴文本
clear_text
: 清除文本
应用管理相关
start_app
: 启动应用
stop_app
: 停止应用
list_apps
: 列出已安装应用
open_url
: 打开网址
get_current_app
: 获取前台应用信息
check_app_installed
: 检查应用是否已安装
monitor_app_start
: 监控应用启动
设备信息相关
get_device_info
: 获取设备信息
list_devices
: 列出已连接设备
get_battery_info
: 获取设备电量信息
get_storage_info
: 获取设备存储信息
高级功能相关
execute_shell
: 执行 Shell 命令
image_recognition
: 图像识别与匹配
ocr_recognition
: OCR 文字识别
capture_logs
: 截取系统日志
wake_device
: 唤醒设备
sleep_device
: 休眠设备
explore_app
: 探索应用界面
file_operations
: 文件操作(上传/下载)
check_root
: 设备 root 检测
connect_over_tcp
: TCP/IP 连接设备
record_and_replay
: 脚本录制和回放
run_test_case
: 自动化测试用例执行
monitor_performance
: 性能监控
screenshot_watcher
: 设备截屏监听器
multi_device_management
: 多设备管理与操作
网络与连接相关
toggle_wifi
: 设置 WiFi 开关
toggle_bluetooth
: 设置蓝牙开关
toggle_mobile_data
: 设置移动数据开关
toggle_airplane_mode
: 设置飞行模式
connect_wifi
: 连接到指定 WiFi
get_wifi_info
: 获取当前 WiFi 详细信息
多设备协作相关
device_messaging
: 设备间消息传递
sync_operations
: 多设备同步操作
device_group_actions
: 设备组操作
share_between_devices
: 设备间文件共享
项目结构
常见问题解决方案
- 如果遇到 ADB 连接问题,请确保:
- 设备已开启 USB 调试
- 已在设备上允许来自电脑的调试
- ADB 守护进程已启动(可尝试
adb kill-server
然后adb start-server
)
- 如果需要使用高级图像识别功能,请确保已安装相关依赖:
- Airtest:
pip install airtest
- OpenCV:
pip install opencv-python
- 如果需要使用 OCR 功能,请确保已安装 Tesseract 和相关 Python 包:
pip install pytesseract
- 安装 Tesseract OCR 引擎
参考资料
许可证
MIT License
- Author:waytomcp
- URL:https://www.waytomcp.com/article/YantaoMou/mcp_droid
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!