MCP Directory

How to add Android MCP Server to Windsurf

Control Android devices from MCP clients via ADB — run shell commands, capture screenshots, inspect UI, manage packages. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.

Last updated June 14, 2026 · 771 · stdio · no auth

Windsurf config for Android MCP Server

git clone https://github.com/minhalvp/android-mcp-server.git
{
  "mcpServers": {
    "android-mcp-server": {
      "command": "path/to/uv",
      "args": [
        "--directory",
        "path/to/android-mcp-server",
        "run",
        "server.py"
      ]
    }
  }
}

Setup steps

  1. 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
  2. 2Paste the Android MCP Server config below.
  3. 3Fill in placeholder secrets, then save.
  4. 4Click Refresh in the MCP panel.
  5. 5Android MCP Server's tools become available to Cascade.

Before you start

  • Python 3.x (uv can install Python 3.11)
  • uv (Astral) for project/dependency management
  • ADB (Android Debug Bridge) installed and configured
  • An Android device or emulator with USB debugging enabled and authorized
  • An MCP client such as Claude Desktop or Cursor

What Android MCP Server can do in Windsurf

get_packages

Get all installed packages on the device, returned as a string list.

execute_adb_command

Execute an arbitrary ADB command and return its output.

get_uilayout

Retrieve information about clickable elements in the current UI, including text, content description, bounds, and center coordinates.

get_screenshot

Take a screenshot of the device and return it as an image.

get_package_action_intents

Get all non-data actions from the Activity Resolver Table for a given package name.

Security

The execute_adb_command tool runs arbitrary ADB commands against the connected device, giving the MCP client broad control over the device (shell access, package management, etc.). Only connect a trusted device/emulator and review actions accordingly. ADB must be installed and the device authorized for debugging.

Android MCP Server + Windsurf FAQ

Where is the Windsurf config file?

Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Android MCP Server config there under the "mcpServers" key and restart the client.

Is Android MCP Server safe to use with Windsurf?

The execute_adb_command tool runs arbitrary ADB commands against the connected device, giving the MCP client broad control over the device (shell access, package management, etc.). Only connect a trusted device/emulator and review actions accordingly. ADB must be installed and the device authorized for debugging.

Do I need a configuration file?

No. config.yaml is optional. If only one device is connected, the server auto-selects it. Create config.yaml (copied from config.yaml.example) and set device.name to a serial from 'adb devices' only when you have multiple devices and want a specific one.

How do I find my device serial?

Run 'adb devices' and use the value in the first column (for example 13b22d7f or emulator-5554) as device.name in config.yaml.

How do I configure it in Claude Desktop?

Add an entry under mcpServers with command set to your uv executable path and args set to ["--directory", "path/to/android-mcp-server", "run", "server.py"], replacing the paths with your uv path and the absolute path to the cloned repo.

View repo Full Android MCP Server page