OpenViSTAI · Agents · Blockchain · Crypto
Menu
MCP & Tooling

Android MCP

Android MCP is a Python MCP server that lets an AI client inspect and control Android devices through ADB, using tools for device connection, screen snapshots, UI-element selection, touch input, text entry and waits.

Independent OpenViST project profile, based on linked sources.

Android MCP — OpenViST project profile in MCP & Tooling.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use it when an MCP client needs to observe Android UI state and perform ADB-backed interactions on a physical device or emulator.

Who it is for

  • Developers connecting an MCP-capable AI client to Android devices.
  • Teams building agent workflows for Android app interaction or UI testing.

Documented uses

  • List and select an Android device or emulator.
  • Inspect interactive screen elements and capture screenshots.
  • Tap controls by coordinates or exact UI-element attributes.
  • Automate touch gestures, text entry, navigation buttons and waits.
Before you choose

Requirements & limits

The repository specifies an MIT license. Running the documented server requires Python 3.13 and Android platform-tools’ adb.

  • The server communicates with clients over MCP on stdio and connects to the device through ADB.
  • Device selection supports USB, Wi-Fi, automatic selection or a specified serial or network address.
  • UI-element inspection depends on the screen becoming idle; coordinate actions can still be used when element extraction fails.
  • Text outside the documented printable ASCII and supported accented Latin range requires the separate ADBKeyboard app.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Configure the MCP server and select an Android device

Start the server in an MCP client and specify how it should find the Android device.

Before you start

  • Python 3.13
  • Android platform-tools with adb
  • An MCP client that supports stdio servers

Steps

  1. Run the command below from the project directory.

    Documented command
    uv run android-mcp-beta
  2. Add an MCP server entry to the client configuration using command uv and arguments --directory and run android-mcp-beta.

  3. Optionally choose a device with --device SERIAL, --usb [SERIAL], --wifi [HOST] or --connection auto|usb|wifi; corresponding documented environment variables are also available for device selection.

Expected outcome

The MCP client has a stdio server configured to connect to a selected Android device when its first tool is called.

Guide limitations

  • The documented command and configuration use uv and a project-directory path.
  • The device connection occurs on the first tool call, not when the server starts.
Source-based practical guide

Inspect an Android screen and act on a UI element

Use the available screen-inspection and interaction tools to locate and act on a control.

Before you start

  • The server configured in an MCP client
  • An Android device reachable through ADB

Steps

  1. Call Snapshot to retrieve interactive elements, labels and tap coordinates; request vision output if a screenshot with labels is useful.

  2. Use ClickBySelector with an exact text, resource ID, class name or description match, or use Click with coordinates.

  3. Use WaitForElement when the workflow needs to wait for an element to appear before proceeding.

Expected outcome

The client can inspect the returned screen information and invoke a documented tap or wait action.

Guide limitations

  • The UI element dump can fail when a screen never becomes idle; Snapshot can then return only a screenshot, while coordinate-based input remains available.
  • ClickBySelector uses exact matches.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
5 November 2026
Original website title
CursorTouch/Android-MCP · Official homepage title · retained in its source language