LeashIndex Get the report

Index / other

MCP Appium - Mobile Development and Automation Server

io-github-appium-appium-mcp declares 32 capabilities across 32 tools, with 2 critical issues.

81/100 exposureHigh exposure

Manifest recorded 2026-10-15 from tools/list answered by the npm package appium-mcp@1.97.1 (published to npm as appium-mcp, listed in the official MCP registry as io.github.appium/appium-mcp 1.97.1), run in an isolated container with no network access and no 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 32 tools

32 of 32 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 · 2 of 32 tools

2 tools are classified as irreversible and declare no limit.

high · no-expiry · All 32 tools

32 of 32 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 32 tools

32 of 32 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 · 16 of 32 tools

16 tools can modify data and declare no limit.

low · uncapped-read · 14 of 32 tools

14 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
select_devicewrite assumed
appium_session_managementdestructive declared
appium_mobile_device_controlwrite assumed
appium_geolocationwrite assumed
appium_mobile_device_inforead declared
appium_mobile_filewrite inferred
appium_driver_settingsread inferred
prepare_ios_simulatorwrite assumed
appium_prepare_ios_real_devicewrite assumed
appium_gesturewrite assumed
appium_drag_and_dropdelete inferred
appium_perform_actionswrite assumed
appium_find_elementread declared
appium_find_elementsread declared
appium_mobile_press_keywrite assumed
appium_set_valuewrite inferred
appium_mobile_keyboardwrite assumed
appium_get_textread declared
appium_get_element_attributeread declared
appium_mobile_clipboardread inferred
appium_get_active_elementread declared
appium_get_page_sourceread inferred
appium_orientationread inferred
appium_alertwrite inferred
appium_screenshotwrite assumed
appium_get_window_sizeread declared
appium_screen_recordingwrite assumed
appium_app_lifecyclewrite assumed
appium_mobile_permissionsread inferred
appium_contextwrite assumed
generate_locatorsread declared
appium_generate_testsread 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.