uiautomator2 MCP 服务器
使用说明(Markdown格式)
-
项目简介
- 这是一个基于 MCP(Model Context Protocol)的服务器端实现,专门用来通过 uiautomator2 提供对 Android 设备的自动化操作能力。服务器暴露工具集、设备管理、截图、UI 操作等能力,供 AI 客户端通过 JSON-RPC 与之交互。
-
主要功能点
- 放置与管理资源、工具和提示模板等能力,以标准化的 MCP 协议向客户端提供服务
- 注册并执行大量与设备相关的工具(如设备初始化、截图、控件操作、应用管理、剪贴板等)
- 支持通过不同传输协议与客户端通信(STDIO、HTTP/Streamable HTTP 等)
- 提供工具的过滤与模式配置(包括标签过滤、token 授权等)
- 提供辅助命令与帮助信息,便于开发和调试 MCP 客户端
-
安装步骤
- 运行环境要求:Python 3.11 及以上,ADB 在系统路径中可用,连接一个 Android 设备(USB 调试开启)
- 安装方式(推荐任一执行方式):
- 直接从 PyPI 运行:使用 uvx 或 pipx 直接以 MCP 服务器方式执行
- 全局安装后直接执行命令
- 运行模式
- STDIO 模式:u2mcp stdio
- HTTP 模式:u2mcp http --host 0.0.0.0 --port 8000 [--token YOUR_TOKEN] 或使用无令牌模式 --no-token
- 使用 MCP Inspector、Postman、cURL 等工具进行调试和测试
- 实际开发中可使用工具命令查看和测试暴露的工具集合(如 tools、info、tags 等)
-
服务器配置(MCP 客户端需要的配置示例,JSON 格式,包含 server name、command、args 等)
- OBSERVATION:服务器名称在代码中为 uiautomator2,启动方式有两种:STDIO 与 HTTP
- 配置示例 1(STDIO 模式) { "server_name": "uiautomator2", "command": "u2mcp", "args": ["stdio"], "transport": "stdio", "description": "使用 STDIO 传输,客户端通过标准输入输出与服务器进行 JSON-RPC 通信" }
- 配置示例 2(HTTP 模式,带身份验证令牌) { "server_name": "uiautomator2", "command": "u2mcp", "args": ["http", "--host", "0.0.0.0", "--port", "8000", "--token", "<YOUR_TOKEN>"], "transport": "streamable-http", "description": "使用 HTTP 传输,客户端通过 /mcp 路径与服务器通信,支持 Bearer Token 认证" }
-
基本使用方法
- 启动服务器后,选择 STDIO 或 HTTP 模式连接 MCP 客户端
- 客户端可以通过工具列表(tools)、信息查询(info)、标签查看(tags)等接口了解可用能力
- 客户端可以调用具体工具(如 init、screenshot、click、drag、app_start 等)来对 Android 设备执行操作
- 如需调试或排错,可以使用 MCP Inspector、Postman 等工具查看请求/响应日志
- 服务器支持工具标签过滤和自动化运行,便于将不需要的工具在客户端侧屏蔽