Skip to main content
Glama
GitDzreal93

UIAutomator2 MCP Server

by GitDzreal93

UIAutomator2 MCP Server

基于FastMCP框架实现的UIAutomator2 MCP服务器,提供Android设备自动化控制能力。

功能特性

  • Android设备管理

    • ADB命令执行

    • 应用包管理

    • 屏幕截图

  • UI自动化操作

    • 元素点击

    • 文本输入

    • 屏幕滑动

    • 元素等待

    • 页面滚动

  • 应用管理

    • 应用启动/停止

    • 当前应用信息

    • UIAutomator2服务管理

Related MCP server: DroidMind

环境要求

  • Python 3.10+

  • ADB工具

  • Android设备或模拟器

安装

  1. 克隆项目

git clone https://github.com/yourusername/uiautomator2-mcp.git
cd uiautomator2-mcp
  1. 安装依赖

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. 配置选项

你可以根据需要调整以下配置:

  1. 使用Python直接运行:

{
  "mcpServers": {
    "android": {
      "command": "python",
      "args": [
        "/path/to/uiautomator2-mcp/src/server.py"
      ]
    }
  }
}
  1. 使用虚拟环境:

{
  "mcpServers": {
    "android": {
      "command": "/path/to/venv/bin/python",
      "args": [
        "/path/to/uiautomator2-mcp/src/server.py"
      ]
    }
  }
}
  1. 添加环境变量:

{
  "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": "登录"
})

开发

  1. 安装开发依赖

pip install -e ".[dev]"
  1. 运行测试

pytest

贡献

欢迎提交Issue和Pull Request。

许可证

MIT License

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/GitDzreal93/uiautomator2-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server