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

waterbox

v0.1.0-alpha.4

Published

Run coding tools in isolated, stateful sandboxes through MCP.

Readme

waterbox

waterbox is the supported local stdio MCP for isolated, stateful coding sandboxes. It requires Node.js 24.15.0 or newer, opens no listener, and supports hosted Waterbox plus explicitly configured direct Box and Vercel Sandbox accounts. It is not the hosted Waterbox service and has no JavaScript library API.

Install And Configure

npx add-mcp waterbox

This prerelease is available through npm's default tag. The command installs MCP client configuration equivalent to { "command": "npx", "args": ["-y", "waterbox"] }. It does not collect provider credentials. Running npx waterbox directly starts the stdio server; use an explicit argument for terminal-only onboarding:

npx waterbox setup
npx waterbox status
npx waterbox logout

Interactive setup stores only the provider credential in the native keyring on macOS and Windows. Linux uses ~/.waterbox/credentials.json with a 0700 directory and 0600 file. Non-secret settings are written atomically to ~/.waterbox/config.json using the exact official direct-provider endpoints https://ascii.dev/api/box/v1 and https://api.vercel.com/; hosted Waterbox is pinned to https://api.waterbox.ai/. Interactive setup shows hosted Waterbox only when its public capability document advertises availability. Existing hosted persisted configuration and explicit WATERBOX_PROVIDER=waterbox environment configuration remain valid independently. FORCE_DISPLAY_WATERBOX=1 is a development/debug override that shows it without fetching capabilities. Status never prints credentials and identifies the active credential backend. Logout removes local settings and all three stored credentials but does not alter remote resources or the SQLite resource registry.

For containers, automation, or systems where user-readable file storage is not appropriate, place a complete provider configuration in the MCP client's environment/secret facility. Do not put secrets in command arguments:

Waterbox: WATERBOX_PROVIDER=waterbox, WATERBOX_API_KEY=<client-managed secret>
Box:    WATERBOX_PROVIDER=box, BOX_API_KEY=<client-managed secret>,
        WATERBOX_AUTO_STOP=40m
Vercel: WATERBOX_PROVIDER=vercel, VERCEL_TOKEN=<client-managed secret>,
        VERCEL_TEAM_ID=<team identifier>, VERCEL_PROJECT_ID=<project identifier>,
        WATERBOX_AUTO_STOP=40m

Hosted Waterbox always targets https://api.waterbox.ai/. Custom Box/Vercel endpoints are supported only when the complete provider selection and credentials come from process environment. Environment and persisted sources are never mixed. .env is never loaded implicitly.

Linux credentials are plaintext at rest and protected by filesystem ownership and permissions. Same-user processes, root, and backups may read them. Linux users upgrading from alpha.2 should rerun npx waterbox setup; native-keyring entries are not migrated automatically.

An unconfigured server remains connected and returns setup guidance from all tools before filesystem, SQLite, artifact, or provider I/O.

Configuration

| Variable | Required | Default | | --- | --- | --- | | WATERBOX_PROVIDER | Environment setup: waterbox, box, or vercel | none | | WATERBOX_API_KEY | Hosted Waterbox environment setup | none | | FORCE_DISPLAY_WATERBOX | Development/debug interactive-setup override; only 1 enables it | none | | BOX_API_KEY | Box environment setup | none | | BOX_API_BASE_URL | Environment-only override | https://ascii.dev/api/box/v1 | | BOX_POLL_INTERVAL_MS | No | 1000 | | BOX_POLL_TIMEOUT_MS | No | 120000 | | VERCEL_TOKEN | Vercel environment setup | none | | VERCEL_TEAM_ID | Vercel environment setup | none | | VERCEL_PROJECT_ID | Vercel environment setup | none | | VERCEL_API_ORIGIN | Environment-only HTTPS-origin override | https://api.vercel.com/ | | VERCEL_POLL_INTERVAL_MS | No | 1000 | | VERCEL_POLL_TIMEOUT_MS | No | 120000 | | VERCEL_REQUEST_TIMEOUT_MS | No | 30000 | | WATERBOX_AUTO_STOP | Box and Vercel environment setup; whole minutes/hours such as 40m or 6h | none | | WATERBOX_SQLITE_PATH | No | ~/.waterbox/direct.sqlite |

Lifecycle And Tools

Waterbox exposes create_sandbox, probe_sandbox, stop_sandbox, list_snapshots, create_snapshot, delete_snapshot, send_file_securely, read, write, edit, patch, glob, grep, and bash. Resource IDs are explicit; there is no selected sandbox or list_sandboxes tool.

Direct Box/Vercel mode owns only records in its local SQLite database and does not infer ownership from provider inventory. Hosted Waterbox records are owned by the hosted service. Sandboxes persist after the MCP exits. Changing provider scope does not migrate or clean old resources, which may continue to incur charges. Fresh and snapshot-sourced sandboxes receive the current packaged Node CLI without a shared system snapshot, Bun, or daemon.

Secure transfer keeps file contents out of MCP arguments and model context in transit, but the destination is plaintext and provider/sandbox-readable. Ordinary operations are not retried after ambiguous execution. Provider quotas, automatic stopping, snapshot retention, and optional capabilities remain provider-defined.

Official MCP registry and catalog discovery are deferred; no server.json is included in the npm package.