Token导航 LogoToken导航

MCP Server · AI代理

Android Adb

一个功能完整、生产就绪的 Model Context Protocol (MCP) 服务器,将 Android Debug Bridge (ADB) 功能封装为现代化的 AI 助手工具,提供 35 个专业工具覆盖 Android 设备管理的所有核心场景。

stdio官方级别未说明来源级核验工具 41android-adb-mcp
设备控制TypeScriptClaudeClaude Desktop

快速开始

作者 / 组织
qinxiandiqi
提供方
qinxiandiqi
运行时
Node.js

工具数量

41

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Android Adb 属于AI代理类 MCP Server,公开资料标注 41 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

AI代理

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

npx android-adb-mcp

客户端配置示例

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

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 41 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

ADB MCP Server

🚀 Production-Ready MCP Server for Android Device Management

一个功能完整、生产就绪的 Model Context Protocol (MCP) 服务器,将 Android Debug Bridge (ADB) 功能封装为现代化的 AI 助手工具。提供 35 个专业工具,覆盖 Android 设备管理的所有核心场景。

⚡ 快速体验

直接运行(无需安装)

npx android-adb-mcp

Claude Desktop 配置

将以下配置添加到 Claude Desktop 的 claude_desktop_config.json 文件:

{
  "mcpServers": {
    "android-devices": {
      "command": "npx",
      "args": ["android-adb-mcp"],
      "env": {
        "ADB_PATH": "/usr/local/bin/adb"
      }
    }
  }
}

重启 Claude Desktop,即可开始使用 AI 助手管理您的 Android 设备!

💡 使用示例

配置完成后,您可以在 Claude Desktop 中使用自然语言管理 Android 设备:

用户: 列出所有连接的 Android 设备
助手: 我来为您检查连接的设备...
[调用 list_devices 工具]
找到 1 个设备:4745ca3b (Redmi Note 7 Pro)

用户: 获取设备的详细信息
助手: 正在获取设备详细信息...
[调用 get_device_info 工具]
设备信息:
- 型号:Redmi Note 7 Pro
- Android 版本:10
- 内存:6GB
- 存储:128GB

用户: 截取一张屏幕截图
助手: 正在为您截取屏幕...
[调用 capture_screenshot 工具]
✅ 截图已保存到:/tmp/screenshot_20241106.png

用户: 安装一个 APK 文件
助手: 请提供 APK 文件路径,我来帮您安装...
[调用 install_app 工具]

✨ 核心特性

🎯 全面的设备管理

  • 设备发现: 自动识别并列出所有连接的 Android 设备
  • 设备信息: 获取详细的设备规格、系统版本、硬件信息
  • 连接管理: 支持USB和无线TCP/IP连接
  • 状态监控: 实时检查设备连接状态和健康度

🛡️ 安全的Shell执行

  • 命令白名单: 严格的安全命令验证机制
  • 沙箱执行: 防止恶意命令执行的安全沙箱
  • 权限控制: 基于命令类型的细粒度权限管理
  • 审计日志: 完整的命令执行审计追踪

📁 强大的文件操作

  • 批量传输: 支持大文件的分块传输
  • 目录管理: 完整的目录创建、删除、浏览功能
  • 文件信息: 详细的文件属性和元数据获取
  • 安全验证: 路径遍历攻击防护

📱 完整的应用管理

  • 应用生命周期: 安装、卸载、启动、停止、清除数据
  • 应用信息: 详细的包信息、权限、版本信息
  • 批量操作: 支持多应用的批量管理操作
  • 系统应用: 区分系统和用户应用的管理策略

🎬 专业的媒体操作

  • 屏幕捕获: 高质量屏幕截图和录制
  • 显示管理: 屏幕密度、分辨率动态调整
  • 媒体格式: 支持多种截图和视频格式
  • 实时预览: 屏幕内容的实时获取

📊 高级日志分析

  • 多源日志: logcat、崩溃日志、ANR日志、内核日志
  • 智能过滤: 基于标签、级别、时间的智能过滤
  • 流式处理: 实时日志流式传输
  • 诊断分析: 自动化的错误诊断和问题定位

⚡ 高级功能

  • 批量执行: 多命令序列化执行,支持条件分支
  • 性能监控: CPU、内存、磁盘、网络、电池实时监控
  • 无线管理: 无线ADB连接的自动发现和管理
  • 流式传输: 大文件的分块流式传输

🚀 快速开始

前置要求

  • Node.js: >= 18.0.0
  • Android SDK: 配置完整的 ADB 工具
  • 设备权限: 启用 USB 调试的 Android 设备

📦 安装方式

方式一:直接使用 npx(推荐)
# 直接运行(无需安装)
npx android-adb-mcp

# 或者指定 ADB 路径
ADB_PATH=/path/to/adb npx android-adb-mcp
方式二:全局安装
# 全局安装
npm install -g android-adb-mcp

# 启动服务
android-adb-mcp

# 或者使用 npx
npx android-adb-mcp
方式三:项目本地安装
# 本地安装
npm install android-adb-mcp

# 启动服务
npx android-adb-mcp
方式四:从源码构建
# 克隆项目
git clone https://github.com/qinxiandiqi/android-adb-mcp.git
cd adb-mcp

# 安装依赖
pnpm install

# 构建项目
pnpm build

# 启动服务器
pnpm start

🐳 Docker 部署

# 使用预构建镜像
docker run -d --name adb-mcp --privileged -v /dev/bus/usb:/dev/bus/usb qinxiandiqi/android-adb-mcp

# 或者从源码构建
docker build -t adb-mcp .
docker run -d --name adb-mcp --privileged -v /dev/bus/usb:/dev/bus/usb adb-mcp

📋 工具清单

🔧 设备工具 (6个)

工具名称功能描述参数
list_devices列出所有连接的设备-
get_device_info获取设备详细信息deviceId
connect_device连接TCP/IP设备host, port
disconnect_device断开设备连接host, port
wait_for_device等待设备连接deviceId, timeout
check_device_status检查设备状态deviceId

🐚 Shell工具 (5个)

工具名称功能描述参数
execute_shell执行安全shell命令command, deviceId
get_system_properties获取系统属性property, deviceId
list_processes列出运行进程deviceId
get_memory_info获取内存信息deviceId
get_disk_usage获取磁盘使用情况path, deviceId

📁 文件工具 (6个)

工具名称功能描述参数
list_files列出文件和目录path, deviceId
push_file推送文件到设备localPath, remotePath, deviceId
pull_file从设备拉取文件remotePath, localPath, deviceId
create_directory创建目录path, deviceId
remove_file删除文件或目录path, deviceId
get_file_info获取文件信息path, deviceId

📱 应用工具 (7个)

工具名称功能描述参数
list_apps列出已安装应用filter, deviceId
get_app_info获取应用信息packageName, deviceId
install_app安装APKapkPath, deviceId
uninstall_app卸载应用packageName, deviceId
start_app启动应用packageName, deviceId
stop_app停止应用packageName, deviceId
clear_app_data清除应用数据packageName, deviceId

📸 媒体工具 (6个)

工具名称功能描述参数
capture_screenshot截取屏幕截图savePath, deviceId
record_screen录制屏幕duration, savePath, deviceId
get_screen_info获取屏幕信息deviceId
set_screen_density设置屏幕密度density, deviceId
reset_screen_density重置屏幕密度deviceId
get_display_modes获取显示模式deviceId

📋 日志工具 (6个)

工具名称功能描述参数
get_logs获取logcat日志level, tag, count, deviceId
clear_logs清除日志缓冲区buffer, deviceId
get_crash_logs获取崩溃日志packageName, count, deviceId
get_anr_logs获取ANR日志packageName, count, deviceId
get_kernel_logs获取内核日志count, deviceId
stream_logs流式获取日志filters, deviceId

🚀 高级工具 (5个)

工具名称功能描述参数
execute_batch批量执行命令commands, errorStrategy
get_performance_metrics获取性能指标metrics, deviceId
manage_wireless_connection管理无线连接action, host, port
stream_file流式传输文件source, destination, chunkSize
analyze_storage分析存储使用path, deviceId

⚙️ 配置

环境变量

变量名描述默认值
ADB_PATHADB可执行文件路径adb
ADB_HOSTADB服务器主机localhost
ADB_PORTADB服务器端口5037
ADB_TIMEOUT命令执行超时(秒)30
LOG_LEVEL日志级别info

⚙️ MCP 客户端配置

方式一:使用 npx(推荐)
{
  "mcpServers": {
    "android-devices": {
      "command": "npx",
      "args": ["android-adb-mcp"],
      "env": {
        "ADB_PATH": "/path/to/platform-tools/adb",
        "LOG_LEVEL": "debug"
      }
    }
  }
}
方式二:全局安装
{
  "mcpServers": {
    "android-devices": {
      "command": "android-adb-mcp",
      "args": [],
      "env": {
        "ADB_PATH": "/path/to/platform-tools/adb",
        "LOG_LEVEL": "debug"
      }
    }
  }
}
方式三:本地安装
{
  "mcpServers": {
    "android-devices": {
      "command": "node",
      "args": ["./node_modules/android-adb-mcp/dist/src/index.js"],
      "env": {
        "ADB_PATH": "/path/to/platform-tools/adb",
        "LOG_LEVEL": "debug"
      }
    }
  }
}
方式四:从源码运行
{
  "mcpServers": {
    "android-devices": {
      "command": "node",
      "args": ["/absolute/path/to/adb-mcp/dist/src/index.js"],
      "env": {
        "ADB_PATH": "/path/to/platform-tools/adb",
        "LOG_LEVEL": "debug"
      }
    }
  }
}

🖥️ Claude Desktop 配置示例

快速配置(npx 方式)
{
  "mcpServers": {
    "android-devices": {
      "command": "npx",
      "args": ["android-adb-mcp"],
      "env": {
        "ADB_PATH": "/usr/local/bin/adb"
      }
    }
  }
}
完整配置示例
{
  "mcpServers": {
    "android-devices": {
      "command": "npx",
      "args": ["android-adb-mcp"],
      "env": {
        "ADB_PATH": "/usr/local/bin/adb",
        "ADB_HOST": "localhost",
        "ADB_PORT": "5037",
        "ADB_TIMEOUT": "30",
        "LOG_LEVEL": "info"
      }
    }
  }
}

🛡️ 安全特性

多层安全防护

  1. 命令验证: 基于白名单的安全命令验证
  2. 路径安全: 防止路径遍历和目录逃逸攻击
  3. 输入验证: 使用Zod进行严格的类型和数据验证
  4. 权限控制: 细粒度的操作权限管理
  5. 审计日志: 完整的操作审计和安全日志

安全命令列表

允许执行的Shell命令类别:

  • 系统信息获取 (getprop, dumpsys, wm, am)
  • 文件操作 (ls, cat, stat, mkdir, rm)
  • 进程管理 (ps, top)
  • 网络诊断 (ping, ip, netstat)
  • 日志管理 (logcat, dmesg)

🏗️ 项目架构

技术栈

  • 运行时: Node.js 18+
  • 语言: TypeScript 5.9+
  • 协议: Model Context Protocol (MCP) 2024-11-05
  • 验证: Zod 4.x
  • 测试: Jest 30+
  • 构建: TypeScript + tsc-alias
  • 代码质量: ESLint 9.x + TypeScript ESLint

架构设计

┌─────────────────────────────────────┐
│           MCP Protocol Layer        │
│  ┌─────────────┐  ┌───────────────┐ │
│  │ JSON-RPC    │  │ Tool Registry │ │
│  │ Handler     │  │ & Discovery   │ │
│  └─────────────┘  └───────────────┘ │
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
│            Business Layer           │
│  ┌─────────────┐  ┌───────────────┐ │
│  │   Tool      │  │   Input       │ │
│  │   Modules   │  │ Validation    │ │
│  │ (35 tools)  │  │   (Zod)       │ │
│  └─────────────┘  └───────────────┘ │
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
│          Infrastructure Layer       │
│  ┌─────────────┐  ┌───────────────┐ │
│  │   ADB       │  │   Utility     │ │
│  │   Client    │  │   Functions   │ │
│  └─────────────┘  └───────────────┘ │
└─────────────────────────────────────┘

目录结构

adb-mcp/
├── src/                          # 源代码
│   ├── adb/                      # ADB客户端实现
│   │   ├── client.ts             # 主要ADB客户端类
│   │   └── types.ts              # 类型定义
│   ├── tools/                    # MCP工具模块 (35个工具)
│   │   ├── device-tools.ts       # 设备管理 (6个)
│   │   ├── shell-tools.ts        # Shell命令 (5个)
│   │   ├── file-tools.ts         # 文件操作 (6个)
│   │   ├── app-tools.ts          # 应用管理 (7个)
│   │   ├── media-tools.ts        # 媒体操作 (6个)
│   │   ├── log-tools.ts          # 日志访问 (6个)
│   │   └── advanced-tools.ts     # 高级功能 (5个)
│   ├── utils/                    # 工具函数
│   │   └── validation.ts         # 输入验证和安全
│   └── index.ts                  # MCP服务器入口
├── tests/                        # 测试文件
│   ├── unit/                     # 单元测试 (35+ 测试文件)
│   ├── integration/              # 集成测试
│   ├── mocks/                    # 测试模拟
│   └── benchmark/                # 性能基准测试
├── .github/workflows/            # CI/CD 配置
├── docs/                         # 文档
├── scripts/                      # 构建脚本
└── dist/                         # 构建输出

🧪 测试

运行测试

# 运行所有测试
pnpm test

# 运行测试并生成覆盖率报告
pnpm test:coverage

# 监听模式运行测试
pnpm test:watch

# 运行特定测试
pnpm test device-tools

测试覆盖

  • 单元测试: 100% 工具模块覆盖
  • 集成测试: 完整的ADB客户端测试
  • 安全测试: 输入验证和安全检查测试
  • 性能测试: 基准测试和性能回归测试

测试统计

----------|---------|----------|---------|---------|-------------------
File      | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------|---------|----------|---------|---------|-------------------
All files |     100 |      100 |     100 |     100 |
 src      |     100 |      100 |     100 |     100 |
  adb     |     100 |      100 |     100 |     100 |
  tools   |     100 |      100 |     100 |     100 |
  utils   |     100 |      100 |     100 |     100 |
----------|---------|----------|---------|---------|-------------------

🚀 部署

生产部署

# 构建生产版本
pnpm build

# 启动生产服务器
NODE_ENV=production node dist/src/index.js

PM2 部署

# 安装 PM2
npm install -g pm2

# 启动服务
pm2 start ecosystem.config.js

# 监控状态
pm2 monit

Docker 部署

FROM node:18-alpine

# 安装 ADB
RUN apk add --no-cache android-tools

WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production

COPY dist ./dist
EXPOSE 3000

CMD ["node", "dist/src/index.js"]

📊 性能

基准测试结果

操作类型平均响应时间QPS内存占用
设备列表45ms22/s12MB
Shell命令120ms8/s15MB
文件传输250ms4/s20MB
截图操作800ms1.2/s25MB

性能优化

  • 连接池: ADB连接复用和池化
  • 缓存机制: 设备信息和系统属性缓存
  • 并发控制: 合理的并发限制和队列管理
  • 内存管理: 及时释放大文件和临时数据

🔧 开发

开发环境设置

# 克隆项目
git clone https://github.com/qinxiandiqi/android-adb-mcp.git
cd adb-mcp

# 安装依赖
pnpm install

# 开发模式 (热重载)
pnpm dev

# 类型检查
pnpm type-check

# 代码检查
pnpm lint

# 格式化代码
pnpm format

添加新工具

  1. 创建工具文件:
// src/tools/my-tool.ts
import { z } from 'zod';
import { AdbClient } from '../adb/client.js';

export const myTool = {
  name: 'my_tool',
  description: 'Tool description',
  inputSchema: {
    type: 'object',
    properties: {
      param1: { type: 'string', description: 'Parameter description' }
    },
    required: ['param1']
  },
  handler: async (args) => {
    const client = new AdbClient();
    // 实现工具逻辑
    return { success: true, data: result };
  }
};
  1. 注册工具:
// src/index.ts
import { myTool } from './tools/my-tool.js';

// 在工具注册中添加
const allTools = {
  ...deviceTools,
  ...myTool, // 添加新工具
};
  1. 添加测试:
// tests/unit/tools/my-tool.test.ts
import { myTool } from '../../../src/tools/my-tool.js';

describe('myTool', () => {
  it('should execute successfully', async () => {
    const result = await myTool.handler({ param1: 'test' });
    expect(result.success).toBe(true);
  });
});

贡献指南

  1. Fork 项目
  2. 创建功能分支: git checkout -b feature/amazing-feature
  3. 提交更改: git commit -m 'Add amazing feature'
  4. 推送分支: git push origin feature/amazing-feature
  5. 创建 Pull Request

代码规范

  • 使用 TypeScript 严格模式
  • 遵循 ESLint 和 Prettier 配置
  • 编写完整的单元测试
  • 添加 JSDoc 注释
  • 遵循语义化版本控制

🔍 故障排除

常见问题

ADB 连接问题
# 检查 ADB 服务状态
adb devices

# 重启 ADB 服务
adb kill-server
adb start-server

# 检查设备授权
adb devices -l
权限问题
# Linux/Mac: 检查 USB 权限
sudo usermod -aG plugdev $USER

# 重新加载 udev 规则
sudo udevadm control --reload-rules
网络连接问题
# 检查防火墙设置
sudo ufw status

# 测试端口连通性
telnet localhost 5037

调试模式

# 启用详细日志
DEBUG=adb-mcp:* pnpm start

# 启用 ADB 调试
ADB_TRACE=1 pnpm start

# 启用网络调试
NODE_DEBUG=net pnpm start

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

🤝 贡献者

感谢所有为这个项目做出贡献的开发者!

🙏 致谢

📞 支持


⬆ 回到顶部

Made with ❤️ by the ADB MCP Team

工具与能力

工具数量

41

资源数量

0

提示词数量

0

能力标签

Android设备管理TypeScript本地部署ADB封装AI助手设备控制文件传输应用管理

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 工具数量 41 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Node.js,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Android Adb

MCP World · 本页

41stdio有1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Android Adb 怎么安装?

公开资料给出的安装命令是 npx android-adb-mcp,运行环境为 Node.js。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Android Adb 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Node.js;保存后完全退出客户端再打开,配置才会生效。

Android Adb 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Android Adb 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Android Adb 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP