M

MCP安卓控制服务器

一种模型上下文协议服务器,它通过自然语言使人工智能代理能够控制和自动化安卓设备,支持应用程序管理、用户界面交互和设备监控等操作。

autonomous-agentsapp-automation

746 查看 · 2026-07-07 更新

简介

一种模型上下文协议服务器,它通过自然语言使人工智能代理能够控制和自动化安卓设备,支持应用程序管理、用户界面交互和设备监控等操作。

简介

一种模型上下文协议服务器,它通过自然语言使人工智能代理能够控制和自动化安卓设备,支持应用程序管理、用户界面交互和设备监控等操作。

Python 3.13 CI Pipeline Coverage: 90% Code style: ruff License: MIT

MCP Android Agent

该项目提供了一个**MCP(Model Context Protocol)**服务器,用于通过uiautomator2自动化Android设备。它设计为可以轻松地与像GitHub Copilot Chat、Claude或Open Interpreter这样的AI代理集成,通过自然语言控制Android设备。

快速演示

演示

要求

  • Python 3.13 或更高版本
  • 已安装并添加到PATH中的Android Debug Bridge (adb)
  • 连接的启用了USB调试的Android设备
  • uiautomator2兼容的Android设备

功能

  • 通过包名启动、停止和管理应用程序
  • 检索已安装的应用程序和当前前台应用
  • 点击、滑动、滚动、拖动以及执行UI交互
  • 获取设备信息、屏幕分辨率、电池状态等
  • 捕获屏幕截图或最后的Toast消息
  • 以编程方式解锁、唤醒或使屏幕休眠
  • 清除应用程序数据并等待活动
  • 包含健康检查和adb诊断工具

使用场景

非常适合:

  • 需要与真实设备交互的AI代理
  • 远程设备控制设置
  • 自动化QA工具
  • Android机器人框架
  • UI测试和自动化
  • 设备管理和监控

安装

1. 克隆仓库

bash git clone https://github.com/nim444/mcp-android.git cd mcp-android

2. 创建并激活虚拟环境

bash

使用uv (https://github.com/astral-sh/uv)

uv venv source .venv/bin/activate # 在Windows上: .venv\Scripts\activate

3. 安装依赖项

bash uv pip install

运行服务器

选项1:使用uvicorn(推荐)

bash uvicorn server:app --factory --host 0.0.0.0 --port 8000

选项2:使用MCP stdio(用于AI代理集成)

bash python server.py

使用方法

需要一个MCP客户端来使用此服务器。Claude Desktop应用程序就是一个MCP客户端的例子。要将此服务器与Claude Desktop一起使用:

找到你的Claude Desktop配置文件

  • Windows: %APPDATA%Claudeclaude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

将Android MCP服务器配置添加到mcpServers部分

json { "mcpServers": { "mcp-android": { "type": "stdio", "command": "bash", "args": [ "-c", "cd /path/to/mcp-adb && source .venv/bin/activate && python -m server" ] } } }

/path/to/mcp-adb替换为你克隆此仓库的绝对路径。例如:/Users/username/Projects/mcp-adb

与VS Code一起使用

您还可以将此MCP服务器与VS Code的代理模式一起使用(需要VS Code 1.99或更新版本)。要设置:

  1. 在您的工作区中创建一个.vscode/mcp.json文件:

json { "servers": { "mcp-android": { "type": "stdio", "command": "bash", "args": [ "-c", "cd /path/to/mcp-adb && source .venv/bin/activate && python -m server" ] } } }

/path/to/mcp-adb替换为你克隆此仓库的绝对路径。

添加配置后,您可以使用以下命令管理服务器:

  • 命令面板 → MCP: List Servers 查看和管理已配置的服务器- 命令面板 → MCP: Start Server 以启动服务器
  • 服务器的工具将在 VS Code 的代理模式聊天中可用

Vscode

UI 检查器

项目包括对 uiauto.dev 的支持,这是一个强大的 UI 检查工具,用于查看和分析设备的界面结构。

  1. 安装 UI 检查器:

bash pip install uiautodev

  1. 启动检查器:

bash uiauto.dev

  1. 打开浏览器并导航到 https://uiauto.dev

Ui

可用的 MCP 工具

工具名称描述
mcp_health检查 MCP 服务器是否正常运行
connect_device连接到 Android 设备并获取基本信息
get_installed_apps列出所有已安装的应用程序及其版本和包信息
get_current_app获取当前在前台的应用程序的信息
start_app通过包名启动应用程序
stop_app通过包名停止应用程序
stop_all_apps停止所有当前正在运行的应用程序
screen_on打开屏幕
screen_off关闭屏幕
get_device_info获取详细的设备信息:序列号、分辨率、电池等
press_key模拟硬件按键按下(例如 homebackmenu 等)
unlock_screen解锁屏幕(如果需要则打开并滑动)
check_adb检查 ADB 是否已安装并列出连接的设备
wait_for_screen_on异步等待直到屏幕打开
click通过 textresourceIddescription 点击元素
long_click对元素执行长按
send_text在当前焦点字段中输入文本(可选地先清除)
get_element_info获取 UI 元素的信息(文本、边界、可点击等)
swipe从一个坐标滑动到另一个坐标
wait_for_element等待元素出现在屏幕上
screenshot从设备上截取并保存屏幕截图
scroll_to滚动直到给定元素可见
drag将元素拖动到特定的屏幕位置
get_toast获取屏幕上显示的最后一个 toast 消息
clear_app_data清除指定应用的用户数据/缓存
wait_activity等待特定活动出现

许可证

本项目根据 MIT 许可证许可 - 详情请参阅 LICENSE 文件。

服务配置

[{'mcpServers': {'mcp-android': {'args': ['-c', 'cd /path/to/mcp-adb && source .venv/bin/activate && python -m server'], 'command': 'bash', 'type': 'stdio'}}}]

来源