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

@roverlyai/mcp

v0.1.1

Published

Model Context Protocol server for Roverly — let a coding assistant read your app's map and run UI tests against it.

Readme

@roverlyai/mcp

An MCP server that lets a coding assistant read what Roverly has learned about your app, and run UI tests against it.

Install

You need a Roverly API key with the read and trigger scopes, minted from the dashboard under Settings → API keys.

Claude Code

claude mcp add roverly -e ROVERLY_API_KEY=rvly_xxx -- npx -y @roverlyai/mcp

Codex — add to ~/.codex/config.toml:

[mcp_servers.roverly]
command = "npx"
args = ["-y", "@roverlyai/mcp"]
env = { ROVERLY_API_KEY = "rvly_xxx" }

ROVERLY_API overrides the API host; it defaults to https://api.roverly.ai.

Tools

| Tool | What it does | |---|---| | list_projects | The projects this key can act on, and whether any agent host is online. Call this first. | | describe_app | Screens and navigation edges from crawls that already happened. Reads only — starts nothing. | | upload_build | Upload an .apk/.ipa. Returns an artifact_id. | | start_test | Start a goal-directed run. Returns a run_id; the run is asynchronous. | | check_run | Poll a run to a terminal status. | | get_verdict | The pass/fail verdict and a summary. | | get_findings | Every finding the run produced. |

Three things worth knowing before you wire it up

Runs are not fast, and they are not instant to start. A triggered run is deferred ~2 minutes so an agent host can claim it, and hosts poll every ~30 seconds — so expect ~2.5 minutes before a run leaves pending, then minutes more while it crawls. Poll check_run; do not treat the delay as a hang.

A mobile run must name a build. Runs execute on the tenant's paired agent hardware, which may be a developer machine, dedicated test hardware, or a device farm. There is no assumption that it is the machine you are typing on. So for android and ios projects, start_test requires an artifact_id from upload_build: without one, the run would install nothing and test whatever build already happened to be on the host that claimed it. For web projects, target_url must be a deployment reachable from the agent host — a preview URL, not a local dev server.

No screenshots cross this boundary. Findings come back as text. Roverly redacts personal and payment data on-device specifically so captures do not travel; handing signed image URLs to whichever model is driving your session would undo that. Open the run in the dashboard to look at an image.

Licence

MIT — see LICENSE. The client is open; the Roverly service it talks to is not, and using it needs an API key and an account.