# ViewBus > The fastest way to debug Azure Service Bus. A fast, native desktop app for Windows and macOS. Free, local, private. ViewBus is a native desktop app (Windows + macOS) for developers working with Azure Service Bus. It lets users browse namespaces, search for a message across every queue, topic, and dead-letter queue at once, edit and resend dead-lettered messages with a side-by-side diff, set background alerts on dead-letter backlogs, and expose all of this to AI assistants via a built-in Model Context Protocol (MCP) server. All data stays on the user's machine — no telemetry, no cloud sync, no accounts. ## Key facts - **Name:** ViewBus (stylized "viewbus") - **Platform:** Windows 10 / 11 (x64) and macOS (Apple Silicon; Intel via Rosetta) - **Price:** Free - **Source:** Closed source; distributed via the Microsoft Store and GitHub Releases - **Privacy:** No telemetry, no backend servers, no accounts. See /privacy - **Built with:** Tauri 2, Rust, React, TypeScript, SQLite - **Current version:** See https://viewbus.app/latest.json ## Who it's for Developers, DevOps engineers, and SREs who work with Azure Service Bus and want something faster and more capable than Paolo Salvatori's Service Bus Explorer (still maintained, but Windows-only, .NET Framework, and with no message-body search) or the Azure Portal's built-in Service Bus Explorer (limited search, no cross-resource view, low peek caps). ## Key differentiators vs alternatives - **vs Service Bus Explorer:** native on macOS as well as Windows; searches message *bodies* across queues, topics, and subscriptions at once; edits and resends messages with a side-by-side diff; sets background dead-letter alerts; ships an MCP server; imports VS Code themes; stores manual connection strings in the OS keychain. - **vs the Azure Portal:** finds a message across every resource at once (the Portal can't), no 100-message peek caps, background alerting, reaches namespaces outside the user's tenant via connection strings, keyboard-driven bulk operations. - **vs Microsoft's official Azure MCP Server:** that server exposes Service Bus *metadata* (counts, status) but cannot peek dead-letter messages or trace a message across queues — ViewBus's MCP server can. - **vs custom SDK scripts:** a polished GUI with a persistent local index and spotlight search — no code for common operations. ## Primary capabilities 1. Azure subscription discovery and a live, locally-indexed namespace tree (SQLite); multi-tenant aware (switch tenants from the account dialog). 2. Peek active and dead-letter messages with filters by session, message ID, correlation ID, subject, or dead-letter reason. 3. Search message bodies across every queue, topic, and dead-letter queue in a namespace at once. 4. Edit a message body/properties in a side-by-side diff editor, then resend (single or filtered-bulk); bulk-delete or empty a dead-letter queue behind a confirmation. 5. Background dead-letter monitoring with custom per-resource alert thresholds and native notifications (opt-in). 6. Manual connection strings, stored in the OS keychain (Windows Credential Manager / macOS Keychain), never on disk in plain text. 7. Spotlight fuzzy search (Ctrl+I, rebindable) across every indexed resource, system-wide; survives minimize-to-tray. 8. Built-in MCP server exposing the tools below. 9. Dark, light, and custom user themes; one-click VS Code theme import. ## MCP server tools The MCP server ships with the desktop app (Rust, stdio transport). Ten tools are read-only and always enabled; one write tool is opt-in via a settings toggle. **Read-only (always enabled):** - `get_status` — index state: whether a subscription is selected, last refresh time, resource count. Call this first to orient. - `list_namespaces` — indexed Azure Service Bus namespaces in the selected subscription. - `list_queues` — queues under a namespace. - `list_topics` — topics under a namespace. - `list_subscriptions` — subscriptions under a topic. - `get_resource` — full details for a single indexed resource by ID. - `search_resources` — fuzzy-search queues, topics, and subscriptions by name or path. - `count_messages` — active + dead-letter counts for a queue or subscription. - `peek_messages` — peek messages from a queue or subscription without dequeuing. - `get_message_detail` — full contents of a single message by sequence number (body + system + user properties). **Write (opt-in via `general.mcpThemeWritesEnabled`; default off):** - `upsert_theme` — let an AI author themes by writing JSON files to the user themes dir. Message-level writes from MCP (resend / delete / send) are not yet implemented and are tracked as future work. ## Install - **Windows — Microsoft Store (recommended):** https://apps.microsoft.com/detail/9p0q5zmlv15k — signed by Microsoft, no SmartScreen warning, auto-updates via the Store. - **Windows — direct installer:** the NSIS `.exe` on GitHub Releases. It isn't code-signed yet, so Windows SmartScreen warns once ("More info" → "Run anyway"). Resolve the current URL from https://viewbus.app/latest.json or https://github.com/haakofli/viewbus-site/releases/latest. - **macOS — Homebrew (recommended):** `brew install --cask haakofli/viewbus/viewbus`. A `.dmg` is also on GitHub Releases; it isn't notarized yet, so first launch needs a one-time unlock (`xattr -cr /Applications/ViewBus.app`, or right-click → Open). - **Programmatic:** https://viewbus.app/latest.json returns `version`, per-platform download URLs, and signing status — agents should read it rather than hardcoding a version. ## Pages - [Home](https://viewbus.app/) — features, screenshots, download - [Service Bus Explorer alternative](https://viewbus.app/service-bus-explorer-alternative) — positioning vs the original - [Changelog](https://viewbus.app/changelog) — every release with summaries and download links - [Privacy](https://viewbus.app/privacy) — full data-handling details - [Update feed](https://viewbus.app/latest.json) — JSON the desktop app reads on startup - [Long-form reference](https://viewbus.app/llms-full.txt) — full site content concatenated for a single fetch