mait.sh1.69.2

Private beta: features and content may change. No warranty; use at your own risk.

Docs / MCP tool

MCP Scrcpy problems and fixes

Decide whether ADB or MCP is failing, then fix capture, control and recording.

Work from the outside in: ADB first, then the MCP side.

mcp-scrcpy list-devices runs the same listing without the MCP transport.

Help

Decide which side is failing

Run mcp-scrcpy list-devices. Device lines mean enumeration works, so check the failing tool. No devices found means ADB sees nothing. failed to list ADB devices means the ADB query failed. Command not found means the executable is not on the search path.

The ADB query fails

The client starts the ADB server by running adb, so platform-tools must be installed:

sh
$ adb version
$ adb start-server
$ mcp-scrcpy list-devices

If it still fails, check for another service on port 5037: the ADB server must be on its default endpoint.

No device, or a device that is not usable

Compare with adb devices -l; both read the same server. A state such as offline or unauthorized comes from ADB: accept the authorization prompt on the handset. Pair and connect wireless devices with ADB's own tools first.

Transport and client problems

Use stdio or unix; there is no HTTP transport. Pass an explicit socket to test commands with --server unix:///tmp/mcp-scrcpy.sock, and start a server at that absolute path. Do not delete a socket you did not create. For stdio, launch the absolute executable with serve and keep wrapper output off stdout.

A tool call times out

Each call is bounded at 60 seconds. Compare list_devices with the direct command to separate MCP from ADB. A timeout does not cancel a started operation, so check the device before retrying.

Capture, control and recording

Adopt the device and send input through the same persistent connection. Screenshots and condensed recording need an OpenH264 library at SCREENCAST_LIB_OPENH264_PATH. Read published resources through the same session before disconnecting. Each device has one recording slot: call scrcpy_record_stop to free it, including after a disconnect. Recordings fall back to video only when audio capture is unavailable.

What you getThe device listed and usable, with captures and recordings you can read.