ADB设备管理服务器

一个基于TypeScript的MCP服务器,用于通过ADB与Android设备交互,提供设备管理、应用安装、日志访问、文件传输和UI交互等功能。

  • by srmorete
  • JavaScript
  • 本地部署
  • 55 星标
  • 更新于
在 GitHub 查看 srmorete/adb-mcp

使用说明

已存档--使用 移动设备mcp

令人惊讶的是,这个回购达到了50颗星(!)生态系统有时相当慷慨,谢谢你主演!

我一直在研究一种更快、更可扩展、也适用于iOS的东西,看看 移动设备mcp.

留下一些⭐ 也是:)

ADB MCP服务器

用于通过ADB与Android设备交互的MCP(模型上下文协议)服务器。这个基于TypeScript的工具在AI模型和Android设备功能之间架起了一座桥梁。

特性

  • 📱 设备管理-列出已连接的Android设备并与之交互
  • 📦 应用程序安装-将APK文件部署到连接的设备
  • 📋 日志记录-通过logcat访问设备日志
  • 🔄 文件传输-在设备和主机之间推送和拉取文件
  • 📸 UI交互-捕获屏幕截图并分析UI层次结构
  • 🔧 Shell命令执行-在设备上运行自定义命令

先决条件

  • Node.js(建议使用v16或更高版本,使用Node.js v16、v18和v20进行测试)
  • ADB(Android调试桥)已安装并位于您的PATH中
  • 通过USB或网络连接并启用USB调试的Android设备或模拟器
  • 访问设备的权限(设备上已接受调试授权)

安装

通过Smithery安装

通过以下方式自动安装适用于Claude Desktop的ADB Android设备服务器 铁匠铺:

npx -y @smithery/cli install @srmorete/adb-mcp --client claude

手动安装

# Clone the repository
git clone https://github.com/srmorete/adb-mcp.git
cd adb-mcp

# Install dependencies
npm install

# Build the TypeScript code
npm run build

# Run the server
npx adb-mcp

配置

ADB路径配置

服务器使用默认的ADB路径。对于自定义ADB位置:

export ADB_PATH=/path/to/adb
npx adb-mcp

MCP配置

添加ADB MCP服务器配置:

{
  "mcpServers": {
    "adb": {
      "command": "npx",
      "args": [
        "adb-mcp"
      ]
    }
  }
}

用法

启动服务器

重要提示:在使用任何ADB工具之前,服务器必须正在运行。

使用以下命令启动服务器:

npx adb-mcp

您应该看到:

[INFO] ADB MCP Server connected and ready

使用ADB工具时,请保持此终端窗口打开。

可用工具

所有工具都有以下命名约定:

📱 设备管理

  • adb_devices -列出已连接的设备
  • adb_shell -在设备上执行shell命令

📦 应用程序管理

  • adb_install -使用本地文件路径安装APK文件
  • adb_package_manager -执行包管理器(pm)命令-列出包、授予/撤销权限、管理应用程序
  • adb_activity_manager -执行活动管理器(am)命令-启动活动、广播意图、控制应用程序行为

📋 日志记录

  • adb_logcat -使用可选筛选查看设备日志

🔄 文件传输

  • adb_pull -从设备中提取文件
  • adb_push -将文件推送到设备

🔍 UI交互

  • dump_image -截取当前屏幕的屏幕截图
  • inspect_ui -获取XML格式的UI层次结构(对AI交互最有用)

故障排除

如果工具不起作用:

  • 服务器问题:

    • 确保服务器正在运行(npx adb-mcp)
    • 检查服务器输出是否有错误消息
    • 尝试详细日志: LOG_LEVEL=3 npx adb-mcp
    • 终止悬挂过程:
      • ps aux | grep "adb-mcp" | grep -v grep
      • 然后 kill -9 [PID]
  • 设备连接:

    • 验证与的连接 adb_devices
    • 如果“未经授权”,接受设备调试授权
    • 检查USB/网络连接
    • 尝试重新启动ADB: adb kill-server && adb start-server
  • 亚洲开发银行问题:

    • 验证ADB安装: adb version
  • 设备设置:

    • 使用模拟器(它是使用模拟器构建的),对于真实设备,可以尝试以下操作:
      • 确保USB调试已启用
      • 对于较新的Android版本,启用“USB调试(安全设置)”
      • 尝试不同的USB端口或电缆
      • 或者在问题中告诉我

兼容性

  • 安卓8.0及更高版本
  • Cursor IDE中包含Claude的MCP客户端
  • 它是在macOS上构建的,但 应该 在任何兼容POSIX的(Linux等)上运行。
  • 没有在Windows上尝试,但是 也许 它奏效了。

贡献

  • 欢迎投稿!提交拉取请求。
  • 对于重大更改,请先打开一个问题进行讨论。
  • 当然,你也可以用叉子叉它
  • 注: 这个项目是 vibe-coded 所以如果你发现一些奇怪的东西。..现在你知道了🙂

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

致谢