Android设备控制服务器

一个通过ADB控制Android设备的MCP服务器,提供自动化工具如打开浏览器搜索、发送短信、获取设备信息等功能,适用于自然语言交互场景。

  • by IngaleChinmay04
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 IngaleChinmay04/android-mcp-server

使用说明

安卓MCP服务器

概述

此存储库提供 用于Android设备控制的MCP(模型上下文协议)服务器 通过ADB(安卓调试桥)。它公开了可以从LLM或客户端(如Claude Desktop)调用的简单工具(函数),以自动执行Android设备操作,如打开Chrome和执行搜索。

目标是让任何支持MCP的客户端(如Claude Desktop)都能使用自然语言和安全、可审计的工具轻松控制Android设备。


特性

  • open_chrome_and_search:
    在连接的Android设备上打开默认浏览器,并对给定的查询执行谷歌搜索。
  • 屏幕截图_和预处理:
    截取屏幕截图并对其进行预处理以供进一步使用。
  • send_sms_via_adb:
    通过ADB向指定号码发送短信。
  • get_device_model:
    检索连接的Android设备的型号名称。
  • 获取电池信息:
    返回电池状态和信息。
  • get_device_features:
    列出设备支持的硬件/软件功能。
  • get_storage_info:
    提供有关设备存储使用情况的信息。
  • get_network_info:
    返回有关设备网络连接的详细信息。
  • take_screenshot:
    从设备中捕获屏幕截图。
  • 打开设置:
    打开设备上的主设置应用程序。
  • toggle_airplane_mode:
    启用或禁用飞行模式。
  • 增加音量/减少音量:
    调整设备的媒体音量。
  • 按下电源按钮:
    模拟按下电源按钮。
  • 按下主页按钮:
    模拟按下主页按钮。
  • 按下返回按钮:
    模拟按下后退按钮。
  • open_wifi_设置:
    打开Wi-Fi设置屏幕。
  • 开放式蓝牙设置:
    打开蓝牙设置屏幕。
  • open_display_settings:
    打开显示设置屏幕。
  • 易于扩展:根据需要添加更多ADB驱动的工具(启动应用程序、截图等)
  • 安全:只公开特定的白名单操作。

需求

  • Python 3.10+
  • ADB公司 已安装并添加到系统PATH
  • 具有以下功能的Android设备:
    • 开发人员模式已启用
    • USB调试已启用
  • 克劳德桌面 (或任何兼容MCP的客户端)
  • 紫外线 Python项目工具(推荐使用,但如果你愿意,也可以使用pip/venv)

安装和设置

1.克隆存储库

git clone https://github.com/IngaleChinmay04/android-mcp-server

cd android-mcp-server

2.安装 紫外线 (如果还没有)

在Windows(PowerShell)上:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

在Mac/Linux上:

curl -LsSf https://astral.sh/uv/install.sh | sh

安装后重新启动终端。

3.设置Python环境

uv venv
# On Windows:
.venv\Scripts\activate
# On Mac/Linux:
source .venv/bin/activate

uv add "mcp[cli]"

4.(可选)手动测试服务器

uv run android_server.py

服务器将等待MCP客户端连接。


用途:与Claude Desktop集成

要将MCP服务器连接到Claude Desktop,请执行以下操作:

1.确保 克劳德桌面 已安装和 完全更新.

2.编辑/创建Claude配置文件

在Windows上:

  • 地点:
    C:\Users\<YourUsername>\AppData\Roaming\Claude\claude_desktop_config.json

在Mac上:

  • 地点:
    ~/Library/Application Support/Claude/claude_desktop_config.json

如果文件不存在,则创建该文件。

3.添加服务器配置

示例配置(如果克隆到其他位置,请更新目录路径):

{
  "mcpServers": {
    "android_control": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\Users\\<YourUsername>\\Desktop\\android-mcp-server",
        "run",
        "android_server.py"
      ]
    }
  }
}
  • 使用项目文件夹的绝对路径。
  • 保存配置文件。

4.重新启动克劳德桌面

  • 完全关闭所有Claude Desktop窗口(包括托盘图标)。
  • 重新打开克劳德桌面。

5.插入您的Android设备

  • 在手机上启用开发人员选项和USB调试。
  • 通过USB连接。
  • 批准任何“允许USB调试”提示。

示例用法

在Claude Desktop中,您现在可以通过键入自然语言提示符来使用该工具,例如:

  • “在我的安卓设备上搜索‘最新安卓新闻’。”
  • “使用open_chrome_and_search工具查询:Python教程”

Claude将调用该工具,您的手机浏览器将打开并执行搜索。


添加更多工具

要扩展功能,只需添加更多 @mcp.tool() 装饰Python函数 android_server.py.
例如,您可以添加工具来截图、安装应用程序、打开特定应用程序等。


故障排除

  • 找不到设备?
    确保你已经跑过了 adb devices 并查看您的设备列表。
  • MCP服务器未在Claude中显示?
    仔细检查您的配置文件路径和语法,然后重新启动Claude Desktop。
  • 意外的令牌/JSON错误?
    确保服务器代码中没有打印语句或记录到stdout;所有输出必须仅通过MCP调用。
  • 还在卡住吗?
    有关详细信息,请查看Claude日志(Claude Desktop UI中的按钮)。

鸣谢