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

browsertrack

v0.3.0

Published

Local browser diagnostics + MCP bridge for coding agents

Readme

BrowserTrack 🔍

Local browser diagnostics shared with coding agents through MCP.

BrowserTrack is a lightweight, framework-agnostic local development daemon and Model Context Protocol (MCP) bridge. It automatically collects browser-side runtime errors, unhandled rejections, console logs, network failures, user breadcrumbs, and DOM snapshots—making them instantly accessible to AI coding assistants (Antigravity, Cursor, Claude Code) for rapid debugging and closed-loop verification.


⚡ Quick Start

1. Start the Local Daemon

npm install -g browsertrack
browsertrack start

This starts the local diagnostics server at http://127.0.0.1:7331 (WebSocket at ws://127.0.0.1:7331).

⚡ Zero-Config Auto-Start: If you configure BrowserTrack via MCP in your AI editor (Cursor, Antigravity, Claude Code), you do not need to manually run browsertrack start! The MCP server automatically launches and manages a single background daemon (singleton) on port 7331. Multiple windows or sessions share this single daemon without duplicate processes or port conflicts.

2. Connect Your Web Project

Option A: Zero-install script tag (Plain HTML / Vite / Next.js)

<script src="http://127.0.0.1:7331/client.js"></script>

Option B: NPM package (React / Vue / Svelte / Astro)

npm install -D browsertrack

In your main application entry point (e.g. main.ts or index.tsx):

import 'browsertrack/client';

🤖 Coding Agent (MCP) Setup

Add BrowserTrack to your MCP client configuration:

Cursor (~/.cursor/mcp.json) & Claude Code

{
  "mcpServers": {
    "browsertrack": {
      "command": "npx",
      "args": ["browsertrack", "mcp"]
    }
  }
}

Antigravity (~/.gemini/antigravity-ide/mcp_config.json)

{
  "mcpServers": {
    "browsertrack": {
      "command": "browsertrack",
      "args": ["mcp"]
    }
  }
}

🛠️ MCP Tools Exposed to AI Agents

📋 Incidents & Diagnostics

| MCP Tool | Description | | :--- | :--- | | list_incidents | Lists grouped error incidents with occurrences, severity, and status. | | get_incident | Retrieves concise, high-signal context (stack trace, breadcrumbs, network failures, last interacted element, error screenshot). | | get_console | Retrieves recent console errors/warnings. | | get_network_failures | Retrieves recent 4xx/5xx HTTP failures and aborted requests. | | get_breadcrumbs | Returns user interaction timeline leading up to an error. | | get_page_state | Queries live DOM/URL state from the active browser tab. | | capture_element | Captures an on-demand screenshot of a specific element or full page. |

📝 Visual Notes, Scenarios & Layout Inspector

| MCP Tool | Description | | :--- | :--- | | list_notes | Lists visual annotations left on elements/regions (Alt+Click notes). | | get_note | Retrieves complete note context (component source file & line, DOM selector, bounding rect, screenshot). | | capture_note_context | Inspects live DOM bounding box, styles, and overflow on an element. | | verify_note | Runs automated layout verification and geometry diffing with screenshot comparison. | | get_note_verification | Retrieves latest layout verification verdict and screenshots. | | resolve_note | Marks a visual note as RESOLVED. | | reopen_note | Reopens a previously resolved visual note. | | list_scenarios | Lists multi-step user reproduction flows. | | get_scenario | Retrieves complete step-by-step reproduction flow. |

🎛️ Session, Verification & Agent Guidelines

| MCP Tool | Description | | :--- | :--- | | list_projects | Lists registered local development projects and mapped filesystem paths. | | list_sessions | Lists active browser tabs connected over WebSocket. | | verify_incident | Runs closed-loop verification: reloads browser, checks if error reoccurs, executes probes, captures after-screenshot, and returns verdict (VERIFIED, FAILED, INCONCLUSIVE). | | get_verification | Returns latest verification result and before/after screenshot artifacts. | | get_agent_guidelines | Retrieves full AI agent guidelines, workflows, and tool references. |


💻 CLI Commands

Powered by mcponce:

browsertrack start             # Start local daemon
browsertrack start --verbose   # Verbose logging mode
browsertrack stop              # Stop background daemon
browsertrack status            # Check status & connected sessions

browsertrack projects          # List tracked projects
browsertrack project add myapp --origin http://localhost:5173 --path ~/projects/myapp

browsertrack errors            # List open runtime errors
browsertrack errors --project myapp

browsertrack clear             # Clear stored logs & incidents

# MCP & mcponce Developer Suite
browsertrack mcp               # Run MCP server over stdio (auto-boots singleton daemon)
browsertrack inspect           # Launch interactive zero-dependency Web Inspector & Playground
browsertrack mcp tools         # Inspect all 21 tool signatures and input schemas
browsertrack mcp call <tool>   # Test any MCP tool directly in terminal
browsertrack mcp analytics     # Real-time tool execution metrics and latency
browsertrack mcp install       # Auto-install MCP server to Claude Desktop or Cursor

🛡️ Security & Privacy

  • Localhost Only: Daemon strictly binds to 127.0.0.1.
  • Sensitive Key Redaction: Powered by @visulima/redact — Authorization, Cookie, Set-Cookie, passwords, API tokens, bearer tokens, JWTs, AWS credentials, credit cards, SSNs, and secret query parameters are automatically sanitized.
  • No Form Values: Form inputs (<input>, <textarea>) are never inspected or collected.
  • Zero Request/Response Body: Payload bodies are disabled by default.

🏗️ Architecture

Browser Client (Vanilla / React / Vue / Vite)
      ↕ WebSocket (ws://127.0.0.1:7331)
Local Daemon (SQLite Persistence + Verification Engine)
      ↕ MCP (stdio)
Coding Agents (Antigravity / Cursor / Claude Code)

🧪 Testing

Run the automated test suite:

npm test

Start the interactive fixture app for manual and end-to-end verification:

npx serve examples/test-app