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

quick-html-share-mcp

v0.4.0

Published

MCP server that lets your coding agent (Claude Desktop, Cursor, Codex CLI, Claude Code, Continue) publish HTML and get back a shareable URL with viewer analytics — in one tool call. No account, link is the secret.

Readme

quick-html-share-mcp

MCP server for quick-html-sharing — paste HTML, get an unguessable shareable URL plus viewer analytics, all from inside your coding agent.

For vibe coders sharing AI-generated HTML demos with friends, clients, or coworkers without setting up a deploy pipeline.

Install

Add to your MCP client config — no install step beyond that, npx fetches on demand.

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) — or the equivalent path on your OS:

{
  "mcpServers": {
    "qhs": { "command": "npx", "args": ["-y", "quick-html-share-mcp"] }
  }
}

Restart Claude Desktop.

Cursor

Settings → MCP → Add Server, or edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "qhs": { "command": "npx", "args": ["-y", "quick-html-share-mcp"] }
  }
}

Codex CLI / Continue / any other MCP client

Same pattern — point the client at npx -y quick-html-share-mcp as a stdio MCP server.

Claude Code

Claude Code supports MCP too, but the companion qhs skill is a lighter-touch alternative (skill = markdown file + tiny helper, no Node process per session).

What you get

Nine tools that show up in your agent's tool list:

| Tool | What it does | |------|--------------| | qhs_share | Upload an HTML document or snippet, get back a public shareable URL + private edit URL | | qhs_edit | Update HTML at an existing share (slug stays the same) — keeps the old version | | qhs_delete | Permanently take down a share (URL returns 404 after) | | qhs_stats | Views, unique viewers, traffic sources, 7-day activity, crawler fetches | | qhs_list | List your shares — this machine, plus every machine once a sync code is saved | | qhs_versions | List the stored versions of a share, newest first | | qhs_preview_version | Read an old version's source before restoring it | | qhs_restore | Republish an older version (appended as a new version, so it's undoable) | | qhs_set_sync_code | Save your sync code so version history works for shares made on your other machines |

Editing never overwrites. Each qhs_edit appends a new version and keeps the previous one, so an agent that regenerates a page from a bad prompt is recoverable: qhs_versionsqhs_preview_versionqhs_restore. Restoring appends too, so the restore itself can be undone.

How it works

your agent           quick-html-share-mcp                hosted qhs worker
                  (this npm package, stdio)            (Cloudflare, free tier)
   │                          │                                  │
   ├─ qhs_share(html) ───────▶│                                  │
   │                          ├─ POST /api/upload ──────────────▶│
   │                          │◀─ {slug, shareUrl, editToken} ───┤
   │                          │                                  │
   │                          ├─ write ~/.qhs/shares.json        │
   │                          │     (local edit-token store)     │
   │                          │                                  │
   │◀─ {shareUrl, editUrl} ───┤                                  │

Edit tokens are persisted to ~/.qhs/shares.json so qhs_edit / qhs_delete can find them on subsequent calls without you having to remember anything. The companion Claude Code skill writes to the same file.

Across machines. Save your sync code once per machine with qhs_set_sync_code and the rest follow: qhs_list includes shares made elsewhere, and qhs_versions / qhs_preview_version / qhs_restore / qhs_delete work on them. Editing does not — that still needs the share's own edit token on this device, because a restore republishes bytes the server already holds while an edit supplies new ones. Deleting a share this machine did not create requires confirm: true, since a slug alone is otherwise enough to take a page down for good.

Privacy & limits

  • Share URLs are unguessable but not authenticated. ~62 bits of entropy. Treat them like Google Docs share links — anyone with the link can view.
  • Edit tokens live in the URL fragment (#edit=…), so they never reach the server's HTTP logs.
  • Max 1 MB per upload, 1 share per 30s per IP (rate limited).
  • No accounts, no email. Your shares are tied to your local edit-token file — back it up if you care about being able to edit/delete later.
  • A small Hosted by qhs · Report watermark is injected into every share for abuse handling.

License

MIT