On this page
Fixing ADB No Devices or Emulators Found requires resetting your ADB daemon, verifying physical or wireless connectivity, and approving the RSA authorization prompt on your Android handset. When troubleshooting this error at ScreenSync MCP, resolving it restores connection to our 29 phone and desktop tools so AI agents like Claude can run mobile actions without interruption.
Key Takeaways
- The error occurs when the ADB daemon cannot find an authorized device descriptor over USB or the local network.
- ScreenSync MCP uses ADB exclusively for its 12 control tools (such as
control_tapandcontrol_swipe), whereas screen capture requires no root and no ADB. - Running
adb kill-serverfollowed byadb start-serverclears frozen background processes on port 5037. - Wireless debugging requires pairing over the same local network subnet using Android 11+ or initial USB pairing.
- Proper host authentication prevents your terminal or Model Context Protocol client from failing during autonomous tasks.
Quick Problem Isolation
When adb devices returns an empty list, the issue stems from hardware cabling, disabled developer settings, missing OEM drivers, or stale socket locks. Isolating whether the machine detects the hardware device at the operating system level separates physical connection problems from ADB server state issues.
ADB Role in AI Agent Automation
For power users driving real devices with Claude Code or Cursor, ADB is the execution backbone. While our Android app captures frames via Android's MediaProjection API without ADB, commands like control_type or launching intents rely on ADB execution through the ScreenSync MCP hub.
Difference Between Capture and Control
Understanding the boundary between capture and control prevents unnecessary troubleshooting. If your AI agent can view screenshots via get_latest_screenshot but fails when invoking control_tap, the issue is isolated strictly to the ADB bridge.
What It Is and Why It Matters
This error indicates that the Android Debug Bridge client contacted the local server, but the server has no registered handle to an Android virtual device (AVD) or physical device. For developers working with Model Context Protocol (MCP) integrations, an empty device list halts automated testing workflows immediately.
The ADB Architecture
ADB operates via three components: the client (CLI or hub), the server running in the background on your development PC, and the adbd daemon running on the Android OS. If communication breaks between the host server and adbd, commands return error: no devices/emulators found.
Impact on Model Context Protocol Clients
When using Claude Desktop or Claude Code, AI agents dynamically choose tools based on your system state. If ADB drops your device, the agent cannot execute input actions, throwing runtime failures back to the client interface.
Real Devices Versus Emulators
Emulators communicate through internal loopback networking, while physical hardware depends on USB interface drivers or wireless network sockets. Pinpointing which target you are addressing determines whether you adjust emulator system images or mobile operating system toggles.
| Option | Who It Suits | What Makes It Different |
|---|---|---|
| USB Debugging | Local desk setups | Direct low-latency physical link |
| Wireless Debugging | Untethered test benches | Operates over local Wi-Fi |
| Android Emulator | CI environments without hardware | Runs virtualized on host PC |
How It Works
ADB relies on specific OS permissions and cryptographic handshakes to establish a trusted bridge between the host computer and the Android system. Knowing how these handshakes operate allows you to pinpoint connection drops instantly.
The RSA Handshake
Upon initial connection, your host PC presents an RSA public key to the device. The Android OS triggers a prompt asking to allow USB debugging from that computer; if dismissed or missed, the device remains in an unauthorized or undiscovered state.
Port Binding and Daemon Management
By default, the ADB server binds to TCP port 5037. If another process usurps this port or if a previous ADB session terminates abnormally, the server fails to route packets to connected hardware descriptors.
Wireless Pairing Mechanisms
On modern Android environments, wireless debugging operates over random ports assigned by the OS. Connecting requires an initial pairing exchange using an ephemeral pairing port and PIN code before running standard connections on the persistent debugging port.
Step-by-Step Walkthrough
Follow these sequential steps to resolve the error and restore device communication quickly.
bash
Step 1: Kill stale server processes
adb kill-server
Step 2: Start the server cleanly
adb start-server
Step 3: List connected hardware
adb devices
Step 1: Verify Hardware and Developer Options
- Open your Android device Settings > About phone.
- Tap Build number 7 times to unlock Developer options.
- Navigate to Developer options and toggle USB debugging to ON.
- Connect the phone directly to your computer using a data-capable USB cable (avoid charge-only cables or unpowered passive hubs).
Step 2: Restart the ADB Server Daemon
Run adb kill-server in your terminal to clear out hanging background daemons. Launch it again with adb start-server, then check the device list using adb devices to verify detection.
Step 3: Resolve Authorization and Drivers
Check your mobile phone screen for the prompt titled Allow USB debugging?. Check Always allow from this computer and tap Allow.
On Windows, ensure your device shows under Device Manager as an Android Composite ADB Interface. If it shows a yellow warning icon, update the driver using the official OEM USB driver.
Step 4: Configure Wireless Connections
If you prefer working without cables, you can learn more about how we configure wireless networking in our guide on whether you can pair Android wireless debugging to MCP without USB. Ensure both the phone and PC share the exact same local network subnet.
| Component | Included Cost | Notes |
|---|---|---|
| ScreenSync MCP Android App | Free on Google Play | Android 7.0+ required |
| ScreenSync MCP Hub | Free download | Node.js 18+ required |
| Browser Extension | Free download | Chrome and Edge (MV3) |
Example Prompts and Tool Calls
Once your ADB device is properly detected, the ScreenSync MCP hub bridges local ADB control and MediaProjection capture to your Model Context Protocol client. Our hub provides 226 MCP tools: 29 phone and desktop tools (12 control tools, 3 OS tools, and 14 capture/hub tools) alongside 197 browser tools.
Claude Desktop Configuration
To ensure Claude Desktop communicates with your recovered setup, configure your claude_desktop_config.json (accessed via Settings > Developer) with the following structure:
{
"mcpServers": {
"screensync": {
"command": "node",
"args": ["/path/to/hub/screensync-hub.js"],
"env": {
"SCREEN_SYNC_TOKEN": "your_token_here"
}
}
}
}
Claude Code Configuration
For terminal-based agents, register the hub directly into your CLI environment using your local file path:
bash
claude mcp add screensync node "/path/to/hub/screensync-hub.js"
For an in-depth walkthrough on running development agents via CLI, explore how Claude Code can test Android apps on real mobile devices.
Representative Agent Prompts
Once connected, your agent can combine screen analysis with direct physical control:
- "Check the current screen with
get_latest_screenshot, inspect the layout elements usingget_ui_hierarchy, and tap the login button usingcontrol_tap." - "Run
get_logcatto capture the stack trace while executingcontrol_swipeto refresh the feed."
Common Mistakes and Troubleshooting
Small misconfigurations often prevent devices from appearing in the registry. Review these frequent pitfalls when diagnosing silent failures.
Charge-Only Cables and Faulty Ports
Many cheap USB cords only connect the power pins, omitting the D+ and D- data lines completely. Always test with a verified high-speed data cable and switch USB ports directly to the motherboard rather than through unpowered external splitters.
Revoking Stale Authorizations
If a device gets stuck in an unauthorized loop, navigate to Settings > Developer options > Revoke USB debugging authorizations. Disconnect the cable, reconnect it, and approve the new prompt immediately.
Local Network Isolation on Wi-Fi
When using wireless debugging, enterprise or guest Wi-Fi networks frequently enable AP client isolation. This prevents your PC from routing packets to the phone's IP address, causing silent connection timeouts.
Practical Troubleshooting Checklist
- Toggle USB debugging off and on within Developer Options.
- Verify the USB cable supports full data transfer, not merely charging.
- Execute
adb kill-serverand verify port 5037 is completely free. - Confirm the mobile screen is unlocked to accept the host RSA key prompt.
- Check Windows Device Manager for missing composite ADB drivers.
Privacy and Safety Notes
Maintaining security across automated ADB environments is essential when granting agents execution privileges.
Local Network Data Flow
ScreenSync MCP keeps data local: video frames stream directly from your phone to the hub on your local network and never pass through EpsolDev servers. A Google Drive fallback is strictly optional.
External AI Providers
Keep in mind that any screenshots requested by an AI agent through tools like get_latest_screenshot are transmitted directly to that agent's model provider (such as Anthropic) for visual parsing.
Dangerous ADB Permissions
Avoid leaving ADB exposed across untrusted public Wi-Fi networks. Restrict wireless debugging to secured private LAN environments to prevent unauthorized command execution on your hardware.
Conclusion
Fixing ADB No Devices or Emulators Found comes down to establishing clean physical or network paths, clearing stuck server processes, and accepting your system's RSA authorization. Resolving this issue ensures developers and QA engineers can seamlessly run autonomous automation via ScreenSync MCP.
ScreenSync MCP provides the ScreenSync MCP Android app, ScreenSync MCP hub, and ScreenSync MCP browser extension. For questions, reach out to [email protected] or visit our site at https://www.screensyncmcp.tech. Get it on Google Play to begin pairing your Android device with local AI workflows.
Questions, answered
Why does adb devices return an empty list even when my phone is plugged in?
This typically occurs due to using a charge-only USB cable, developer options or USB debugging being disabled, or missing OEM USB drivers on Windows.
Does ScreenSync MCP require ADB for screen capturing?
No, ScreenSync MCP captures the screen using Android's native MediaProjection API without requiring root access or an ADB connection.
Which features in ScreenSync MCP require a working ADB connection?
The 12 control tools, including control_tap, control_swipe, control_type, launching apps, and opening URLs, run through ADB via USB or wireless debugging.
How do I fix an unauthorized device status in ADB?
Unlock your Android device, look for the USB debugging authorization prompt, check the box to always allow from your computer, and tap allow.
Can I use ADB over Wi-Fi without keeping a USB cable plugged in?
Yes, modern Android versions support wireless debugging directly over your local network, enabling full ADB control without a continuous cable connection.




