# android-mcp-server: Programmatic Android Device Control via ADB

This repository profile is provided by osrepos.com, an open source repository discovery platform.

Source: osrepos.com
Repository profile: https://osrepos.com/repo/minhalvp-android-mcp-server
Generated for open source discovery and AI-assisted research.

The android-mcp-server is a Python-based Model Context Protocol (MCP) server designed to offer programmatic control over Android devices using ADB. It enables advanced device management capabilities, including screenshot capture, UI layout analysis, and package management. This server integrates seamlessly with MCP clients like Claude Desktop, providing a powerful tool for developers and automation enthusiasts.

GitHub: https://github.com/minhalvp/android-mcp-server
OSRepos URL: https://osrepos.com/repo/minhalvp-android-mcp-server

## Summary

The android-mcp-server is a Python-based Model Context Protocol (MCP) server designed to offer programmatic control over Android devices using ADB. It enables advanced device management capabilities, including screenshot capture, UI layout analysis, and package management. This server integrates seamlessly with MCP clients like Claude Desktop, providing a powerful tool for developers and automation enthusiasts.

## Topics

- Python
- Android
- ADB
- MCP
- Automation
- Device Control
- Server
- Development Tools

## Repository Information

Last analyzed by OSRepos: Sat Feb 07 2026 00:00:37 GMT+0000 (Western European Standard Time)
Detail views: 9
GitHub clicks: 15

## Safety Notice

OSRepos shares public repositories for knowledge and discovery only. Review source code, dependencies, licenses, and security implications before running or installing anything.

## Content

## Introduction
The `android-mcp-server` project provides a robust Model Context Protocol (MCP) server that facilitates programmatic control over Android devices through the Android Debug Bridge (ADB). This server exposes a range of Android device management capabilities, making it an invaluable tool for automation, testing, and development workflows. It is designed to be accessed by MCP clients, such as Claude Desktop and various code editors.

Key features include:
*   ADB Command Execution
*   Device Screenshot Capture
*   UI Layout Analysis
*   Device Package Management

## Installation
To get started with `android-mcp-server`, follow these steps:

### 1. Prerequisites:
*   Python 3.x
*   ADB (Android Debug Bridge) installed and configured on your system.
*   An Android device or emulator.

### 2. Clone the repository:
bash
git clone https://github.com/minhalvp/android-mcp-server.git
cd android-mcp-server


### 3. Install dependencies:
This project uses `uv` for project management. If you don't have `uv`, refer to its [installation guide](https://docs.astral.sh/uv/getting-started/installation/) (opens in a new tab).
bash
uv python install 3.11
uv sync


## Examples
The `android-mcp-server` is designed to be used with an MCP client. Here's how to configure it with Claude Desktop and an overview of the available tools.

### Configuration 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"]
    }
  }
}

Remember to replace `path/to/uv` with the actual path to your `uv` executable and `path/to/android-mcp-server` with the absolute path where you cloned the repository.

### Available Tools:
The server exposes several powerful tools for interacting with Android devices:

*   `get_packages()`: Get all installed packages on the device.
*   `execute_adb_command(command: str)`: Executes any ADB command and returns its output.
*   `get_uilayout()`: Retrieves information about clickable elements in the current UI.
*   `get_screenshot()`: Takes a screenshot of the device and returns it.
*   `get_package_action_intents(package_name: str)`: Get all non-data actions from Activity Resolver Table for a package.

## Why Use
The `android-mcp-server` offers a streamlined way to integrate Android device control into your development and automation workflows. By leveraging the Model Context Protocol, it allows AI agents and other clients to interact with Android devices programmatically, enabling tasks such as automated testing, UI analysis, and rapid prototyping. Its Python foundation and clear ADB integration make it accessible for developers looking to extend their control over Android environments.

## Links
*   **GitHub Repository:** [minhalvp/android-mcp-server](https://github.com/minhalvp/android-mcp-server) (opens in a new tab)
*   **Model Context Protocol (MCP):** [Introduction](https://modelcontextprotocol.io/introduction) (opens in a new tab)
*   **uv Installation:** [Getting Started](https://docs.astral.sh/uv/getting-started/installation/) (opens in a new tab)