Cover image
Try Now
2025-04-09

3 years

Works with Finder

1

Github Watches

0

Github Forks

0

Github Stars

ADB MCP Server

A Model Context Protocol (MCP) server for managing Android Debug Bridge (ADB) connections and interacting with Android devices.

Features

  • Device Management: List all connected Android devices
  • Screenshot Capture: Take screenshots from connected devices
  • UI Element Inspection: Extract UI hierarchy from device screens
  • ADB Command Execution: Run arbitrary ADB commands on connected devices

Prerequisites

  • Android Debug Bridge (ADB) must be installed on your system and added to your PATH
  • Node.js (v14 or higher)
  • TypeScript

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/adb-mcp-server.git
    cd adb-mcp-server
    
  2. Install the dependencies:

    npm install
    
  3. Build the project:

    npm run build
    

Usage

Starting the Server

The ADB MCP server runs as a Model Context Protocol server over stdio:

npm start

For development with auto-restart on file changes:

npm run dev

Available Tools

The server exposes the following MCP tools:

1. List Connected Devices

get_devices

Returns a list of all connected Android devices with their IDs and connection states.

2. Capture Screenshot

capture_screenshot

Parameters:

  • deviceId: ID of the device to capture from
  • path: Path where the screenshot will be saved

The screenshot will be named according to the format: YYYYMMDD_HH_MM_SS.png

3. Get UI Elements

get_ui_elements

Parameters:

  • deviceId: ID of the device to extract UI hierarchy from

Returns the full UI hierarchy in XML format, useful for UI automation and testing.

4. Execute ADB Command

execute_adb_command

Parameters:

  • deviceId: ID of the device to run the command on
  • command: The ADB command to execute

Allows execution of arbitrary ADB commands on the specified device.

Project Structure

adb-mcp-server
├── src
│   ├── index.ts               # Main MCP server entry point
│   ├── handlers/              # Request handlers for each feature
│   │   ├── deviceList.ts      # Device listing functionality
│   │   ├── screenshot.ts      # Screenshot capture functionality
│   │   └── uiElements.ts      # UI hierarchy extraction
│   ├── utils/                 # Utility functions
│   │   ├── adb.ts             # ADB command execution utilities
│   │   └── screenshot.ts      # Screenshot handling utilities
│   └── types/                 # TypeScript type definitions
├── package.json               # Project dependencies and scripts
└── tsconfig.json              # TypeScript configuration

Contributing

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

License

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

相关推荐

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • https://zenepic.net
  • Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • 林乔安妮
  • A fashion stylist GPT offering outfit suggestions for various scenarios.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • 田中 楓太
  • A virtual science instructor for engaging and informative lessons.

  • 1Panel-dev
  • 💬 MaxKB is a ready-to-use AI chatbot that integrates Retrieval-Augmented Generation (RAG) pipelines, supports robust workflows, and provides advanced MCP tool-use capabilities.

  • ShrimpingIt
  • Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx

  • open-webui
  • User-friendly AI Interface (Supports Ollama, OpenAI API, ...)

  • GLips
  • MCP server to provide Figma layout information to AI coding agents like Cursor

  • Dhravya
  • Collection of apple-native tools for the model context protocol.

  • adafruit
  • Python code to use the MCP3008 analog to digital converter with a Raspberry Pi or BeagleBone black.

    Reviews

    5 (1)
    Avatar
    user_cZorkkJH
    2025-04-17

    As an avid user of the adb-mcp-server, I am impressed with its seamless integration and robust features. It's an open-source project by nhungbeo that significantly enhances my workflow. The setup process is straightforward, and the documentation on the GitHub page is comprehensive. For anyone looking to maximize their adb-related tasks, this is a must-have tool.