MQTTBridge Documentation

Everything you need to install, configure, and run MQTTBridge.

Prerequisites

RequirementDetails
Operating SystemWindows 10/11 or Windows Server 2016+
.NET Runtime.NET 10 ASP.NET Core Runtime (x64)
SQL ServerSQL Server 2016+ or SQL Server Express (free). The installer auto-detects localhost instances.
MQTT BrokerAny MQTT 3.1.1 or 5.0 broker (Mosquitto, HiveMQ, EMQX, etc.)

Installation

Step 1: Install .NET Runtime

Download and install the .NET 10 ASP.NET Core Runtime (x64) if not already installed.

Step 2: Install SQL Server

If you don't have SQL Server, download SQL Server Express (free). The default instance works fine.

Step 3: Run the Installer

Download MQTTBridge-Setup.msi from the product page and run it. The installer will:

If you need to specify a different SQL Server instance, use the command line:

msiexec /i MQTTBridge-Setup.msi SQL_SERVER=myserver\SQLEXPRESS DB_NAME=MQTTBridge

Step 4: Start the Service

The service is set to start automatically on boot. To start it now:

net start MQTTBridge

Or open services.msc, find "MQTT Bridge Service", and click Start.

First Login

Open your browser and go to http://localhost:8080

FieldDefault Value
Usernameadmin
Passwordadmin

Change the default password after your first login from the Users section in the dashboard.

Configuration

MQTT Broker Connection

From the dashboard, go to the Configuration tab and enter your MQTT broker details:

Database Connection

The installer configures this automatically. If you need to change it, go to the Configuration tab and update the database connection string. The default uses Windows Authentication:

Server=localhost;Database=MQTTBridge;Trusted_Connection=True;TrustServerCertificate=True;

Web Dashboard Port

Default port is 8080. To change it, edit appsettings.json in the install directory and update the WebManagement.Port value. Restart the service after changes.

RabbitMQ (Optional)

MQTTBridge can also consume messages from RabbitMQ. Configure the RabbitMQ connection from the Configuration tab if needed.

Performance Columns

Performance Columns let you extract JSON field values from message payloads into persisted computed columns on the MqttMessages table. Instead of parsing JSON on every query, SQL Server materializes the values at write time — turning expensive JSON_VALUE() calls into fast column reads.

Requirements: SQL Server 2016 or later, Professional or Enterprise license tier.

Creating a Performance Column

Open the Performance tab in the web dashboard. Fill in the form:

Click Create Performance Column. MQTTBridge executes an ALTER TABLE to add the persisted computed column and optionally creates the index — all within a single transaction.

Example

If your MQTT payloads look like this:

{ "temperature": 22.5, "humidity": 61, "sensorId": "TH-042" }

You could create three performance columns:

Column NameJSON PathData TypeIndexed
Temperature$.temperatureFLOATYes
Humidity$.humidityINTNo
SensorId$.sensorIdNVARCHAR(50)Yes

After creation, queries like SELECT * FROM MqttMessages WHERE Temperature > 30 use the indexed, persisted column instead of parsing JSON on every row.

REST API

Performance Columns can also be managed programmatically via the REST API:

MethodEndpointDescription
GET/api/performance-columnsList all performance columns
POST/api/performance-columnsCreate a new performance column
DELETE/api/performance-columns/{columnName}Remove a performance column

All endpoints require JWT authentication. See the Swagger docs at /swagger for full request/response schemas.

Removing a Performance Column

Click the delete button next to any column in the Performance tab. MQTTBridge drops the index (if present), removes the computed column from the table, and cleans up the registry entry — all in a single transaction.

Licensing

Trial Mode

MQTTBridge runs in Trial mode for 7 days with limited features (5 topics, 1 user). No license file needed.

Activating a License

  1. Purchase a license from the pricing page
  2. You'll receive a license key after purchase
  3. In the MQTTBridge dashboard, go to the license activation panel
  4. Enter your license key and click Activate
  5. The license is applied immediately — no restart needed

Machine ID

Your Machine ID is shown on the Status tab. Licenses are locked to a specific machine. If you need to move a license to a different server, contact support.

Troubleshooting

Service won't start

Can't connect to database

Messages tab shows "Failed to load messages"

Dashboard not accessible

MQTT broker not connecting