Supports Docker deployment with containerized server configuration for running the MQTT MCP server in Docker environments.
Provides tools for publishing messages to MQTT topics and subscribing to MQTT topics to receive messages, with configurable broker connection settings including authentication and TLS support.
Enables automatic exposure of the MCP server through ngrok tunnels when running in Docker, providing public URL access to locally hosted instances.
OMNI-MQTT-MCP
MQTT MCP Server with configurable transport options via CLI: STDIO (default), Streamable HTTP (recommended for web), and SSE (deprecated).
π Quick Start
π Transport Options
Choose your transport with the --transport CLI argument:
1. STDIO Transport (Default) β
Best for: Local development, Claude Desktop integration
Pros: Simple, secure, works with MCP clients like Claude Desktop
Cons: Local only, no remote access
2. Streamable HTTP (Recommended for Web) π
Best for: Web deployments, remote access, microservices
Default URL:
http://127.0.0.1:8000/mcpPros: Modern, efficient, supports multiple clients, easy deployment
Cons: Requires network setup, security considerations
3. SSE (Server-Sent Events) β οΈ Deprecated
Best for: Legacy deployments (not recommended for new projects)
Default URL:
http://127.0.0.1:8000/sseStatus: Being phased out in favor of Streamable HTTP
π Available Tools
mqtt_publish: Publish messages to MQTT topicsmqtt_subscribe: Subscribe to MQTT topics and receive messages
βοΈ Configuration Options
MQTT Configuration
Transport Configuration
All Options
Environment Variables
You can also use environment variables for MQTT settings:
π§ͺ Testing
Test HTTP Server
Test with Claude Desktop
Add to your Claude Desktop MCP configuration:
π§ Development
Using the MCP CLI
π Examples
Local Development
Web Deployment
Production with Custom MQTT
π€ Which Transport Should I Choose?
Use Case | Command | Why? |
Local development |
| Simple, secure, works with Claude Desktop |
Web deployment |
| Modern, efficient, easy to deploy |
Remote AI agents |
| Supports authentication, scalable |
Legacy systems |
| Only if you're already using SSE |
π³ Docker with Ngrok
Run the server inside Docker and automatically expose it with an ngrok tunnel.
Build
Run
The container exposes the MCP server via ngrok. Pass environment variables to configure the MQTT broker and server transport. Check the container logs to discover the public URL.
π Learn More
π Security Notes
STDIO: Runs locally, inherently secure
HTTP/SSE: Consider adding authentication for production deployments
MQTT: Configure MQTT broker security (TLS, authentication)