Skip to content

CursorTouch/Android-MCP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 Android MCP

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

Android-MCP is a lightweight, open-source bridge between AI agents and Android devices. Running as an MCP server, it lets large-language-model 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.

Demo.mov

✨ 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 Emulator/ Android Device

🏁 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

Open your Claude Desktop, “android-mcp” should now appear as an integration.

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


🛠️ MCP 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 Jeomon George

Citation

@misc{
  author       = {Jeomon George},
  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},
}

About

Lightweight MCP Server for interacting with Android Operating System.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages