MCP Server
UIAutomator2 MCP Server
A FastMCP framework-based server providing Android device automation control capabilities, enabling UI interactions, device management, and application control through natural language.
8
GitHub Stars
8/23/2025
Last Updated
MCP Server Configuration
1{
2 "name": "android",
3 "command": "uv",
4 "args": [
5 "--directory",
6 "/path/to/uiautomator2-mcp",
7 "run",
8 "src/server.py"
9 ]
10}
JSON10 lines
README Documentation
UIAutomator2 MCP Server
基于FastMCP框架实现的UIAutomator2 MCP服务器,提供Android设备自动化控制能力。
功能特性
-
Android设备管理
- ADB命令执行
- 应用包管理
- 屏幕截图
-
UI自动化操作
- 元素点击
- 文本输入
- 屏幕滑动
- 元素等待
- 页面滚动
-
应用管理
- 应用启动/停止
- 当前应用信息
- UIAutomator2服务管理
环境要求
- Python 3.10+
- ADB工具
- Android设备或模拟器
安装
- 克隆项目
git clone https://github.com/yourusername/uiautomator2-mcp.git
cd uiautomator2-mcp
- 安装依赖
pip install -e .
MCP配置
1. 配置mcp.json
在Claude Desktop的配置目录下创建或编辑mcp.json
文件(通常在~/.cursor/mcp.json
或%APPDATA%\Cursor\mcp.json
):
{
"mcpServers": {
"android": {
"command": "uv",
"args": [
"--directory",
"/path/to/uiautomator2-mcp", // 替换为你的项目路径
"run",
"src/server.py"
]
}
}
}
配置说明:
android
: MCP服务器的唯一标识符command
: 用于运行Python的命令(这里使用uv,也可以使用python)args
: 命令行参数--directory
: 项目目录路径run
: uv的运行命令src/server.py
: 服务器入口文件路径
2. 配置选项
你可以根据需要调整以下配置:
- 使用Python直接运行:
{
"mcpServers": {
"android": {
"command": "python",
"args": [
"/path/to/uiautomator2-mcp/src/server.py"
]
}
}
}
- 使用虚拟环境:
{
"mcpServers": {
"android": {
"command": "/path/to/venv/bin/python",
"args": [
"/path/to/uiautomator2-mcp/src/server.py"
]
}
}
}
- 添加环境变量:
{
"mcpServers": {
"android": {
"command": "python",
"args": [
"/path/to/uiautomator2-mcp/src/server.py"
],
"env": {
"PYTHONPATH": "/path/to/uiautomator2-mcp",
"ANDROID_HOME": "/path/to/android-sdk"
}
}
}
}
3. 多服务器配置
你可以在同一配置文件中定义多个MCP服务器:
{
"mcpServers": {
"android": {
"command": "uv",
"args": [
"--directory",
"/path/to/uiautomator2-mcp",
"run",
"src/server.py"
]
},
"android-debug": {
"command": "uv",
"args": [
"--directory",
"/path/to/uiautomator2-mcp",
"run",
"src/server.py",
"--debug"
]
}
}
}
使用工具
配置完成后,你可以在Claude中直接使用所有可用的工具:
# 初始化UIAutomator2
await mcp.call_tool("mcp_android_init_uiautomator2", {})
# 启动应用
await mcp.call_tool("mcp_android_start_app", {
"package_name": "com.example.app"
})
# 点击元素
await mcp.call_tool("mcp_android_click_element", {
"text": "登录"
})
开发
- 安装开发依赖
pip install -e ".[dev]"
- 运行测试
pytest
贡献
欢迎提交Issue和Pull Request。
许可证
MIT License
Quick Install
Quick Actions
Key Features
Model Context Protocol
Secure Communication
Real-time Updates
Open Source