ADB Controller & MCP Server
Provides tools for controlling Android devices via ADB, including app lifecycle management, hardware navigation, battery and Doze simulation, device quick tools, and deep link/intent testing.
Enables live inspection and editing of SQLite databases on Android devices, including table browsing, inline cell editing, row insertion/deletion, and execution of custom SQL queries.
ADB Controller by Samsad ๐
ADB Controller by Samsad is a high-productivity, 100% offline control panel plugin for Android Studio, IntelliJ IDEA, and Visual Studio Code. It provides 1-click device management, app lifecycle controls, hardware navigation, power simulators, live SharedPreferences editing, and intent testers directly inside your IDE โ with zero terminal commands, zero external APIs, and zero configuration.
๐ Table of Contents
Related MCP server: ADB MCP Server
โจ Key Highlights
โก 100% Offline & Private: Communicates exclusively via your local
adbserver. No telemetry, no cloud log-in, no telemetry tracking.๐ฏ Automatic Workspace Detection: Auto-discovers package names (
applicationIdornamespace) from Gradle and Manifest files.๐ Live SharedPreferences Table Editor: View, modify, add, and delete SharedPreferences keys in real-time without writing test code or clearing all data.
๐ชซ Deep Sleep & Battery Simulation: Test low-power states, Doze idle mode, and standby buckets in 1 click.
๐ฅ๏ธ Dual IDE Support: Seamless workflow parity between Android Studio / IntelliJ IDEA and VS Code.
๐ฑ Feature Breakdown & How to Use
1. Device & Package Selection
Connect and target specific devices and applications with ease.
Target Device Dropdown:
Automatically lists all online emulators and physical Android devices connected via USB or Wi-Fi.
How to use: Select your target device from the dropdown. Click the ๐ Refresh button anytime you attach or detach a device.
Package Name Selector:
Auto Detect: Click Auto Detect to parse your current project workspace for
applicationId/namespace.Debuggable App Dropdown / Manual Entry: Select from debuggable apps installed on the device or type a custom package name directly into the editable field.
2. Virtual Hardware Navigation Bar
Compact icon-only strip for quick device interaction without reaching for the device/emulator.
Icon | Action | Keycode | How to Use |
โ | Back |
| Click to trigger back navigation in the current screen. |
โบ | Home |
| Click to return immediately to the Android launcher home screen. |
โน | Recent Apps |
| Click to open the Android task switcher / multi-tasking overview. |
๐ | Lock / Wake |
| Click to toggle the screen between asleep and awake. |
๐ | Volume Down |
| Click to decrease device media volume. |
๐ | Volume Up |
| Click to increase device media volume. |
Tip: Hover over any icon button to see its tooltip description.
3. App Management
Perform everyday app lifecycle operations in 1 click without memorizing ADB terminal commands.
๐ Restart App:
What it does: Force-stops the target package and launches its main launcher activity.
How to use: Click after pushing code or when you need a fast soft restart.
๐งน Clear App Data:
What it does: Runs
adb shell pm clear <package>to wipe cache, databases, and local preferences.How to use: Click when testing fresh first-launch onboarding or token expiry flows.
โจ Clear & Restart:
What it does: Wipes all app data and immediately starts the launcher activity in one step.
How to use: Click for the ultimate "clean install" test without actually uninstalling the APK.
๐ Force Stop:
What it does: Kills all foreground activities, background services, and processes for the target app (
am force-stop).How to use: Click to terminate background sync, media playback, or stuck background threads.
๐๏ธ Uninstall App:
What it does: Completely deletes the app from the target device (
adb uninstall <package>).How to use: Click before performing a clean APK install or when testing permission prompts.
โ๏ธ App Info:
What it does: Opens the native Android OS App Info screen for the target package.
How to use: Click to inspect runtime permissions, storage breakdown, notification channels, or battery optimization settings.
4. Device Quick Tools
Handy environment toggles and shortcuts for UI verification.
๐ธ Screenshot to Clipboard:
What it does: Takes an instant device screenshot (
screencap -p) and places the image bytes directly onto your computer's system clipboard.How to use: Click the button, then immediately press
Cmd+V(macOS) orCtrl+V(Windows/Linux) in Slack, Figma, GitHub PRs, or Jira.
๐ Toggle Dark Mode:
What it does: Flips the system UI theme between Day (Light) and Night (Dark) mode (
cmd uimode night toggle).How to use: Click to test color contrast, dynamic colors, and Material 3 theme switching.
๐ Toggle Layout Bounds:
What it does: Enables or disables developer visual bounds (
debug.layout), drawing clip bounds, margins, and padding on all UI elements.How to use: Click to verify layout alignments, padding, and nested view hierarchies.
โก Toggle System Animations:
What it does: Switches
window_animation_scale,transition_animation_scale, andanimator_duration_scalebetween0.0x(off) and1.0x(normal).How to use: Turn animations off (
0.0x) for ultra-snappy testing and deterministic UI automated tests.
5. Battery & Doze Simulator
Test real-world edge cases like critical battery thresholds and OS power-saving modes.
Quick Presets (๐ชซ 5%, ๐ 20%, ๐ 50%, โก 100%):
How to use: Click 5% or 20% to simulate critical/low battery warnings, power-saving banner triggers, or degraded GPS polling modes. Click 100% to test full battery behaviors.
๐ Unplug (Discharge):
How to use: Simulates unplugging the USB power cord (
dumpsys battery unplug) so the OS treats the device as running on battery power while maintaining your ADB debug connection.
๐ Reset Battery:
How to use: Click after battery simulation to restore the device to actual physical battery telemetry (
dumpsys battery reset).
๐ค Enter Doze (Idle):
How to use: Forces the device into Android's deep
DeviceIdlestate (dumpsys deviceidle force-idle). Use this to test if your background sync, WorkManager tasks, or push notifications respect Doze mode maintenance windows.
โ๏ธ Exit Doze:
How to use: Wakes the device out of Doze mode (
dumpsys deviceidle unforce), immediately executing deferred background tasks.
โณ App Standby (Inactive):
How to use: Puts the target package directly into the Android App Standby bucket (
am set-inactive <package> true) to test how the app behaves when idle.
6. App Data, SharedPreferences & SQLite Database Inspector
Inspect, modify, and query application preferences and live SQLite databases in real-time without wiping the app.
๐ SharedPreferences Live Editor:
How to use:
Click ๐ SharedPreferences Live Editor in the sidebar.
A dialog / editor panel opens showing all XML preference files found in
/data/data/<package>/shared_prefs/.Select the XML file you want to inspect from the dropdown.
View all stored keys, their detected data types (
String,Boolean,Int,Long,Float), and current values.Edit Values: Double-click any value cell to modify it.
Add Keys: Click โ Add Key, select the type, enter the key name and initial value.
Delete Keys: Select any row and click ๐๏ธ Delete Key.
Save Changes: Click ๐พ Save Changes to write the modified XML back to the device.
Save & Restart: Click โก Save & Restart App to save the XML and immediately relaunch the app so in-memory singletons pick up the new preference values!
๐๏ธ Database Live Inspector & SQL Query Simulator:
How to use:
Click ๐๏ธ Database Live Inspector & SQL in the sidebar.
Pick Database & Table: Select any
.db/.sqlitefile (e.g.app_database.db) and target table from the top dropdowns.Live Table Data View:
View columns, primary keys, and data rows in an interactive table.
Edit Cells Inline: Double-click any cell to change its value โ updates are written directly to the SQLite database on-device!
โ Insert Row: Inserts a new record into the table.
๐๏ธ Delete Row: Removes selected row by primary key.
โก SQL Query Simulator:
Switch to the SQL Simulator tab (or console pane).
Type custom queries (
SELECT * FROM users WHERE status = 1;,UPDATE ...,DELETE ...,PRAGMA table_info(...)).Click โถ Execute SQL or press
Ctrl/Cmd + Enter.View query outputs in a dedicated results table with row count and query execution timing.
โก Save & Restart App: 1-click button to restart the application so Room / SQLite DAOs reload the freshly updated data!
๐พ Export SQLite DBs & Prefs:
How to use:
Click ๐พ Export SQLite DBs & Prefs.
The plugin pulls all SQLite databases (
.db,.sqlite) and XML preference files from/data/data/<package>/.Files are saved into your workspace project folder under
.adb_exports/<package>/.Open the SQLite database directly in Android Studio Database Inspector or your favorite SQLite viewer!
Note: SharedPreferences Live Editor, Database Inspector, and Database Export require the app build to be debuggable (
debuggable truein your build variant), which uses standard Androidrun-aspermissions.
7. Deep Link & URL Tester
Test custom URI schemes and App Links without typing complex terminal commands.
How to use:
Enter your target URI scheme or HTTP/HTTPS link into the input field:
Example Custom Scheme:
myapp://checkout?orderId=9821&promo=SUMMERExample Web Link:
https://example.com/products/headphones
Click ๐ Open Deep Link.
The plugin dispatches
adb shell am start -a android.intent.action.VIEW -d "<url>"directly to your selected device.The device immediately opens your app's matching Activity or displays the disambiguation dialog.
8. Broadcast & Intent Tester
Simulate push notifications, system broadcasts, and custom event receivers.
How to use:
Action: Enter the broadcast intent action name:
Example:
com.example.myapp.ACTION_NOTIFYExample:
com.example.myapp.FORCE_SYNC
Extra Parameters (Optional): Enter key-value pairs to pass with the broadcast intent:
Example:
message=Order DispatchedExample:
userId=42
Click ๐ข Send Broadcast.
The plugin executes
adb shell am broadcast -a "<action>" ...and displays the broadcast delivery result code in the status bar.
๐ฆ Installation Guide
Android Studio / IntelliJ IDEA
Method 1: Install from ZIP Archive
Download
ADBControllerBySamsad-1.0.1.zipfrom releases or build it locally.In Android Studio / IntelliJ IDEA, go to Settings / Preferences -> Plugins.
Click the โ๏ธ (Gear Icon) at the top right and select Install Plugin from Disk....
Select
ADBControllerBySamsad-1.0.1.zipand click OK.Restart the IDE when prompted.
Look for ADB Controller by Samsad on your left or right sidebar tool window area!
Method 2: Build Locally from Source
git clone https://github.com/samsadch/SamsadADBController.git
cd SamsadADBController
# Build the plugin ZIP package
./gradlew clean buildPlugin
# Run in an isolated sandbox IDE for testing
./gradlew runIdeThe output .zip will be located in build/distributions/ADBControllerBySamsad-1.0.1.zip.
Visual Studio Code
Method 1: Install from VSIX Package
Download
adb-controller-by-samsad-1.0.0.vsixfrom releases or build it locally.In VS Code, open the Extensions view (
Cmd+Shift+XorCtrl+Shift+X).Click the
...(Views and More Actions) menu at the top of the Extensions sidebar.Select Install from VSIX... and choose
adb-controller-by-samsad-1.0.0.vsix.Click the Android phone icon on the Activity Bar on the left!
Method 2: Build Locally from Source
cd vscode-extension
npm install
npm run build
npx @vscode/vsce package --no-dependencies๐ค Model Context Protocol (MCP) Server for AI Agents
Drive, inspect, and debug your Android device directly from Google Antigravity, Claude Code, Cursor, Windsurf, or Claude Desktop using @samsadch/adb-mcp.
Quick Setup
1. Claude Code
claude mcp add adb -- npx -y @samsadch/adb-mcp2. Antigravity / Cursor / Windsurf / Claude Desktop
Add to your mcp_config.json:
{
"mcpServers": {
"adb": {
"command": "npx",
"args": ["-y", "@samsadch/adb-mcp"]
}
}
}๐ MCP Toolset (51 Tools Available)
Domain | Tools |
Discovery & Sticky Target (3) |
|
Eyes & Hands: UI & Input (8) |
|
App Lifecycle & Permissions (10) |
|
Database & SharedPreferences (16) |
|
Diagnostics & Memory (3) |
|
Device Controls & Power (8) |
|
File Transfers & Shell (3) |
|
See packages/adb-mcp/README.md for full MCP tool documentation.
๐ ๏ธ Prerequisites & Requirements
Android Debug Bridge (
adb):adbmust be installed and accessible in your system PATH, or installed with Android Studio SDK platform-tools.
Android Device / Emulator:
Physical device with USB Debugging enabled in Developer Options, or an Android Virtual Device (AVD) running in emulator.
Debuggable App Build (for SharedPreferences & App Data Export):
The app must be compiled with
debuggable true(standard fordebugbuild types).
๐ License
Distributed under the Apache 2.0 License. See LICENSE for more details.
This server cannot be deployed
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yoโฆ
Melaya is a remote MCP server. It gives an assistant hands on your own Android phone and browser: it reads the screen through the accessibility tree, then taps, types and navigates inside the apps and sites you allow-list, with no per-app API. It also builds, schedules and runs agent pipelines across 6k+ connected tools. OAuth 2.1, nothing to install.
Nifty's MCP server โ exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI assistants to interact with Android devices through ADB, allowing for automated device management, app installation, file transfers, and screenshot capture.305 npm38ISC
- FlicenseAqualityDmaintenanceA MCP server that enables AI assistants to control Android devices via ADB, supporting device info, screen control, input simulation, app management, shell execution, file transfer, and UI parsing.20-
- AlicenseBqualityAmaintenanceA comprehensive MCP server that enables AI agents to interact with Android devices through Android Debug Bridge (ADB), offering 198 tools for device control, app management, diagnostics, and more.10082 npm18Apache 2.0
- FlicenseNot gradedqualityDmaintenanceA powerful MCP server that provides comprehensive Android device automation capabilities through ADB, enabling AI agents to interact with Android devices for testing, automation, and device control tasks.1-