Data as of

Android MCP Server for Claude Desktop: Setup & Config

Claude Desktop: Android MCP Server exposes ADB-based device operations to MCP clients.

What you can do with Android in Claude Desktop

Pick it for direct ADB access paired with screenshot and clickable-UI inspection.

  • Inspect clickable UI elements and their screen coordinates
  • Capture device screenshots for assistant review

Before you start: Android in Claude Desktop

  • Python 3.x; setup example installs 3.11
  • uv
  • ADB installed and configured
  • An Android device; emulator support is untested

Replace both path placeholders. Clone the repository and run uv sync first. Select a device in config.yaml when more than one is attached.

Android Claude Desktop configuration

  1. Choose Claude Desktop configuration scope

    For Android MCP Server, open macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json. Merge under mcpServers via Settings → Developer → Edit Config when available.

  2. Add Android MCP Server to Claude Desktop

    Use the android-mcp-server entry below in mcpServers. Keep Android MCP Server's documented stdio connection fields and your other Claude Desktop entries.

  3. Check Android MCP Server in Claude Desktop

    Android MCP Server: Fully quit and reopen Claude Desktop; check developer diagnostics.

Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

JSON
{
  "mcpServers": {
    "android-mcp-server": {
      "command": "path/to/uv",
      "args": [
        "--directory",
        "path/to/android-mcp-server",
        "run",
        "server.py"
      ],
      "env": {}
    }
  }
}

Android tools available to Claude Desktop

Android's stored tool list documents 5 tools; compare it with Claude Desktop's connected tool list, because the stored list is not a live check.

get_packages

When Claude Desktop requests get_packages from Android, review the action before approving it.

List packages installed on the selected device.

execute_adb_command

When Claude Desktop requests execute_adb_command from Android, review the action before approving it.

Run an ADB command and return its output.

get_uilayout

When Claude Desktop requests get_uilayout from Android, review the action before approving it.

Inspect clickable UI elements, including bounds and center coordinates.

get_screenshot

When Claude Desktop requests get_screenshot from Android, review the action before approving it.

get_package_action_intents

When Claude Desktop requests get_package_action_intents from Android, review the action before approving it.

Android: full stored tool descriptions

Troubleshooting Android in Claude Desktop

  • Fully quit and reopen Claude Desktop for Android MCP Server. If uv is missing, check the desktop process's PATH, which may differ from your terminal.
  • Android MCP Server uses stdio here: Claude Desktop must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
  • Known limitation: Emulator use is marked untested
  • Known limitation: Requires ADB installation and a connected device
  • General Claude Desktop troubleshooting lives in the /clients/claude-desktop guide.

Android MCP Server — details. Claude Desktop guide

Frequently asked questions

Claude Desktop loads Android MCP Server from claude_desktop_config.json: ~/Library/Application Support/Claude/ on macOS, or %APPDATA%\Claude\ on Windows. Open it via Settings → Developer → Edit Config when available.

Claude Desktop's android-mcp-server example uses stdio.

Android MCP Server's Claude Desktop configuration invokes uv.

Android MCP Server's stored list contains 5 tools, including get_packages, execute_adb_command, get_uilayout. Compare those names with Claude Desktop's connected tool list; the stored list is not a live check.

No. A single connected device is selected automatically without config.yaml.

Specify device.name in config.yaml. Without a selection, the server reports an error listing the devices.