npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@deepsyte/mobile-mcp

v1.2.1

Published

DeepSyte Mobile MCP server — automate Android/iOS via Appium from Claude, Cursor, or Windsurf

Downloads

261

Readme

@deepsyte/mobile-mcp

Mobile automation MCP server — 78 tools for automating Android and iOS apps from Claude, Cursor, Windsurf, or any MCP client.

Quick start

Add to your MCP client config:

{
  "mcpServers": {
    "deepsyte-mobile": {
      "command": "npx",
      "args": ["-y", "@deepsyte/mobile-mcp"]
    }
  }
}

Restart your client, then run mobile_devices to confirm.

Requirements

  • ADB (Android SDK Platform Tools) in PATH
  • Appium 3.x running locally for session-based tools (appium server)
  • iOS: macOS + Xcode + WebDriverAgent

Tools

Device & Session

| Tool | Description | |---|---| | mobile_devices | List connected devices | | mobile_screenshot | Fast ADB screenshot | | mobile_uitree | Dump accessibility XML via ADB. Android only. | | mobile_record_start / mobile_record_stop | Screen recording | | mobile_session_start | Start Appium session (Android or iOS) | | mobile_session_stop / mobile_session_status | Manage session |

App Management

| Tool | Description | |---|---| | mobile_app_launch / mobile_app_stop | Launch or stop app. Android only. | | mobile_install_app | Install APK/IPA from local path | | mobile_uninstall_app | Remove app from device | | mobile_activate_app | Bring app to foreground (cross-platform) | | mobile_clear_app_data | Clear storage/cache without uninstalling |

Interaction

| Tool | Description | |---|---| | mobile_tap | Tap at coordinates | | mobile_swipe | Swipe between two points | | mobile_type | Type text (keyboard-driven) | | mobile_key | Press hardware key (HOME, BACK, ENTER…) | | mobile_double_tap | Double-tap at coordinates | | mobile_drag | Drag with hold (triggers drag-and-drop) | | mobile_long_press | Long press at coordinates | | mobile_hide_keyboard | Dismiss soft keyboard | | mobile_press_home | Home button. Android only. | | mobile_press_back | Back button. Android only. | | mobile_set_orientation / mobile_get_orientation | Rotate device |

Element Ops

| Tool | Description | |---|---| | mobile_tap_text | Find element by text and tap | | mobile_find_element | Find element by selector | | mobile_element_text | Get element text | | mobile_fill_field | Clear + type into field | | mobile_set_value | Set field value (bypasses keyboard) | | mobile_wait_for_element | Wait until element appears | | mobile_element_exists | Check if element is on screen | | mobile_find_all_elements | Find all matching elements | | mobile_scroll_to_text | Scroll until text is visible | | mobile_screenshot_element | Screenshot cropped to element bounds |

Alerts, Context & State

| Tool | Description | |---|---| | mobile_handle_alert | Accept or dismiss alert/dialog | | mobile_get_contexts | List Native/WebView contexts | | mobile_switch_context | Switch context | | mobile_app_state | App state (foreground/background/not running) | | mobile_pinch / mobile_zoom | Pinch gestures |

Device Control

| Tool | Description | |---|---| | mobile_grant_permission / mobile_revoke_permission | ADB permission management. Android only. | | mobile_deep_link | Open URL scheme or universal link | | mobile_clipboard | Get or set clipboard | | mobile_push_file / mobile_pull_file | File transfer to/from device | | mobile_geolocation | Mock GPS coordinates |

AI-First

| Tool | Description | |---|---| | mobile_source | Raw accessibility XML | | mobile_describe_screen | Human-readable element list (faster for AI) | | mobile_assert_text | Assert text visible — throws if not | | mobile_wait_for_screen_change | Wait until screen content changes | | mobile_execute | Raw mobile: script escape hatch |

Screenshot opt-in

9 interaction tools accept screenshot: true to return a confirmation screenshot: mobile_tap, mobile_tap_text, mobile_swipe, mobile_type, mobile_fill_field, mobile_long_press, mobile_double_tap, mobile_drag, mobile_scroll_to_text

Browser / WebView (CDP)

20 tools for automating Chrome on the device: navigate, tap, type, evaluate JS, cookies, localStorage, network throttle, geolocation, user agent, and more. Call mobile_get_contexts to find the WebView, mobile_switch_context to enter it, then use mobile_browser_* tools.


Appium 3 note

All mobile: scripts use /execute/sync. Upgrade from Appium 2 if you see 404 errors.

DeepSyte integration

npx -y @deepsyte/cli login

Screenshots and recordings upload to deepsyte.com automatically.

Changelog

  • v1.2.0 — iOS support, 26 new tools (app lifecycle, gestures, device control, AI-first), screenshot opt-in on 9 tools
  • v1.1.1 — Fix: /execute/execute/sync for Appium 3
  • v1.1.0 — Native app automation: element finding, gestures, alerts, app state
  • v1.0.0 — Initial release: ADB tools + CDP browser automation