mcpField
A
Android ADB MCP Server

Android ADB MCP Server

Local
github.com/landicefuDeveloper Tools38Updated 1w ago

About Android ADB MCP Server

Android ADB MCP Server is an MCP server that lets AI assistants manage and operate Android devices through the Android Debug Bridge. It is aimed at Android developers and testers who want to automate device tasks such as installing apps, transferring files and taking screenshots.

Key features

  1. 01Lists and manages multiple connected devices
  2. 02Runs shell commands and installs or uninstalls apps
  3. 03Pushes and pulls files between host and device
  4. 04Launches apps and saves or copies screenshots

Use cases

  1. 01Installing APK files on a device for testing through an AI assistant
  2. 02Collecting screenshots and files from connected devices
  3. 03Automating app launches and debugging steps

MCP support

This is an MCP server that exposes ADB-based tools such as adb_devices, adb_shell, adb_install and adb_push to MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"android-adb": {
"command": "npx",
"args": [
"-y",
"@landicefu/android-adb-mcp-server"
]
}
}
}
Run commandnpx -y @landicefu/android-adb-mcp-server

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@landicefu/android-adb-mcp-server

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Android ADB MCP Server

A Model Context Protocol (MCP) server that enables AI assistants to interact with Android devices through the Android Debug Bridge (ADB). This server bridges the gap between AI capabilities and Android device management, allowing for seamless automation of Android development and testing operations.

⚙️ Quick Setup

Add the server to your MCP configuration file:

{
  "mcpServers": {
    "android-adb": {
      "command": "npx",
      "args": ["-y", "@landicefu/android-adb-mcp-server"],
      "env": {},
      "disabled": false,
      "alwaysAllow": []
    }
  }
}
Configuration Locations
  • Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
  • Cline/Roo Code: ~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json (macOS)
  • For Windows/Linux, check the equivalent application support directories

After configuring, restart your AI assistant to load the new server configuration.

📋 Prerequisites

  • ADB (Android Debug Bridge) must be installed and available in your system PATH
  • For clipboard functionality:
    • macOS: osascript (built-in)
    • Windows: PowerShell (built-in)
    • Linux: xclip (install via apt-get install xclip or equivalent)
  • Node.js 16.x or higher

🚀 Features

  • Connect to and manage multiple Android devices
  • Execute shell commands on Android devices
  • Install and uninstall applications
  • Push and pull files between local system and Android devices
  • Launch applications on Android devices
  • Take screenshots and save them locally or copy to clipboard
  • Smart device selection when multiple devices are connected

🛠️ Available Tools

ToolDescriptionRequired ParametersOptional Parameters
adb_devicesList connected devicesNoneNone
adb_shellExecute shell commandscommanddevice_id
adb_installInstall APK filespathdevice_id
adb_uninstallUninstall applicationspackage_namedevice_id
adb_list_packagesList installed packagesNonedevice_id, filter
adb_pullPull files from deviceremote_path, local_pathdevice_id
adb_pushPush files to devicelocal_path, remote_pathdevice_id
launch_appLaunch an applicationpackage_namedevice_id
take_screenshot_and_saveTake and save screenshotoutput_pathdevice_id, format
take_screenshot_and_copy_to_clipboardTake screenshot to clipboardNonedevice_id, format
Device Management

The server intelligently handles device selection:

  • If only one device is connected, it will be used automatically
  • If multiple devices are connected, you must specify a device_id parameter
  • If no devices are connected, an error will be returned
Screenshot Path Resolution

When specifying the output_path for saving screenshots, the path is resolved as follows:

  • Absolute paths are used as-is
  • Paths starting with ~ are expanded to the user's home directory
  • Relative paths are resolved relative to the user's home directory

This ensures that screenshots are saved to a location where the MCP server has write permissions.

🔍 Troubleshooting

Common Issues
  1. "ADB is not available" error

    • Ensure ADB is installed and in your system PATH
    • Verify by running adb version in your terminal
  2. "No Android devices connected" error

    • Check if your device is properly connected with adb devices
    • Ensure USB debugging is enabled on your device
    • Try restarting ADB with adb kill-server followed by adb start-server
  3. "Multiple devices connected" error

    • Specify the device_id parameter in your tool call
    • Get the list of available devices with the adb_devices tool
  4. Screenshot to clipboard not working

    • Ensure the required platform-specific tools are installed

🔧 Alternative Installation Methods

Option 1: Install from npm
# Install globally
npm install -g @landicefu/android-adb-mcp-server

# Or install locally in your project
npm install @landicefu/android-adb-mcp-server
Option 2: Manual Installation from Source
  1. Clone the repository:

    git clone https://github.com/landicefu/android-adb-mcp-server.git
    cd android-adb-mcp-server
    
  2. Install dependencies and build:

    npm install
    npm run build
    
  3. Configure with direct path:

    {
      "mcpServers": {
        "android-adb": {
          "command": "node",
          "args": ["/path/to/android-adb-mcp-server/build/index.js"],
          "env": {},
          "disabled": false,
          "alwaysAllow": []
        }
      }
    }
    

📄 License

This project is licensed under the ISC License - see the LICENSE file for details.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.