Android MCP Server

Android MCP Server

一个服务器,可以通过 ADB 以编程方式控制 Android 设备,提供诸如屏幕截图捕获、UI 布局分析和软件包管理等功能,这些功能可以被像 Claude Desktop 这样的 MCP 客户端访问。

操作系统自动化
开发者工具
访问服务器

README

Android MCP 服务器

一个 MCP (模型上下文协议) 服务器,通过 ADB (Android 调试桥) 提供对 Android 设备的程序化控制。该服务器公开了各种 Android 设备管理功能,这些功能可以被 MCP 客户端访问,例如 Claude desktop 和代码编辑器 (例如 Cursor)。

功能

  • 🔧 ADB 命令执行
  • 📸 设备屏幕截图捕获
  • 🎯 UI 布局分析
  • 📱 设备包管理

前提条件

  • Python 3.x
  • ADB (Android 调试桥) 已安装并配置
  • Android 设备或模拟器 (未经测试)

安装

  1. 克隆存储库:
git clone https://github.com/minhalvp/android-mcp-server.git
cd android-mcp-server
  1. 安装依赖项: 本项目使用 uv 通过各种 安装 方法进行项目管理。
uv python install 3.11
uv sync

配置

服务器使用一个简单的 YAML 配置文件 (config.yaml) 来指定目标 Android 设备。

自定义配置

  1. 创建一个新的配置文件:
touch config.yaml
  1. 配置您的设备:
device:
  name: "google-pixel-7-pro:5555" # 您设备标识符,来自 'adb devices'

用法

需要一个 MCP 客户端才能使用此服务器。 Claude Desktop 应用程序是 MCP 客户端的一个示例。 要将此服务器与 Claude Desktop 一起使用:

  1. 找到您的 Claude Desktop 配置文件:

    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. 将 Android MCP 服务器配置添加到 mcpServers 部分:

{
  "mcpServers": {
    "android": {
      "command": "path/to/uv",
      "args": ["--directory", "path/to/android-mcp-server", "run", "server.py"]
    }
  }
}

替换:

  • path/to/uv 为您的 uv 可执行文件的实际路径
  • path/to/android-mcp-server 为您克隆此存储库的绝对路径

可用工具

服务器公开了以下工具:

def get_packages() -> str:
    """
    获取设备上所有已安装的软件包。
    Returns:
        str: 设备上所有已安装软件包的字符串列表
    """
def execute_adb_command(command: str) -> str:
    """
    执行 ADB 命令并返回输出。
    Args:
        command (str): 要执行的 ADB 命令
    Returns:
        str: ADB 命令的输出
    """
def get_uilayout() -> str:
    """
    检索有关当前 UI 中可点击元素的信息。
    返回一个格式化的字符串,其中包含有关每个可点击元素的详细信息,
    包括它们的文本、内容描述、边界和中心坐标。

    Returns:
        str: 包含其属性的可点击元素的格式化列表
    """
def get_screenshot() -> Image:
    """
    拍摄设备的屏幕截图并返回。
    Returns:
        Image: 屏幕截图
    """
def get_package_action_intents(package_name: str) -> list[str]:
    """
    从 Activity Resolver Table 中获取包的所有非数据操作
    Args:
        package_name (str): 要获取操作的包的名称
    Returns:
        list[str]: 来自 Activity Resolver 的所有非数据操作的列表
        包的表
    """

贡献

欢迎贡献!

鸣谢

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript