mcp_droid

查看源码
2025-5-11
Words 1173Read Time 3 min
Score:85

MCPDroid是一个基于MCP协议的Android设备控制服务,使大语言模型能够通过标准化接口直接控制和操作Android设备。

Python

MCPDroid

MCPDroid 是一个基于模型上下文协议(Model Context Protocol, MCP)的 Android 设备控制服务,旨在使大型语言模型(如 Claude、GPT 等)能够通过标准化接口直接控制和操作 Android 设备。

功能特点

  • 通过 MCP 协议为大模型提供 Android 设备控制能力
  • 支持屏幕操作(点击、滑动、截图等)
  • 支持设备控制(返回键、电源键、音量键等)
  • 支持应用管理(启动、停止、安装、卸载等)
  • 支持文本输入和按键模拟
  • 提供设备信息查询功能
  • 支持高级图像识别和 OCR 文字识别功能

系统要求

  • Python 3.8+
  • ADB 工具
  • Android 设备(Android 7.0+)

安装步骤

  1. 克隆仓库
  1. 安装依赖
  1. 确保 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: 设备间文件共享

项目结构

常见问题解决方案

  1. 如果遇到 ADB 连接问题,请确保:
      • 设备已开启 USB 调试
      • 已在设备上允许来自电脑的调试
      • ADB 守护进程已启动(可尝试 adb kill-server 然后 adb start-server
  1. 如果需要使用高级图像识别功能,请确保已安装相关依赖:
      • Airtest: pip install airtest
      • OpenCV: pip install opencv-python
  1. 如果需要使用 OCR 功能,请确保已安装 Tesseract 和相关 Python 包:
      • pip install pytesseract
      • 安装 Tesseract OCR 引擎

参考资料

许可证

MIT License
上一篇
filesystem-server
下一篇
mcp-maven