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

bubbleteaclaudeclicodexcursordebuggingdevtoolsgolangmcpmodel-context-protocolproxyterminaltui
View on GitHub ↗
Stars
327★
Forks
30
Language
Go
License
MIT
Created
2026-06-27
Last push
2026-08-01