Claude Marketplaces
SkillsMCP serversMarketplacesDigestTools
Submit

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP servers by category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control
Claude Marketplaces

An independent directory of skills, plugins and MCP servers for Claude Code. Not affiliated with Anthropic.

Browse

  • Skills
  • MCP servers
  • Marketplaces
  • Weekly digest
  • Skill index
  • MCP index
  • Marketplace index

Site

  • About
  • Tools
  • Submit
  • Feedback
  • Privacy
  • llms.txt
  • Plugins reference

Maker

  • Snug
  • Agent Caffeine
  • knobs
  • Wax
  • Vectoys
  • mertduzgun.com
Crafted at
MCP servers/Mobile Development
minhalvp avatar

Android

minhalvp/android-mcp-server

The Android MCP Server provides programmatic control over Android devices through ADB (Android Debug Bridge), exposing capabilities for ADB command execution, device screenshot capture, UI layout analysis, and package management. The server solves the problem of enabling MCP clients like Claude Desktop and code editors to interact with and manage Android devices programmatically, with flexible configuration supporting both automatic device detection for single-device setups and manual selection for multiple connected devices.

GitHub stars
750
last updated
Feb 14, 2026
View on GitHubSave

Sponsors

SnugThe clipboard manager you and your agent can use, safelyAgent CaffeineClose your lid, come back to finished workWaxBlock anything with supervision, without erasing your iPhoneOpen StepsSponsoredFree and open-source skills that make AI coding agents easier to understand, verify, and control.

Readme

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 supports flexible device configuration with multiple usage scenarios.

Device Selection Modes

1. Automatic Selection (Recommended for single device)

  • No configuration file needed
  • Automatically connects to the only connected device
  • Perfect for development with a single test device

2. Manual Device Selection

  • Use when you have multiple devices connected
  • Specify exact device in configuration file

Configuration File (Optional)

The configuration file (config.yaml) is optional. If not present, the server will automatically select the device if only one is connected.

For Automatic Selection

Simply ensure only one device is connected and run the server - no configuration needed!

For Manual Selection
  1. Create a configuration file:
cp config.yaml.example config.yaml
  1. Edit config.yaml and specify your device:
device:
  name: "your-device-serial-here" # Device identifier from 'adb devices'

For auto-selection, you can use any of these methods:

device:
  name: null              # Explicit null (recommended)
  # name: ""              # Empty string  
  # name:                 # Or leave empty/comment out

Finding Your Device Serial

To find your device identifier, run:

adb devices

Example output:

List of devices attached
13b22d7f        device
emulator-5554   device

Use the first column value (e.g., 13b22d7f or emulator-5554) as the device name.

Usage Scenarios

ScenarioConfiguration RequiredBehavior
Single device connectedNone✅ Auto-connects to the device
Multiple devices, want specific oneconfig.yaml with device.name✅ Connects to specified device
Multiple devices, no configNone❌ Shows error with available devices
No devices connectedN/A❌ Shows "no devices" error

Note: If you have multiple devices connected and don't specify which one to use, the server will show an error message listing all available 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

  • Built with Model Context Protocol (MCP)

Details

Repository
github.com/minhalvp/android-mcp-server
Category
Mobile Development

Related Mobile Development MCP servers

View all
1appium avatarAppiumappium/appium-mcpMCP Appium provides cross-platform mobile automation with intelligent locators, session management, and test generation.355stars
2lakr233 avatariPhonelakr233/iphone-mcpA Model Context Protocol (MCP) server for automating iPhone tasks with Appium. Supports app control, UI interactions, and screenshot capture via streamable HTTP129stars
3martingeidobler avatarAndroidmartingeidobler/android-mcp-serverControl Android devices and emulators via ADB — screenshots, UI automation, and logcat.46stars
4wklm avatariOS Web Bluetooth (WebBLE)wklm/ioswebble-sdkMCP server to ship Web Bluetooth on iPhone Safari via the WebBLE extension.0stars
5ethanackerman-git avatarPreflight Ios Mcpethanackerman-git/preflight57 tools for AI-powered iOS Simulator automation — tap, swipe, type, screenshots, and more.0stars
6rmathew1973 avatarIos Sim Mcprmathew1973/ios-sim-mcpDrive the iOS Simulator via semantic accessibility-tree snapshots. Sub-200ms, no WebDriverAgent.0stars