Skip to main content

Lightweight MCP Server for Android Operating System

Project description

🤖 Android MCP

License Python Platform Last Commit
Follow on Twitter Join us on Discord

Android-MCP is a lightweight, open-source tool that bridge between AI agents and Android devices. Running as an MCP server, it lets LLM agents perform real-world tasks such as app navigation, UI interaction and automated QA testing without relying on traditional computer-vision pipelines or preprogramed scripts.

https://github.com/user-attachments/assets/cf9a5e4e-b69f-46d4-8487-0f61a7a86d67

✨ Features

  • Native Android Integration
    Interact with UI elements via ADB and the Android Accessibility API: launch apps, tap, swipe, input text, and read view hierarchies.

  • Bring Your Own LLM/VLM
    Works with any language model, no fine-tuned CV model or OCR pipeline required.

  • Rich Toolset for Mobile Automation
    Pre-built tools for gestures, keystrokes, capture, device state, shell commands execution.

  • Real-Time Interaction
    Typical latency between actions (e.g., two taps) ranges 2-4s depending on device specs and load.

Supported Operating Systems

  • Android 10+

Installation

📦 Prerequisites

  • Python 3.10+
  • UIautomator2
  • Android 10+ (Emulator/ Android Device)
  • A computer to run MCP server

🏁 Getting Started

  1. Clone the repository
   git clone https://github.com/CursorTouch/Android-MCP.git
   cd Android-MCP
  1. Install dependencies
   uv python install 3.10
   uv sync
  1. Connect to the MCP server

  2. Locate your Claude Desktop configuration file:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  1. Add the following JSON to your Claude Desktop config:
  {
    "mcpServers": {
      "android-mcp": {
        "command": "path/to/uv",
        "args": [
          "--directory",
          "path/to/Android-MCP",
          "run",
          "main.py",
          "--emulator"
        ]
      }
    }
  }

Replace:

  • path/to/uv with the actual path to your uv executable
  • path/to/Android-MCP with the absolute path to where you have cloned this repo

NOTE: --emulator this is used to run in emulator, remove it to use actual device

  1. Restart the Claude Desktop

Restart your Claude Desktop. You should see "android-mcp" listed as an available integration. That's it, now you're ready to start controlling your Android device with natural language.

For troubleshooting tips (log locations, common ADB issues), see the MCP docs.


🛠️ Available Tools

Claude can access the following tools to interact with Windows:

  • State-Tool: To understand the state of the device.
  • Click-Tool: Click on the screen at the given coordinates.
  • Long-Click-Tool: Perform long click on the screen at the given coordinates.
  • Type-Tool: Type text on the specified coordinates (optionally clears existing text).
  • Swipe-Tool: Perform swipe from one location to other.
  • Drag-Tool: Drag from one point to another.
  • Press-Tool: To press the keys on the mobile device (Back, Volume Up, ...etc).
  • Wait-Tool: Pause for a defined duration.
  • State-Tool: Combined snapshot of active apps and interactive UI elements.
  • Notification-Tool: To access the notifications seen on the device.
  • Shell-Tool: To execute shell commands on the android device.

⚠️ Caution

Android-MCP can execute arbitrary UI actions on your mobile device. Use it in controlled environments (emulators, test devices) when running untrusted prompts or agents.

🪪 License

This project is licensed under the MIT License. See LICENSE for details.

🤝 Contributing

Contributions are welcome! Please read CONTRIBUTING for dev setup and PR guidelines.

Made with ❤️ by CursorTouch,

developers: Jeomon George, Muhammad Yaseen

Citation

@misc{
  author       = {cursortouch},
  title        = {Android-MCP},
  year         = {2025},
  publisher    = {GitHub},
  howpublished = {\url{https://github.com/CursorTouch/Android-MCP}},
  note         = {Lightweight open-source bridge between LLM agents and Android},
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

android_mcp-0.1.0.tar.gz (75.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

android_mcp-0.1.0-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file android_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: android_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 75.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.22

File hashes

Hashes for android_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a4c042f951fadac9b09a68d875244e2f4c1ac99d2e4fc24d0f98ca91d5c00df8
MD5 d4a529bd2dfa0c41867544db19127df5
BLAKE2b-256 007cb4b26166bccc0e57712cdd02988431054a3cd7f1464a7562935c54022b74

See more details on using hashes here.

File details

Details for the file android_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for android_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 00bf4503eb101b062eae800662b2b6f03d87445c6816e7971d26f1e3a7b86e4e
MD5 757359836d64226d59cb4c4fd5d7995e
BLAKE2b-256 c511b8bb322fb28e2d1920cb7a2fccb0202d86c0863148a7b9dcfa0dea15b4fe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page