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

@m0xoo/server-waiting-room

v1.0.0

Published

Waiting Room MCP App Server example using React

Readme

🛑 The Waiting Room (MCP App)

"Nothing to do while your AI agent is working?"

We’ve all been there: You ask your coding assistant to build a massive new 100-file feature, and then... you wait. You stare at the spinner. You open Twitter. You close Twitter. You look at the spinner again. It's still spinning.

Why waste your life staring at a loading bar when you could be building a massive baking empire? 🍪

Waiting Room is an MCP (Model Context Protocol) App that automatically intercepts moments of boredom. When your AI is taking forever, your agent can seamlessly trigger this app inside your editor to bring up a fun mini-game hub featuring a fully playable Cookie Clicker game, complete with upgrades, auto-clickers, and dopamine.

Screenshot


🎮 Features

  • The Hub: A slick, dark-mode selection screen to choose your distraction.
  • Cookie Clicker: A fully-fledged clicker game built in React!
    • 🖱️ Hover Click: Increase your clicking power.
    • ⚙️ Auto Clickers: Sit back and let the machine bake for you.
    • 📈 Progressive scaling costs and beautiful UI feedback.
  • MCP Native: Integrates seamlessly with any MCP client (like Cursor, VS Code, or your own custom agent environment).

🚀 Getting Started

To install and play the Waiting Room locally, add this configuration to your MCP client (using the stdio transport).

Note: Replace /path/to/waiting-room with the exact directory where you cloned this repo.

{
  "mcpServers": {
    "waiting-room-react": {
      "command": "bash",
      "args": [
        "-c",
        "cd /path/to/waiting-room && npm run build >&2 && node dist/index.js --stdio"
      ]
    }
  }
}

🛠️ Development & Customization

Want to add your own games to the Waiting Room? (Flappy Bird, anyone?)

  1. Install dependencies:

    npm install
  2. Watch for changes during development:

    npm run dev
  3. How It Works:

    • The server registers an MCP tool called waiting-room.
    • The tool contains UI metadata (_meta.ui) pointing to a bundled HTML app.
    • The host client intercepts the tool call and renders the React dashboard.
    • The UI communicates back with the host using the @modelcontextprotocol/ext-apps SDK.

Give Your Agent Something To Do While You Play

Stop waiting. Start clicking. 🍪