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

@zibby/mcp-browser

v2.0.4

Published

Wrapper for @playwright/mcp with stable ID support and event recording

Readme

@zibby/mcp-browser

Wrapper for @playwright/mcp with stable ID support and event recording.

Features

  • ✅ Injects stable IDs via --init-script for reliable element targeting
  • ✅ Records browser events to events.json with stable IDs
  • ✅ Video recording with accurate timestamp synchronization
  • ✅ Passes through all official Playwright MCP functionality

Installation

npm install @zibby/mcp-browser

Usage

As MCP Server

Add to your MCP configuration:

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@zibby/mcp-browser"]
    }
  }
}

Command Line

# Basic usage (same as @playwright/mcp)
npx @zibby/mcp-browser

# With headless mode
npx @zibby/mcp-browser --headless

# With custom output directory
npx @zibby/mcp-browser --output-dir ./recordings

How It Works

This package wraps the official @playwright/mcp and adds:

  1. Stable ID Injection: Automatically injects stable element IDs into the page
  2. Event Recording: Records all browser interactions with stable IDs
  3. Video Sync: Synchronizes event timestamps with video recordings

Event Recording

Events are recorded to events.json in the session directory:

[
  {
    "id": 0,
    "type": "navigate",
    "timestamp": "2026-03-05T12:00:00.000Z",
    "videoOffsetMs": 0,
    "videoOffsetFormatted": "00:00:00.000",
    "data": {
      "url": "https://example.com"
    }
  },
  {
    "id": 1,
    "type": "click",
    "timestamp": "2026-03-05T12:00:02.500Z",
    "videoOffsetMs": 2500,
    "videoOffsetFormatted": "00:00:02.500",
    "data": {
      "element": "Login button",
      "stableId": "zibby-login-btn-a1b2c3"
    }
  }
]

Configuration

Set the session path via environment variable:

export ZIBBY_SESSION_INFO=/path/to/.session-info.json

Remote / sidecar browser (pluggable runtime)

By default the wrapper launches a local Chromium (the official @playwright/mcp behavior). If you set BROWSER_WS_ENDPOINT to a remote Chrome's CDP/WS endpoint, it instead connects to that browser over CDP (connectOverCDP) and launches no local Chromium — so a browser agent can run on a slim image with no baked browser binary, pointing at a HOSTED Chrome (browserless / Browserbase / any CDP endpoint). On a Zibby self-host box the platform's own browser is the on-demand browser sidecar deployed from the marketplace, reached over MCP — this knob is only for bringing your own hosted Chrome.

# Connect to a hosted Chrome over CDP (no local Chromium needed):
export BROWSER_WS_ENDPOINT='wss://chrome.browserless.io?token=...'
npx @zibby/mcp-browser

Implemented by reusing @playwright/mcp's native --cdp-endpoint flag (which takes precedence over local launch). Aliases BROWSER_CDP_ENDPOINT and PLAYWRIGHT_WS_ENDPOINT are also accepted. Unset → unchanged (launch local).

Compatibility

  • Node.js >= 18.0.0
  • Compatible with all @playwright/mcp features
  • Works with Playwright >= 1.49.0

License

Proprietary — Copyright (c) 2026 Zibby Labs. All rights reserved. Unauthorized copying, distribution, or use is prohibited.

Related Packages