@wilsonbeam/openclaw-adb-mcp
Provides tools for controlling Android devices via ADB, including screen interactions, phone functions, app management, and device control.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@wilsonbeam/openclaw-adb-mcpTake a screenshot of my phone"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@wilsonbeam/openclaw-adb-mcp
Give AI agents full control of real Android phones.
MCP Server + OpenClaw Skill for Android device automation via ADB.
What Can It Do?
📱 Screen Control — tap, swipe, type text, take screenshots
📞 Phone Functions — make calls, send SMS, check call state
📦 App Management — install, uninstall, list packages
🔧 Device Control — shell commands, push/pull files, wake screen
Quick Start
1. Install ADB
# macOS
brew install android-platform-tools
# Linux
sudo apt install adb
# Windows
# Download from developer.android.com/tools/releases/platform-tools2. Connect Your Android Device
Enable Developer Options on your phone
Enable USB Debugging
Connect via USB cable
Accept the authorization prompt on your phone
Verify:
adb devices
# Should show: XXXXX device3. Add to OpenClaw
Add to your ~/.openclaw/config.yaml:
mcp:
servers:
adb:
command: npx
args: ["@wilsonbeam/openclaw-adb-mcp"]Or install globally first:
npm install -g @wilsonbeam/openclaw-adb-mcpThen:
mcp:
servers:
adb:
command: openclaw-adb-mcp4. Install the Skill (Optional but Recommended)
The skill teaches your AI agent how to use the ADB tools effectively.
# From clawhub.com (coming soon)
openclaw skill install adb
# Or manually copy the skill folder
cp -r skill/ ~/.openclaw/skills/adb/Available Tools (26 total)
Core ADB
Tool | Description |
| List connected Android devices |
| Execute shell command |
| Get model, brand, Android version |
| Install APK file |
| Uninstall app |
| List installed packages |
| Push file to device |
| Pull file from device |
| Start activity/intent |
| Force stop app |
| Clear app data |
Screen Control
Tool | Description |
| Tap at coordinates |
| Swipe gesture |
| Long press |
| Type into focused field |
| Press Android keycode |
| Capture screen (returns base64 PNG) |
| Get screen dimensions |
| Wake device screen |
| Press home button |
| Press back button |
Phone Functions
Tool | Description |
| Make phone call (dials immediately) |
| Open dialer with number |
| End current call |
| Open SMS composer |
| Get call state (idle/ringing/offhook) |
| Answer incoming call |
Unlock
Tool | Description |
| Unlock with password, PIN, pattern, or swipe |
| Check if device is locked |
| Lock the device screen |
Auto-Unlock
The adb_unlock tool supports multiple lock types:
// Password
adb_unlock({ type: "password", credential: "mypassword" })
// PIN
adb_unlock({ type: "pin", credential: "1234" })
// Pattern (3x3 grid, digits 0-8)
// Grid layout:
// 0 1 2
// 3 4 5
// 6 7 8
adb_unlock({ type: "pattern", credential: "0123" }) // Top row
adb_unlock({ type: "pattern", credential: "0147" }) // L-shape
adb_unlock({ type: "pattern", credential: "02468" }) // X pattern
// Swipe only (no security)
adb_unlock({ type: "none" })Example Conversations
"Take a screenshot of my phone"
→ Agent uses adb_screenshot, returns the image
"Call Mom at +1-555-123-4567"
→ Agent uses adb_make_call
"Open Chrome and search for weather"
→ Agent uses adb_start_activity to launch Chrome, adb_tap on search bar, adb_type_text to enter query
"Install the APK I just downloaded"
→ Agent uses adb_install_app with the APK path
Project Structure
openclaw-adb-mcp/
├── src/
│ ├── index.ts # MCP server entry point
│ └── adb/
│ ├── executor.ts # Low-level ADB execution
│ ├── core.ts # Device, app, file operations
│ ├── screen.ts # Tap, swipe, screenshot
│ └── phone.ts # Call, SMS functions
├── skill/
│ ├── SKILL.md # OpenClaw skill definition
│ └── scripts/
│ └── check-setup.sh
├── package.json
└── tsconfig.jsonMultiple Devices
All tools accept optional deviceId. If omitted with multiple devices connected, ADB errors. Use adb_list_devices to get device IDs.
Development
git clone https://github.com/wilsonbeam/openclaw-adb-mcp
cd openclaw-adb-mcp
npm install
npm run build
npm run dev # Build and runTroubleshooting
No devices found
Check USB cable and connection
Enable USB debugging on device
Run
adb kill-server && adb start-server
Device unauthorized
Accept the RSA key prompt on your phone screen
Screenshot fails
Wake the screen first with
adb_wakeSome devices need screen unlock
License
MIT
Author
Wilson Beam / OpenClaw
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/wilsonbeam/openclaw-adb-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server