项目简介
Android MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,它允许大型语言模型 (LLM) 客户端通过 ADB (Android Debug Bridge) 远程控制 Android 设备。该服务器将 Android 设备的多种功能封装成 MCP 工具,使得 LLM 可以通过标准的 MCP 协议与 Android 设备进行交互,实现自动化控制和数据获取。
主要功能点
- ADB 命令执行: 允许 LLM 客户端执行任意 ADB 命令,实现对 Android 设备的底层控制。
- 设备截图: 允许 LLM 客户端获取 Android 设备当前屏幕的截图,用于视觉分析或内容理解。
- UI 布局分析: 允许 LLM 客户端分析当前 Android 设备 UI 布局,提取可点击元素的信息(文本、描述、位置等),辅助进行基于 UI 的自动化操作。
- 应用包管理: 允许 LLM 客户端获取设备上已安装的应用包列表,用于应用管理或分析。
- 应用 Intent 查询: 允许 LLM 客户端查询特定应用包的 Action Intents,用于更深入的应用交互和功能发现。
安装步骤
-
克隆仓库: 打开终端,执行以下命令克隆 GitHub 仓库到本地:
git clone https://github.com/minhalvp/android-mcp-server.git cd android-mcp-server -
安装依赖: 该项目使用 'uv' 进行依赖管理。确保您已安装 'uv',然后在项目目录下执行:
uv sync如果未安装 'uv',请先参考 uv installation 进行安装。
服务器配置
要将此 MCP 服务器与 MCP 客户端(例如 Claude Desktop 或 Cursor)配合使用,您需要在客户端的配置文件中添加服务器配置。以下是 Claude Desktop 的配置示例,您需要根据您的 MCP 客户端进行相应配置:
{ "mcpServers": { "android": { "command": "path/to/uv", "args": ["--directory", "path/to/android-mcp-server", "run", "server.py"] } } }
配置参数说明:
- '"android"': 服务器名称,可以自定义,用于在 MCP 客户端中标识和选择该服务器。
- '"command"': 启动 MCP 服务器的命令,这里需要配置 'uv' 可执行文件的绝对路径。 您可以使用 'which uv' 命令查找 'uv' 的路径,并替换 'path/to/uv'。
- '"args"': 启动命令的参数列表。
- '"--directory"': 指定 MCP 服务器代码所在的目录,需要替换 'path/to/android-mcp-server' 为您克隆仓库的绝对路径。
- '"run server.py"': 指示 'uv' 运行 'server.py' 文件,启动 MCP 服务器。
请注意:
- 确保您的 Android 设备已通过 ADB 连接到电脑,并且 ADB 环境已正确配置。
- 您需要根据实际 'uv' 的安装路径和仓库的存放路径,修改上述配置示例中的 'command' 和 'args' 字段。
基本使用方法
- 启动 MCP 服务器: 按照上述服务器配置,在 MCP 客户端中配置并启动 "android" MCP 服务器。
- 连接 MCP 客户端: 确保您的 MCP 客户端已成功连接到 "android" MCP 服务器。
- 使用 MCP 工具: 在 MCP 客户端中,您应该能够看到 "android" MCP 服务器提供的工具列表(例如 'get_packages', 'execute_adb_command', 'get_screenshot', 'get_uilayout', 'get_package_action_intents')。您可以根据需要选择并调用这些工具,从而控制 Android 设备或获取设备信息。
具体工具的使用方法和参数,请参考仓库 'README.md' 文件中 "Available Tools" 部分的描述。
信息
分类
桌面与硬件