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

@peteqian/browser-agent

v0.2.0

Published

CLI binary and MCP server. Library core ships in @peteqian/browser-agent-sdk.

Readme

@peteqian/browser-agent

CLI and MCP server for @peteqian/browser-agent-sdk.

Install

npm install -g @peteqian/browser-agent

CLI

browser-agent "Find the top result on Hacker News and print its title."
browser-agent "..." --provider openai --model gpt-4.1-mini
browser-agent browser status
browser-agent browser install
browser-agent profile list
browser-agent dashboard
browser-agent dashboard status
browser-agent --probe --provider claude

Run browser-agent --help for the full flag list.

browser-agent browser install installs Playwright-managed Chromium when no browser executable is discoverable. Cookie and login persistence is handled by profiles (--profile <name>) and storage state, not by the browser binary choice alone.

Named profiles live under ~/.browser-agent/profiles/<name>/. Use browser-agent profile list, browser-agent profile show <name>, and browser-agent profile clear <name> to inspect or remove them.

For a real headed browser that a user can inspect or manually complete checks in, attach by CDP and preserve the native fingerprint:

browser-agent "Run fingerprint_report and summarize it" \
  --cdp-url http://127.0.0.1:9222 \
  --fingerprint-mode native

native skips the stealth init script and the fixed user-agent/client-hints override. For owned Chrome launches, it also avoids the broader automation-tuned default arg set. Use it with a persistent profile when a site ties trust to the exact browser, cookies, localStorage, IP, and human interaction history.

browser-agent dashboard starts a local HTTP dashboard at http://127.0.0.1:3217. It writes ~/.browser-agent/daemon.json so later CLI or MCP processes can discover and health-check the running dashboard daemon. The dashboard owns long-lived browser sessions, shows snapshots/events/artifact paths, and can run raw SDK actions against the selected session.

MCP clients can use the daemon_* tools to work with sessions owned by that dashboard process from a fresh MCP connection: launch/list/attach sessions, read snapshots/events/artifacts, run named extraction/screenshot/PDF tools, run generic actions, and close sessions.

For sessions owned by the stdio MCP server, close_session does a normal shutdown by default. Pass force: true to kill the launched browser process tree when Chrome or a child process is stuck.

MCP server

browser-agent-mcp is a stdio MCP server. Use the auto-installer or paste the snippet for your client.

Auto-install (recommended)

npx -y -p @peteqian/browser-agent browser-agent install

The TUI detects which clients you have (Codex, Claude Code, Cursor), asks for scope (user vs project) and runtime source (npx vs local checkout vs global install), then writes the config. Non-interactive forms:

browser-agent install --client codex,cursor
browser-agent install --client claude-code --scope project
browser-agent install --client codex --print     # print snippet only
browser-agent install --all-detected             # no prompts

Manual install

Codex~/.codex/config.toml:

[mcp_servers.browser-agent]
command = "npx"
args = ["-y", "-p", "@peteqian/browser-agent", "browser-agent-mcp"]
startup_timeout_sec = 20

Claude Code:

claude mcp add --scope user browser-agent -- npx -y -p @peteqian/browser-agent browser-agent-mcp

Cursor~/.cursor/mcp.json (user) or ./.cursor/mcp.json (project):

{
  "mcpServers": {
    "browser-agent": {
      "command": "npx",
      "args": ["-y", "-p", "@peteqian/browser-agent", "browser-agent-mcp"]
    }
  }
}

Troubleshooting

MCP startup failed: handshaking with MCP server failed: connection closed: initialize response

You are on @peteqian/[email protected], which shipped with an unresolved workspace:* dependency that blocks npm/npx install. Upgrade to ≥ 0.1.1 (rerun browser-agent install, or bump the -p @peteqian/browser-agent@latest arg in your config).

Programmatic

import { createMcpServer, runStdioServer } from "@peteqian/browser-agent";

For library use (in-process automation), import @peteqian/browser-agent-sdk instead.