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

localpov

v0.1.5

Published

Development context bridge for AI coding agents. Terminal capture, browser console, network logs, screenshots, Docker logs — one MCP server.

Downloads

34

Readme

LocalPOV

npm version npm downloads license Node.js 18+

Development context bridge for AI coding agents. One MCP server, 14 tools.

  • Terminal capture — every shell session, auto-captured
  • Browser console — errors, warnings, unhandled exceptions
  • Network failures — 4xx/5xx responses, CORS errors, slow requests
  • Build errors — structured {file, line, col, message} from TS, ESLint, Webpack, Vite, Rust, Go
  • Docker logs — container output without leaving your editor
  • Screenshots — on-demand browser viewport capture
  • Port scanning — what's up, what's down
  • System health — memory, CPU, uptime

Your AI agent sees everything happening in your dev environment — without you copy-pasting anything.

Quick start

Claude Code

claude mcp add localpov -- npx -y localpov --mcp

That's it. One command. Restart Claude Code and all 14 tools are available.

Shell integration is installed automatically on first run — restart your terminal to start capturing.

Claude Desktop

Add to claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "localpov": {
      "command": "npx",
      "args": ["-y", "localpov", "--mcp"]
    }
  }
}

Cursor

Add to .cursor/mcp.json in your project root (or ~/.cursor/mcp.json for global):

{
  "mcpServers": {
    "localpov": {
      "command": "npx",
      "args": ["-y", "localpov", "--mcp"]
    }
  }
}

VS Code / Copilot

Add to .vscode/mcp.json in your project root:

{
  "servers": {
    "localpov": {
      "command": "npx",
      "args": ["-y", "localpov", "--mcp"]
    }
  }
}

Windsurf

Add to your MCP config:

  • macOS/Linux: ~/.codeium/windsurf/mcp_config.json
  • Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json
{
  "mcpServers": {
    "localpov": {
      "command": "npx",
      "args": ["-y", "localpov", "--mcp"]
    }
  }
}

Or configure via Windsurf UI: Cascade panel → MCPs icon → Add server.

Any other MCP client

LocalPOV uses stdio transport. Any MCP client that supports stdio works with:

{
  "command": "npx",
  "args": ["-y", "localpov", "--mcp"]
}

Why

AI coding agents are blind. They can read and write files, but they can't see:

  • What your terminal just printed
  • That the browser console is full of CORS errors
  • That fetch('/api/users') is returning 500
  • That the Docker container crashed 30 seconds ago
  • That TypeScript found 12 errors on build

You end up copy-pasting error messages into chat. LocalPOV fixes this — the agent reads your dev environment directly.

What the AI agent sees

14 tools available via MCP:

| Tool | What it does | |------|-------------| | get_diagnostics | One-call health check: terminal errors, browser console, network failures, port status, memory | | list_sessions | All captured terminal sessions (PID, shell, alive/dead) | | read_terminal | Last N lines from any terminal session, with pagination | | read_command | Output of a specific command by index (supports negative indexing) | | get_errors | Errors across all sessions (JS, TS, Python, Rust, Go patterns) | | search_all | Regex search across all terminal output | | read_browser | Browser console errors + failed/slow network requests | | take_screenshot | Capture browser viewport | | get_build_errors | Structured build errors: {file, line, col, message} | | docker | List containers or read container logs | | tail_log | Read last N lines of any log file | | check_ports | What's listening, what's down | | check_env | Which env vars exist (never exposes values) | | process_health | System memory, CPU, uptime |

How it works

Terminal capture

Shell integration hooks into your shell startup (bash, zsh, fish, powershell). Every terminal session's output is captured to ~/.localpov/sessions/ as plain text logs. The AI agent reads these via read_terminal or get_errors.

This is installed automatically when you run npx -y localpov for the first time.

Browser capture (optional)

Start the proxy to capture browser console and network activity:

npx -y localpov --port 3000

Then open http://localhost:4000 instead of http://localhost:3000 — your app works exactly the same, but the agent can now see console errors, network failures, and take screenshots.

No browser extension needed. Works in any browser.

Dashboard

Open http://localhost:4000/__localpov__/ to see a visual debug panel:

  • Apps — detected dev servers with one-click preview
  • Terminal — live terminal output stream
  • Debug — console errors, network failures, and system health in real-time

Architecture

Terminal sessions          LocalPOV MCP Server          AI Agent
  (bash/zsh/ps)                   |                  (Claude Code,
       |                          |                   Cursor, etc.)
       |  ~/.localpov/sessions/   |   read_terminal         |
       |------------------------->|<------------------------|
                                  |                         |
Browser --> localpov proxy (:4000)|   read_browser          |
              |  injects capture  |<------------------------|
              |  script into HTML |                         |
              |                   |   take_screenshot       |
              |  console + fetch  |<------------------------|
              |  errors captured  |                         |
                                  |   get_diagnostics       |
Docker containers                 |<------------------------|
  |  docker logs                  |                         |
  |------------------------------>|   docker                |
                                  |<------------------------|

Config file

Create .localpovrc in your project root:

{
  "port": 3000,
  "listen": 4000,
  "ports": [3000, 3001, 5173, 8080]
}

Supported shells

| Shell | Capture method | Platforms | |-------|---------------|-----------| | bash | script command + preexec/precmd hooks | Linux, macOS | | zsh | script command + preexec/precmd hooks | Linux, macOS | | fish | script command + fish_preexec/fish_postexec | Linux, macOS | | PowerShell | Start-Transcript + prompt function flush | Windows, Linux, macOS |

Safety

  • Output capped at 50KB per MCP response — prevents flooding the AI context
  • Environment values never exposedcheck_env only reports existence (true/false)
  • File access restrictedtail_log only reads from cwd, ~/.localpov/, /var/log/, /tmp/
  • Sensitive paths blocked.ssh, .env, credentials files are never readable
  • WebSocket limits — max 50 connections, 64KB message size cap
  • Stale data cleanup — sessions >24h and browser data >4h auto-cleaned

Requirements

  • Node.js 18+

License

MIT