{
  "markdown": "# Bussin: Azure Service Bus Explorer\n\nBussin is a client-side Azure Service Bus explorer. It runs entirely in your browser as a Progressive Web App (PWA). You can access the live version at **[https://bussin.dev](https://bussin.dev)**.\n\nBecause all connections are established directly from your browser to Azure, there is no backend proxy or intermediate server transiting your credentials or messaging payloads.\n\n[![Use Bussin](https://img.shields.io/badge/Use%20Bussin-bussin.dev-blueviolet?style=for-the-badge)](https://bussin.dev/)\n\n---\n\n## Features\n\n* **Background Operations**: Run connection-safe bulk actions in the background without freezing the user interface.\n* **Batch Transmissions**: Send high-volume message payloads using concurrent AMQP pipelining.\n* **Bulk Management**: Resubmit or delete combinations of active and dead-letter messages with dynamic depth-locking to prevent data loss.\n* **Namespace Organization**: Manage multiple Entra ID environments using folder nesting and text searching.\n* **Message Search**: Search and peek messages using property and body pattern matching.\n\nFor visual walkthroughs, screenshots, and detailed guides of these features, visit the website at **[bussin.dev](https://bussin.dev)**.\n\n---\n\n## Current Limitations\n\nWhile Bussin supports most Azure Service Bus operations directly in the browser, there are a few limitations to keep in mind:\n\n* **Batch Send on Session-Enabled Entities**: Batch sending does not currently support session-enabled queues or topic subscriptions (which require a Session ID for each message).\n* **Partitioned & Session-Enabled Entities**: Certain administrative actions (such as the portal-based fast batch delete/purge API) are not supported by the Service Bus broker on partitioned or session-enabled entities. Bussin automatically falls back to compatible data-plane receiver flows (such as parallel receivers or sequential session loops) in these cases to complete the operation safely.\n\n---\n\n\n* **Direct Client-Side Architecture**: Your data never leaves your browser. Bussin communicates directly with Azure APIs.\n* **Zero Installation**: Access the tool online at [https://bussin.dev](https://bussin.dev/) or install it as a PWA.\n* **Entra ID Integration**: Authenticate securely using your existing Azure identity and Role-Based Access Control (RBAC) roles.\n\n## Architecture and Security\n\nBussin operates under a 100% proxy-free, client-side security model. \n\nWhen you open Bussin, your browser acts as the direct orchestrator of all network and authentication flows, bypassing intermediate relay servers or third-party databases. \n\n```mermaid\ngraph TD\n    subgraph \"Browser Sandbox (100% Client-Side)\"\n        direction TB\n        UI[\"Blazor WASM UI / Blades\"]\n        State[\"ExplorerViewModel & Cache\"]\n        MSAL[\"MSAL.js Authentication\"]\n        \n        subgraph \"Network Stack\"\n            ARMClient[\"ARM HTTP Client\"]\n            AMQPClient[\"Rhea AMQP-over-WebSockets\"]\n        end\n    end\n\n    subgraph \"Azure Cloud Endpoints\"\n        direction TB\n        AAD[\"Entra ID\"]\n        ARM[\"Azure Resource Manager <br> management.azure.com\"]\n        ASBData[\"Service Bus Data Plane <br> namespace.servicebus.windows.net\"]\n    end\n\n    %% Authentication flows\n    MSAL -.->|\"1. Authenticate and Consent\"| AAD\n    AAD -.->|\"2. Return Access Tokens\"| MSAL\n    \n    %% ARM Resource Discovery\n    UI -->|\"Discover Namespaces\"| State\n    State -->|\"3. Query Resources <br> REST + CORS\"| ARMClient\n    ARMClient -->|\"HTTPS GET <br> Auth: Bearer ARM Token\"| ARM\n\n    %% Service Bus Data Plane Operations\n    State -->|\"4. Active Messaging Operations\"| AMQPClient\n    AMQPClient -->|\"WSS Tunnel <br> Bypasses CORS\"| ASBData\n    AMQPClient -->|\"5. CBS Handshake <br> Auth: SB Token\"| ASBData\n```\n\n### Protocol and Connection Mechanics\n\n1. **Azure Resource Manager (ARM) Discovery**: Bussin queries the Azure management API over HTTPS using standard CORS (Cross-Origin Resource Sharing) requests. This enables automatic resource discovery of subscriptions, resource groups, namespaces, queues, and topics without typing connection strings.\n2. **Azure Service Bus Data Plane (CORS Bypass)**: Standard Azure Service Bus data-plane REST endpoints lack CORS headers, which prevents standard browser HTTPS REST calls. Bussin bypasses this restriction by establishing direct AMQP 1.0 connections over secure WebSockets (`wss://<namespace>.servicebus.windows.net:443/$servicebus/websocket`), which do not fall under CORS restrictions.\n3. **Identity and Claims-Based Security**: All communication is secured using your active Entra ID tokens. The client performs an AMQP Claims-Based Security (CBS) handshake with the `$cbs` node of the namespace directly, matching standard enterprise security policies without storing credentials.\n\n## Alternatives\n\nBussin serves as a cross-platform, web-native alternative to traditional desktop messaging clients:\n\n* **No Backend**: Unlike other web-based explorers, Bussin has no backend. Your Service Bus connection strings or tokens are never sent to external servers.\n* **Clean UI**: A responsive interface built with Blazor WebAssembly.\n* **Dev-Focused**: Simple debugging for queues, topics, and subscriptions.\n\n## Permissions and Security\n\nBussin respects your Azure RBAC configuration. It uses two-step delegated consent:\n1. **Azure Management API**: To list namespaces and entities.\n2. **Azure Service Bus**: For data-plane operations (Peek, Send, etc.).\n\n*Required Roles:* Azure Service Bus Data Owner, Receiver, or Sender.\n\n## Development\n\nRequirements:\n* .NET 10 SDK\n* Node.js 20+\n\n```bash\n# Build client-side AMQP library\ncd client-js && npm ci && npm run build\n\n# Build Blazor WASM app\ncd ../src && dotnet publish -c Release\n```\n\n## Releases\n\nWhen creating a new release of Bussin on GitHub, please ensure the release notes include a link pointing back to the official site:\n`For more details and live usage, visit https://bussin.dev.`\n\n## License\n\nBusiness Source License 1.1 (BSL) - See [LICENSE](LICENSE) file for details.\n* Usage of the software is always free for personal, educational, or internal business use.\n* Commercial redistribution, rebranding, or hosting this software as a service (SaaS) by third parties is prohibited.\n\n---\n\n*Disclaimer: Bussin is a community tool and is not officially supported by Microsoft. Use at your own risk.*\n\nLooking for the marketing website or documentation source code? Visit **[sgebb/bussin-site](https://github.com/sgebb/bussin-site)**.\n",
  "bytes": 6515,
  "sha": "6cce6ce0b9ff3332d98d397843043f912ad6a1967eec66c261b61696ee954ffc",
  "repo_slug": "sgebb/bussin",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_sgebb_bussin_mcp_965b3f19/readme"
}