ScreenSync MCP guide

How to Fix ADB No Devices or Emulators Found Fast

Fixing ADB No Devices or Emulators Found fast requires checking USB debugging, restarting the server, and setting proper drivers for smooth MCP agent control.

A traveller troubleshooting a smartphone connected to a laptop to fix ADB no devices or emulators found errors.

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_tap and control_swipe), whereas screen capture requires no root and no ADB.
  • Running adb kill-server followed by adb start-server clears 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

  1. Open your Android device Settings > About phone.
  2. Tap Build number 7 times to unlock Developer options.
  3. Navigate to Developer options and toggle USB debugging to ON.
  4. 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 using get_ui_hierarchy, and tap the login button using control_tap."
  • "Run get_logcat to capture the stack trace while executing control_swipe to 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-server and 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.

FAQ

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.

Written by

ScreenSync MCP team

The ScreenSync MCP team at EpsolDev builds the Android app, the desktop MCP hub and the browser extension that let AI agents see and control a real phone. These guides come out of that work.