mait.sh1.142.0

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
MCP Scrcpy

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.

MCP Scrcpy

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.

MCP Scrcpy

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.

MCP Scrcpy

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.

MCP Scrcpy

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.

MCP Scrcpy

Screenshots or condensed recordings fail with an OpenH264 error

Screenshots and condensed recording need Cisco OpenH264 2.6. Without a system copy, the first screenshot downloads it from Cisco into ~/.cache/screencast-lib/, which needs internet access and bunzip2. The download uses plain HTTP, and a library is accepted only if it is one of Cisco's published builds. Where a controlled download is required, forbid it with SCREENCAST_LIB_OPENH264_DOWNLOAD=0 and point SCREENCAST_LIB_OPENH264_PATH at Cisco's library. Plain MP4 recording works without it.

MCP Scrcpy

A screenshot fails after a decoder library was found

The server refused to load the library: only Cisco's published OpenH264 library is accepted, and every later screenshot fails the same way while the refused file stays in place. A refused system copy also blocks the automatic download because the file is present. Set SCREENCAST_LIB_OPENH264_PATH to Cisco's library, remove the refused file (for a downloaded copy, delete the decoder cache directory) so the download can run, or remove the system package.

MCP Scrcpy

Capture, control and recording

Adopt the device and send input through the same persistent connection; call scrcpy_adopt first means the session holds no claim. Touch coordinates are device pixels, while screenshots are scaled to at most 1920 pixels on the longer side. 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.