Cover image
Try Now
2025-03-24

Mirror ofhttps://github.com/minhalvp/android-mcp-server

3 years

Works with Finder

0

Github Watches

0

Github Forks

0

Github Stars

Android MCP Server

An MCP (Model Context Protocol) server that provides programmatic control over Android devices through ADB (Android Debug Bridge). This server exposes various Android device management capabilities that can be accessed by MCP clients like Claude desktop and Code editors (e.g. Cursor)

Features

  • 🔧 ADB Command Execution
  • 📸 Device Screenshot Capture
  • 🎯 UI Layout Analysis
  • 📱 Device Package Management

Prerequisites

  • Python 3.x
  • ADB (Android Debug Bridge) installed and configured
  • Android device or emulator (not tested)

Installation

  1. Clone the repository:
git clone https://github.com/minhalvp/android-mcp-server.git
cd android-mcp-server
  1. Install dependencies: This project uses uv for project management via various methods of installation.
uv python install 3.11
uv sync

Configuration

The server uses a simple YAML configuration file (config.yaml) to specify the target android device

Customizing Configuration

  1. Create a new configuration file:
touch config.yaml
  1. Configure your device:
device:
  name: "google-pixel-7-pro:5555" # Your device identifier from 'adb devices'

Usage

An MCP client is needed to use this server. The Claude Desktop app is an example of an MCP client. To use this server with Claude Desktop:

  1. Locate your Claude Desktop configuration file:

    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. Add the Android MCP server configuration to the mcpServers section:

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

Replace:

  • path/to/uv with the actual path to your uv executable
  • path/to/android-mcp-server with the absolute path to where you cloned this repository

https://github.com/user-attachments/assets/c45bbc17-f698-43e7-85b4-f1b39b8326a8

Available Tools

The server exposes the following tools:

def get_packages() -> str:
    """
    Get all installed packages on the device.
    Returns:
        str: A list of all installed packages on the device as a string
    """
def execute_adb_command(command: str) -> str:
    """
    Executes an ADB command and returns the output.
    Args:
        command (str): The ADB command to execute
    Returns:
        str: The output of the ADB command
    """
def get_uilayout() -> str:
    """
    Retrieves information about clickable elements in the current UI.
    Returns a formatted string containing details about each clickable element,
    including their text, content description, bounds, and center coordinates.

    Returns:
        str: A formatted list of clickable elements with their properties
    """
def get_screenshot() -> Image:
    """
    Takes a screenshot of the device and returns it.
    Returns:
        Image: the screenshot
    """
def get_package_action_intents(package_name: str) -> list[str]:
    """
    Get all non-data actions from Activity Resolver Table for a package
    Args:
        package_name (str): The name of the package to get actions for
    Returns:
        list[str]: A list of all non-data actions from the Activity Resolver
        Table for the package
    """

Contributing

Contributions are welcome!

Acknowledgments

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • Yasir Eryilmaz
  • AI scriptwriting assistant for short, engaging video content.

  • Daren White
  • A supportive coach for mastering all Spanish tenses.

  • https://zenepic.net
  • Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • huahuayu
  • A unified API gateway for integrating multiple etherscan-like blockchain explorer APIs with Model Context Protocol (MCP) support for AI assistants.

  • deemkeen
  • control your mbot2 with a power combo: mqtt+mcp+llm

  • zhaoyunxing92
  • 本项目是一个钉钉MCP(Message Connector Protocol)服务,提供了与钉钉企业应用交互的API接口。项目基于Go语言开发,支持员工信息查询和消息发送等功能。

  • justmywyw
  • Short and sweet example MCP server / client implementation for Tools, Resources and Prompts.

    Reviews

    4 (1)
    Avatar
    user_DrqVsHFt
    2025-04-15

    Weather MCP Server by nakamurau1 is a game-changer for weather data integration. Its seamless interface and robust features make weather data management simple and efficient. Highly recommend for developers needing reliable weather APIs. Check it out!