adb-mcp-server
If you are the rightful owner of adb-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Model Context Protocol (MCP) server for managing Android Debug Bridge (ADB) connections and interacting with Android devices.
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
-
Clone the repository:
git clone https://github.com/yourusername/adb-mcp-server.git cd adb-mcp-server
-
Install the dependencies:
npm install
-
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 frompath
: 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 oncommand
: 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.