Something smells off.

A nosy little HTTP debugger. Capture, inspect and replay your app’s traffic.

POST/api/checkout
503Service Unavailable
{
  "error": "service_unavailable",
  "message": "Payment provider is offline.",
  "retry_after": 120
}

Pick a request. Follow your nose.

Get closer to
the request.

Your app said one thing. The API heard another. See the whole conversation, down to the header that gave it away.

Meet your new debugger
Find the interesting bitfilter: method=POST status>=500
A local 503, on purpose.Snurpo 1.4.2

Less guessing.
More “aha”.

Catch a request. See what happened. Change one thing. That is a much better conversation with your API.

Catch the conversation.

Inspect HTTP and HTTPS requests, responses, repeated headers and text or binary bodies.

HTTP + HTTPS

Make it misbehave.

Apply saved rules to matching traffic. The inspector marks mocked responses and keeps the original messages when they change.

200503

Try a different ending.

Edit the method, URL, headers or body. A replay becomes a new exchange, so the earlier result stays available.

Edit → replay → inspect

Try the switch. This example returns HTTP 200.

Good nose.
Great escape plan.

Open Copy as cURL, review the command and copy it into your terminal. Keep the captured method, URL, repeated headers and text or binary body.

Copy as cURLNew in 1.5.0

For sh, bash and zsh. Previewing and copying send no traffic. The command can include captured credentials; review it before sharing.

See Copy as cURL
checkout.sh
curl 'http://localhost:8080/api/checkout' \
  --request POST \
  --header 'Content-Type: application/json' \
  --data-raw '{"product_id":"snurpo-sticker","quantity":1}'
A local example. Ready for your terminal.

Curiosity has
a memory.

Name a session, add notes and come back to the same exchanges. Saved captures and built-in analysis stay on your computer.

A local archive you can revisit

Pin useful sessions, compare captures and export HAR or native archives. Follow analysis findings back to the requests behind them.

An agent can look too. You choose where.

Connect an MCP client to selected sessions. Grant replay, global rule access or device diagnostics separately when you need them.

Sharing and permissions reset when Snurpo restarts.Connect an MCP client
Working with Android? Explore the experimental ADB and optional Frida setup.

Your next bug
can run.
It can’t hide.

Download Snurpo 1.5.0. Local capture, saved sessions and export need no account or subscription.

Download for macOSApple Silicon · ZIPDownload for Windowsx64 · InstallerDownload for Linuxx64 · AppImageDownload Debian packageLinux x64 · DEB
Before you install

The macOS app is ad-hoc signed and is not Apple-notarized.

Native workflows have been exercised on Apple Silicon. Windows and Linux have CI build and headless checks; interactive installers and desktop behavior remain experimental. Intel macOS is unverified.

Bodies are buffered up to 16 MiB each. Streaming, WebSocket frames and HTTP/3 are not implemented.

Installation guide
Build from source
Snurpo
Snurpo app screenshot