Android-MCP

by CursorTouchVerified

MCP Server for interacting with Android Devices.

820
Stars
109
Forks
Python
Language
8/23/2026
Added
View on GitHubDownload ZIP

⚠️ Third-Party Software Notice

This skill is third-party open-source software developed and hosted independently on GitHub. SkillTip is an informational directory and does not control or maintain the underlying repository. Any security checks displayed are automated and limited in scope. Review the source code before installing.

Read the Terms of Service

Installation

Add to your Claude Code skills directory:

# Add to your Claude Code skills
git clone https://github.com/CursorTouch/Android-MCP

Getting Started

Guides for using skills like Android-MCP.

Security Report

Verified

Last scanned: —

{
  "status": "PASSED",
  "issues": []
}

README.md

🤖 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.13
  • ADB (Android Debug Bridge)
  • Android 10+ (Emulator/ Android Device)

📲 Testing ADB Connection

Before running the server, ensure your Android device is connected and recognized by ADB:

  1. Connect your Android device via USB or ensure your emulator is running.
  2. Open a terminal and run:
    adb devices
    
  3. You should see your device listed:
    List of devices attached
    R38M30XXXXX   device
    
    The serial number will differ per device. Emulators show serials like emulator-5554. If the list is empty or shows "unauthorized", check your USB debugging settings on the device.

For WiFi ADB, connect the device first:

adb connect 192.168.1.3:5555
adb devices

🏁 Getting Started

You can run the Android MCP server using UVX (recommended) or UV (for local development).

Option 1: UVX (Recommended)

No need to install dependencies manually. Just configure Claude Desktop:

Windows note: Use Python 3.13 for uvx on Windows. Python 3.14 currently fails to resolve a transitive pywin32 dependency used by the MCP stack.

  1. Locate your config file

    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. Add the configuration

    {
      "mcpServers": {
        "android-mcp": {
          "command": "uvx",
          "args": [
            "--python",
            "3.13",
            "android-mcp"
          ]
        }
      }
    }
    

    Note: The server starts first and connects lazily when a tool runs. If no device is specified, it auto-detects connected devices and prefers physical devices over emulators. Use --device <serial> or the ANDROID_MCP_DEVICE environment variable to target a specific device.

    Configure a specific WiFi device with environment variables:

    {
      "mcpServers": {
        "android-mcp": {
          "command": "uvx",
          "args": [
            "--python",
            "3.13",
            "android-mcp"
          ],
          "env": {
            "ANDROID_MCP_CONNECTION": "wifi",
            "ANDROID_MCP_HOST": "192.168.1.3"
          }
        }
      }
    }
    

    Or pass explicit flags:

    {
      "mcpServers": {
        "android-mcp": {
          "command": "uvx",
          "args": [
            "--python",
            "3.13",
            "android-mcp",
            "--wifi",
            "192.168.1.3"
          ]
        }
      }
    }
    

Option 2: UV Mode (Local Development)

  1. Clone and Install

    git clone https://github.com/CursorTouch/Android-MCP.git
    cd Android-MCP
    uv sync
    
  2. Configure Claude Desktop

    {
      "mcpServers": {
        "android-mcp": {
          "command": "uv",
          "args": [
            "--directory",
            "</PATH/TO/Android-MCP>",
            "run",
            "android-mcp"
          ]
        }
      }
    }
    

    Note: Replace </PATH/TO/Android-MCP> with the full path to your cloned directory. You can also add "--device", "<YOUR_DEVICE_serial>", "--wifi", "192.168.1.3", or "--usb" to control device selection. uv sync follows the repo's .python-version, so local development uses Python 3.13 by default.

Option 3: OpenCode

You can also use Android-MCP with OpenCode. After cloning and installing the repo (see Option 2), add the server as a local MCP in your OpenCode config (opencode.json):

{
  "mcp": {
    "android-mcp": {
      "type": "local",
      "command": ["uv", "--directory", "</PATH/TO/Android-MCP>", "run", "android-mcp"]
    }
  }
}

Note: Replace </PATH/TO/Android-MCP> with the full path to your cloned directory. As with UV mode, you can append "--device", "--wifi", "--usb", etc. to the command array to control device selection.

🔌 Device Selection

Android-MCP resolves devices lazily when a tool is called, so the MCP server can start even if no device is available yet.

  • --device RFCN2013V8D: connect to a specific USB serial
  • --device 192.168.1.3:5555: connect to a specific WiFi ADB target
  • --wifi 192.168.1.3: use WiFi and auto-append port 5555
  • --usb: auto-detect the first USB-connected device
  • --usb RFCN2013V8D: use a specific USB device
  • --connection wifi: prefer the first available WiFi ADB device
  • --connection usb: prefer the first available USB device

Supported environment variables:

  • ANDROID_MCP_DEVICE: explicit serial or host:port
  • ANDROID_MCP_CONNECTION: auto, usb, or wifi
  • ANDROID_MCP_HOST: WiFi host, with :5555 added automatically when omitted

If nothing is configured, Android-MCP will use the first available ADB device reported by adb devices. If none are available, tool calls return a configuration error instead of crashing the MCP handshake.

  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.

⚙️ Environment Variables

  • SCREENSHOT_QUANTIZED: Set to true to quantize the screenshot to reduce input tokens.

⚠️ 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},
}

Frequently Asked Questions

What is Android-MCP?

Android-MCP is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by CursorTouch. MCP Server for interacting with Android Devices. It has 820 GitHub stars.

Is Android-MCP safe to use?

Yes. Android-MCP passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.

How do I install Android-MCP?

Clone the repository with "git clone https://github.com/CursorTouch/Android-MCP" and add it to your Claude Code skills directory (see the Installation section above).

What programming language is Android-MCP written in?

Android-MCP is primarily written in Python. It is open-source under CursorTouch on GitHub, so you can review or fork the full source.

Are there alternatives to Android-MCP?

Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh Android-MCP against similar tools.

Comments (0)

No comments yet. Be the first to share your thoughts!

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP Serversapisai-tools
View details

Scrapling

by D4Vinci

🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!

75,9137,581Python
MCP Servers
View details

TrendRadar

by sansan0

⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP 架构,赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ,数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。

61,65224,883Python
MCP Servers
View details

context7

by upstash

Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

61,0602,938TypeScript
MCP Servers
View details

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

39,9393,219C
MCP Servers
View details

Developers Also Liked

Based on votes and bookmarks from developers who liked this skill

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI Agentsai-agentsanthropicclaude-code
View details
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI Agentsai-agentsbrainstorming
View details

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP Serversapisai-tools
View details

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI Agentsai-agentsanthropicclaude-code
View details

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI Agentsclaude-codeai-tools
View details