NATS.JETSTREAM.>

See what's actually in your streams

Natscope is a single-binary web UI for NATS JetStream. Browse, tail, publish and manage — with binary Protobuf payloads decoded into readable JSON.

brew install dmit-4884/tap/natscope
View on GitHub Other ways to install

Open source · Apache-2.0 · macOS / Linux / Windows / Docker

LIVE.TAIL.>

Watch messages as they land

Flip on Realtime and the stream tails itself — every message from a live 3-node cluster, as it arrives. When the firehose is too fast to read, throttle the display rate without touching the stream.

  • Live tail over any stream or subject filter
  • Display-rate limit from unlimited down to 1 msg/s
  • Payloads rendered as JSON, hex or raw — per message

PROTO.DECODE.>

Binary in, readable JSON out

Point Natscope at the Git repo or local directory that holds your .proto files, bind a subject pattern to a message type — and the same payload that was a wall of hex becomes a browsable JSON tree. Everywhere: message browser, live tail, publish preview.

  • Proto sources from Git, a local directory or pasted files
  • Subject-pattern mappings with NATS wildcards
  • Live reload — edit a .proto, watch payloads re-decode

PUBLISH.VALIDATED

Hand-write real Protobuf

Pick a subject pattern and the editor resolves the message type on its own. Type JSON with schema autocompletion and live validation, publish, and watch the message come back — encoded on the wire, decoded on your screen.

  • Schema-validated editor with field autocompletion
  • Custom headers, templates and publish history
  • Plain JSON and text publishing for non-proto subjects

MESSAGES.FILTER.*

Find the message that matters

Filter any stream by subject with NATS wildcards, jump to a sequence, page through millions of messages. Every message opens with its headers, timing and payload views side by side.

  • Subject filters with * and > wildcards
  • Headers, hex, raw and decoded tabs per message
  • Republish or copy any message in one click

CONSUMERS.MANAGE

Consumers, without the CLI

Every consumer with its pending, ack and redelivery counters at a glance. Open one for the full picture — delivery policy, backoff, filters — then edit, pause or resume it right there.

  • Durable, push and ephemeral consumers
  • Pause / resume with a visible paused-until badge
  • Copy any consumer as a ready-to-run nats CLI command

KV.HISTORY

Key-Value with a memory

Browse KV buckets like config trees, edit values with compare-and-set protection, and walk the revision history of any key to see what changed and when.

  • Buckets, TTLs and replicas at a glance
  • Stale edits rejected — revision-checked writes
  • Per-key revision history with diffs

CONNECT.CLUSTER

Zero to connected in a minute

Name it, paste a URL, test, connect. Multiple URLs give you cluster failover; the test shows RTT, server version and JetStream availability before you commit. Credentials go to your OS keychain — never into the database.

  • Every NATS auth method, full TLS, ws:// and wss://
  • Saved connections with one-click switching
  • Secrets in the keychain or an encrypted file vault

INSTALL.>

One binary. Pick your way in.

Homebrew macOS / Linux

brew install dmit-4884/tap/natscope
natscope

Docker any platform

docker run -d -p 127.0.0.1:4280:4280 \
  -v natscope-data:/data \
  ghcr.io/dmit-4884/natscope:latest

Binary Windows too

Grab a signed archive for your OS and architecture from the releases page — run it, open localhost:4280.

Download a release