1. Conduid
  2. Data
  3. Android Adb Controller
MCP server · Data

Android Adb Controller

Unclaimed last commit a year ago data
30Low

Scored 7 months ago · breakdown

About Android Adb Controller

Android Adb Controller is an MCP server published by sankhodeep in the Data category.

The repository has 1 stars and 1 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/sankhodeep/android-adb-controller

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Android Adb Controller

Powered by Claude · Grounded in docs

I know everything about Android Adb Controller. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

Android ADB Controller MCP Server

Overview

This MCP server enables AI agents to control Android devices via ADB commands. It provides tools for:

  • Listing connected devices
  • Executing screen taps
  • (Extensible for more ADB commands)

Setup Guide

Prerequisites

  1. Android device with USB debugging enabled
  2. ADB installed and working (adb devices should show your device)
  3. Node.js v16+

Installation Steps

  1. Create MCP Server:
npx @modelcontextprotocol/create-server android-adb-controller
cd android-adb-controller
  1. Install Dependencies:
npm install adbkit @types/adbkit
  1. Configure MCP Settings: Add to mcp_settings.json:
{
  "mcpServers": {
    "android-adb": {
      "command": "node",
      "args": ["android-adb-controller/build/index.js"]
    }
  }
}

Implementation Details

Key Components

  1. ADB Client Initialization:
this.adbClient = adb.createClient();
  1. Command Execution:
private async executeADBCommand(deviceId: string, command: string) {
  const device = this.adbClient.getDevice(deviceId);
  return await device.shell(command);
}
  1. Tool Definitions:
  • list_devices: Lists connected Android devices
  • tap_screen: Executes screen taps at specified coordinates

Troubleshooting Guide

Common Issues & Solutions

  1. ADB Command Not Found:
  • Ensure ADB is installed and in system PATH
  • Verify platform-tools are extracted correctly
  1. Device Not Detected:
  • Check USB debugging is enabled
  • Verify USB cable connection
  • Run adb devices to confirm detection
  1. TypeScript Errors: Solution: Added proper type definitions in adbkit.d.ts:
declare module 'adbkit' {
  interface Device {
    id: string;
    type: string;
  }
  // ... other type definitions
}
  1. MCP Server Connection Issues:
  • Verify server is running (node build/index.js)
  • Check MCP settings configuration

Extending Functionality

To add new commands:

  1. Define new tool in ListToolsRequestSchema
  2. Implement handler in CallToolRequestSchema
  3. Add corresponding ADB command execution

Example for text input:

{
  name: "input_text",
  description: "Input text on device",
  inputSchema: {
    type: "object",
    properties: {
      deviceId: { type: "string" },
      text: { type: "string" }
    }
  }
}

Development Workflow

  1. Make code changes
  2. Rebuild:
npm run build
  1. Restart server:
node build/index.js

Architecture

MCP Server (Node.js) ↔ ADB Interface ↔ Android Device
                ↑
                |
          AI Control System

Future Improvements

  • Add swipe gestures
  • Implement screenshot capability
  • Add device monitoring
  • Support multiple simultaneous devices

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Android Adb Controller

How do I install Android Adb Controller?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Android Adb Controller safe to use with an AI agent?

Its trust score is 30 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Android Adb Controller still maintained?

The last commit was a year ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.