Skip to main content

Android MCP Server

MCP server providing ADB and scrcpy capabilities for Android device control. Built with FastMCP.

Assisted by Minimax Model via Claude Code.

Features

  • Device Management: List devices, get device info
  • App Management: Install/uninstall apps, start/stop apps, list packages
  • File Operations: Push/pull files between device and host
  • Shell Execution: Run shell commands on device, exec-out for binary output
  • Input Control: Tap, swipe, input text, press keys
  • System Info: Screen size, battery status, system properties
  • Screen Control: Screen mirroring and control via scrcpy, screenshot via exec-out
  • UI Element Finding: Dump UI hierarchy, find elements by attributes

Install

uv add android-mcp-server

Or install from source:

# Clone the repo, then install
git clone https://github.com/chldu2000/android-mcp-server.git
cd android-mcp-server
uv pip install -e .
uv run python -m android_mcp.main

Add MCP Server

Claude Code

claude mcp add android uv run -- python -m android_mcp.main --cwd /Path/to/workdir

Other MCP Clients

The server can be run with:

uv run python -m android_mcp.main

Tools

Device Management

Tool Description
adb_list_devices List all connected Android devices
adb_device_info Get detailed device information

App Management

Tool Description
adb_install_app Install an APK
adb_uninstall_app Uninstall an application
adb_list_packages List installed packages
adb_start_app Start an application
adb_stop_app Force stop an application

File Operations

Tool Description
adb_pull_file Pull file from device
adb_push_file Push file to device

Shell

Tool Description
adb_shell Execute shell command
adb_exec_out Execute command via exec-out (for binary output)

Input Control

Tool Description
adb_tap Tap at coordinates
adb_swipe Swipe gesture
adb_input_text Input text
adb_press_key Press key event

System Info

Tool Description
adb_get_screen_size Get screen resolution
adb_get_battery Get battery status
adb_get_properties Get system properties

Screen Control (scrcpy)

Tool Description
scrcpy_start Start screen mirroring
scrcpy_stop Stop screen mirroring
scrcpy_screenshot Take screenshot
scrcpy_control Send control command
adb_screencap Capture screenshot via exec-out

UI Elements

Tool Description
adb_dump_ui_tree Dump UI hierarchy tree
adb_find_element Find UI elements by attributes

Device Connection

USB Devices

Connect via USB and ensure USB debugging is enabled on the device.

Network Devices

For TCP/IP connection:

  1. Enable TCP/IP mode on device:

    adb tcpip 5555
    
  2. Find device IP:

    adb shell ip route
    
  3. Connect:

    adb connect <device-ip>:5555
    

Dependencies

  • fastmcp - MCP server framework
  • scrcpy - Screen mirroring (must be installed separately)
  • uiautomator2 - uiautomator2 Python wrapper

Metadata

Release files for android-mcp-server 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for android-mcp-server 0.1.1
File Size Uploaded
android_mcp_server-0.1.1.tar.gz 128.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for android-mcp-server 0.1.1
File Interpreter ABI Platform
android_mcp_server-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 148.9 kB

Release files / android_mcp_server-0.1.1.tar.gz

Download URL android_mcp_server-0.1.1.tar.gz
Size 128.5 kB
Tags Source
SHA-256 checksum
How to use checksums
acb4b5bced4547609d504ff621b80749d84e26d345c7b3eaf6974c297f1c25a7
BLAKE2b-256 checksum
How to use checksums
870286f9d10de9b0ad095c8af4989674f8faefb9757acfc849dc7c77131285a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 6, 2026.

Transparency log

Release files / android_mcp_server-0.1.1-py3-none-any.whl

Download URL android_mcp_server-0.1.1-py3-none-any.whl
Size 20.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d2b7122c6fd5e0f41c3b9ff1dcd241edae4ae4f14047cdd25163d3320604772c
BLAKE2b-256 checksum
How to use checksums
4af5b05299b7ed5741426224016c5a1758e4c44a038f4c369f3c321ab211eb54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 6, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page