ADB Friend

by mikepenz

73 399 downloads Not rated yet Apache-2.0
GitHub

About

Android ADB CLI tool including integrated MCP Server with common adb actions used during development

Details

License
Apache-2.0

Explore

- Sync files from your computer to your phone
- Designed for test data, skipping existing files on device
- Configure device for tests
- Disable animations, Enable touches, ...
- Uninstall apps by pattern
- Packages command
- Apply the immersive flag to all packages matching glob, force-stop, clear app data & cache
- Extra tools
- adb-speed (Helps to identify sub-par cables)
- Model Context Protocol MCP Server

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name ADB Friend
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

The installation can be performed using Homebrew. First you'll require the custom tap:

brew tap mikepenz/tap

Next, install the AdbFriend CLI:

brew install mikepenz/tap/adbfriend

Alternatively, you can download prebuild binaries for release page.

npx @modelcontextprotocol/inspector


Then launch the website (with the url as provided in the terminal).
Launch the mcp server using IntelliJ or the actual command.

bash

check-adb-speed

Checks the USB connection speed of an Android device for the provided serial.

clear-installed-package

Clears the package data for provided package names on an Android device.

set-immersive-full-for-package

Sets the 'immersive-full' flag for provided package names on an Android device.

force-stop-process

Forces the stop of provided package names on an Android device.

uninstall-package

Uninstalls provided package names on an Android device.

get-connected-devices

Retrieves information about all connected Android devices including serial, model, and state.

get-installed-packages

Retrieves information about all installed packages on an Android device. Supports filtering for third-party apps only.

list_allowed_directories

Lists directories that are allowed to be accessed by the file system tools.

list-files

Lists files and directories on an Android device. Supports recursive listing with the 'recursive' option.

read-file

Reads the content of a file on an Android device.

read_multiple_files

Reads the contents of multiple files on an Android device at once (reduces LLM calls).

write-file

Writes content to a file on an Android device.

create-directory

Creates a directory on an Android device.

delete

Deletes a file or directory on an Android device.

search-files

Searches for files matching a case-insensitive glob pattern within allowed directories.

move_file

Moves a file from the source path to the destination path on an Android device.

copy-file-to-host

Copies a binary file from the Android device to the host system.

capture-screenshot

Captures a screenshot from an Android device and saves it to the host system.

install-apk

Installs an APK on the Android device from a file on the host system within the allowed host paths.

| Tool Name | Description |
|--------------------------------|------------------------------------------------------------------------------------------------------------------------|
| check-adb-speed | Checks the USB connection speed of an Android device for the provided serial. |
| clear-installed-package | Clears the package data for provided package names on an Android device. |
| set-immersive-full-for-package | Sets the 'immersive-full' flag for provided package names on an Android device. |
| force-stop-process | Forces the stop of provided package names on an Android device. |
| uninstall-package | Uninstalls provided package names on an Android device. |
| get-connected-devices | Retrieves information about all connected Android devices including serial, model, and state. |
| get-installed-packages | Retrieves information about all installed packages on an Android device. Supports filtering for third-party apps only. |
| list_allowed_directories | Lists directories that are allowed to be accessed by the file system tools. |
| list-files | Lists files and directories on an Android device. Supports recursive listing with the 'recursive' option. |
| read-file | Reads the content of a file on an Android device. |
| read_multiple_files | Reads the contents of multiple files on an Android device at once (reduces LLM calls). |
| write-file | Writes content to a file on an Android device. |
| create-directory | Creates a directory on an Android device. |
| delete | Deletes a file or directory on an Android device. |
| search-files | Searches for files matching a case-insensitive glob pattern within allowed directories. |
| move_file | Moves a file from the source path to the destination path on an Android device. |
| copy-file-to-host | Copies a binary file from the Android device to the host system. |
| capture-screenshot | Captures a screenshot from an Android device and saves it to the host system. |
| install-apk | Installs an APK on the Android device from a file on the host system within the allowed host paths. |

With many more tools planned for the future.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "adb friend": {
            "adbfriend": {
                "command": "npx",
                "args": [
                    "@modelcontextprotocol/inspector"
                ]
            }
        }
    }
}

McpServers

{
    "adbfriend": {
        "command": "npx",
        "args": [
            "@modelcontextprotocol/inspector"
        ]
    }
}

ADB Friend is a tiny cli tool, which helps you to manage your Android device via ADB.
Its features were mostly designed for developers, but it can be useful for everyone.

Features

- Sync files from your computer to your phone
- Designed for test data, skipping existing files on device
- Configure device for tests
- Disable animations, Enable touches, ...
- Uninstall apps by pattern
- Packages command
- Apply the immersive flag to all packages matching glob, force-stop, clear app data & cache
- Extra tools
- adb-speed (Helps to identify sub-par cables)
- Model Context Protocol MCP Server

Install

The installation can be performed using Homebrew. First you'll require the custom tap:

brew tap mikepenz/tap

Next, install the AdbFriend CLI:

brew install mikepenz/tap/adbfriend

Alternatively, you can download prebuild binaries for release page.

Usage

ADB Friend is a command line tool, which can be used in a terminal.

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.

Videos about ADB Friend

Relevant YouTube tutorials, setups, and demos