LeashIndex Get the report

Index / storage

io.github.JuanCF/scrcpy-mcp

io-github-juancf-scrcpy-mcp declares 39 capabilities across 39 tools, with 2 critical issues.

94/100 exposureHigh exposure

Manifest recorded 2026-10-13 from tools/list answered by the npm package scrcpy-mcp@0.5.0 (published to npm as scrcpy-mcp, listed in the official MCP registry as io.github.JuanCF/scrcpy-mcp 0.5.0), run in an isolated container with no network access and placeholder credentials. The date changes only when the manifest does. Not verified by a maintainer.

Issues

These describe what this server's manifest declares. A product can provide controls that MCP has no way to express — token revocation, an admin console, audit logs — and this page cannot see them. The absence of a declaration is not evidence that a control is absent.

critical · no-revocation · All 39 tools

39 of 39 tools declare no way for the customer to switch them off once granted. This applies to every tool because MCP has no field in which to declare a revocation mechanism; the product may provide one outside MCP that a manifest cannot show.

critical · irreversible-uncapped · 7 of 39 tools

7 tools are classified as irreversible and declare no limit.

high · no-expiry · All 39 tools

39 of 39 tools declare no expiry. This applies to every tool because MCP has no field in which to declare an expiry; the product may provide one outside MCP that a manifest cannot show.

high · no-audit-trail · All 39 tools

39 of 39 tools declare no record of their actions that the customer can read. This applies to every tool because MCP has no field in which to declare an audit requirement; the product may provide one outside MCP that a manifest cannot show.

high · uncapped-write · 22 of 39 tools

22 tools can modify data and declare no limit.

low · uncapped-read · 10 of 39 tools

10 tools can read data and declare no limit.

Declared capabilities

How each tool was read. declared means the server's own annotation said so — self-reported and unverified. inferred is from the tool's name. assumed means nothing indicated either way.

ToolRead asBasis
start_sessionwrite assumed
stop_sessionwrite assumed
versionread declared
device_listread declared
device_inforead declared
screen_onwrite assumed
screen_offwrite assumed
connect_wifiwrite assumed
disconnect_wifiwrite assumed
rotate_devicewrite assumed
expand_notificationswrite assumed
expand_settingswrite assumed
collapse_panelswrite assumed
screenshotread declared
screen_record_startwrite assumed
screen_record_stopwrite assumed
tapwrite assumed
swipewrite assumed
long_presswrite assumed
drag_dropdelete inferred
input_textwrite assumed
key_eventsend inferred
scrollwrite assumed
app_startwrite assumed
app_stopwrite assumed
app_installwrite assumed
app_uninstalldestructive declared
app_listread declared
app_currentread declared
clipboard_getread declared
clipboard_setwrite inferred
ui_dumpread declared
ui_find_elementread declared
shell_execdestructive declared
file_pushdestructive declared
file_pulldestructive declared
file_listread declared
start_video_streamwrite assumed
stop_video_streamdelete inferred
Answering this question about your own agent? The self-serve stack report applies the same reading to your own stack or server and gives you a dated document you can hand to a customer's security review. It is generated in your browser, with nobody to wait for. Buying one does not change this page, its score or its place in the index — see Independence.
Maintain this server? If this page misreads your manifest, or your server has changed, submit its current tools/list response and it will be re-scored and dated. Corrections are published alongside the original, not in place of it.