kerlenton/mcpsnoop
Wireshark for MCP. A transparent proxy that shows every real tool call between your AI client and your MCP servers, live in your terminal.
327 ★30 forksGoUpdated 5d ago
What you need to know
'Wireshark for MCP' — a transparent proxy that sits between your real AI client and your MCP servers, showing every JSON-RPC tool call live in a terminal, with session capture, export, CI checks, and tool-drift detection.
Install
go install github.com/kerlenton/mcpsnoop/cmd/mcpsnoop@latest brew install mcpsnoop Prebuilt binaries for every platform on the Releases page
Usage
- •Wrap a stdio server: mcpsnoop -- node build/index.js (swap in your client's MCP config)
- •Proxy a streamable-HTTP server: mcpsnoop http --target http://localhost:3000/mcp --listen :7000
- •Open the live TUI: mcpsnoop (sessions backfill from disk); mcpsnoop demo to try
- •Gate CI: mcpsnoop check --fail-on error,invalid,warn session.jsonl
Key features
- ✓Transparent stdio shim + streamable-HTTP reverse proxy; sees the real client↔server traffic, whatever language the server is in
- ✓Flags hung calls, stream errors, stray output corrupting the stream, malformed JSON-RPC frames, and tool definition drift after approval
- ✓mcpsnoop check for CI (error/invalid/warn/pending/mismatch/drift/deprecated signals), JUnit output, --expect-tool/--forbid-tool/--max-duration
- ✓Session export to json/html/text/har/otlp; live OTLP streaming; mcpsnoop diff between sessions; mcpsnoop baseline for trusted tool definitions
- ✓Key/path/value-based secret redaction; tool summary shows per-tool context cost (definitions/results) in bytes
- ✓Capability inspector, call replay, filtering (tool:/method:/status:/kind:), remote SSH tunnel viewing
Best for
Debugging and verifying MCP servers/agents in the real data path — catching calls the model never made, hung calls, malformed frames, and schema drift.
Caveats
- ⚠Runs the server command you wrap — only wrap servers you trust; run untrusted ones in a container
- ⚠Captured frames can include prompts, tool arguments, credentials, and results — opt in to redaction (best effort)
- ⚠Live SSH tunnel needs Linux/macOS on both ends; Windows uses the post-mortem log copy instead
- ⚠The 2026-07-28 MCP revision removed server-initiated requests; deprecated features (Roots, Sampling, Logging) are flagged, not errors
Platforms: macOS · Linux · Windows
Documentation ↗Reviewed 2026-08-07
Topics
- Stars
- 327★
- Forks
- 30
- Language
- Go
- License
- MIT
- Created
- 2026-06-27
- Last push
- 2026-08-01