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

mcp-wiretap

v0.1.0

Published

See everything your AI agents do through MCP. One command. Zero config.

Readme

mcp-wiretap

See everything your AI agents do through MCP. One command. Zero config.

Quick Start

npx mcp-wiretap -- npx -y @modelcontextprotocol/server-filesystem ~/Code

That's it. Every MCP tool call is now logged to SQLite and displayed in your terminal.

Why

MCP servers can read files, query databases, and execute code on your behalf. But you can't see what they're actually doing.

mcp-wiretap wraps any MCP server and records every tool call — what was requested, what was returned, and how long it took. No SDK integration. No platform to adopt. Just wrap and watch.

Use with Claude Desktop

Replace your existing MCP server config:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y", "mcp-wiretap", "--",
        "npx", "-y", "@modelcontextprotocol/server-filesystem", "/Users/me/Code"
      ]
    }
  }
}

Now every tool call Claude Desktop makes through this server is logged.

Use with Cursor

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y", "mcp-wiretap", "--",
        "npx", "-y", "@modelcontextprotocol/server-filesystem", "/Users/me/Code"
      ]
    }
  }
}

Use with Claude Code

claude mcp add filesystem -- npx -y mcp-wiretap -- npx -y @modelcontextprotocol/server-filesystem ~/Code

Terminal Output

14:23:01.442 ──▶ initialize
14:23:01.458 ◀── initialize                           16ms
14:23:01.460 ──▶ tools/list
14:23:01.463 ◀── tools/list              (12 tools)    3ms
14:23:05.891 ──▶ tools/call   read_file  {"path":"/Users/me/Code/README.md"}
14:23:05.903 ◀── tools/call   read_file  (2,847 bytes) 12ms

Use --verbose to see full payloads.

Export & Search

# Export current session to JSON
npx mcp-wiretap export --format json --output audit.json

# Export all sessions to CSV
npx mcp-wiretap export --format csv --all --output audit.csv

# List all recorded sessions
npx mcp-wiretap sessions

# Replay a specific session
npx mcp-wiretap replay <session-id>

# Search across all sessions
npx mcp-wiretap search "read_file"

How It Works

┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│  MCP Client  │────▶│  mcp-wiretap │────▶│  MCP Server  │
│ (Claude, etc)│◀────│  (proxy)     │◀────│  (any)       │
└──────────────┘     └──────┬───────┘     └──────────────┘
                            │
                     ┌──────▼───────┐
                     │   SQLite DB  │
                     │   + Terminal │
                     │     Output   │
                     └──────────────┘

mcp-wiretap spawns your MCP server as a child process, intercepts all JSON-RPC messages on stdin/stdout, logs them to SQLite with timestamps and latency, and forwards everything unmodified. Neither the client nor the server knows it's there.

All display output goes to stderr. stdout is reserved exclusively for the MCP protocol.

Options

| Flag | Description | Default | |------|-------------|---------| | --db <path> | SQLite database location | ~/.mcp-wiretap/wiretap.db | | --quiet | Suppress terminal output, log only | false | | --verbose | Show full payloads in terminal | false | | --filter <method> | Only display specific methods | all | | --max-payload <bytes> | Truncate payloads in display | unlimited | | --no-color | Disable color output | false |

Comparison

| Tool | Type | Setup | Cost | |------|------|-------|------| | mcp-wiretap | Passive CLI monitor | One command | Free | | MCP Inspector | Interactive debugger | Manual testing | Free | | Datadog MCP | Enterprise SaaS | SDK + account | $$$ | | Gateways (Composio, etc.) | Platform | Architecture change | Varies |

SQLite Schema

Events are stored at ~/.mcp-wiretap/wiretap.db. You can query them directly:

SELECT timestamp, direction, method, tool_name, latency_ms
FROM events
WHERE session_id = 'your-session-id'
ORDER BY timestamp;

Contributing

See CONTRIBUTING.md.

License

MIT