Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Connect live streaming data (MQTT, Kafka, Webhook) to your AI agent via MCP with automated alerts and anomaly detection.
Connect live streaming data (MQTT, Kafka, Webhook) to your AI agent via MCP with automated alerts and anomaly detection.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Use justinx for real-time streaming data -- MQTT brokers, Kafka topics, webhooks -- piped directly into your AI agent via MCP. Connect a data source, read live messages, set up automated alerts and anomaly detection, and get WebSocket URLs to embed in generated apps.
You need to connect to an MQTT broker (IoT sensors, industrial telemetry, smart devices) You need to consume from Kafka topics You need a webhook endpoint to receive pushed data You want to build a live dashboard on streaming data You need automated alerting or anomaly detection on a data stream You want a WebSocket URL that any frontend can subscribe to for real-time updates
Sign up at https://justinx.ai and copy your API key from Dashboard > Settings.
Add JustinX as an MCP server. Choose one of the following methods depending on your environment. Direct MCP config (Claude Code, Cursor, or any MCP client): Add to your MCP settings (e.g. .claude/settings.json, ~/.openclaw/openclaw.json, or your tool's MCP config): { "mcpServers": { "justinx": { "url": "https://api.justinx.ai/mcp", "headers": { "Authorization": "Bearer YOUR_API_KEY" } } } } Via mcporter (if you have the mcporter skill installed): mcporter add justinx --url https://api.justinx.ai/mcp --header "Authorization: Bearer YOUR_API_KEY" Then call tools with: mcporter call justinx.list_connections mcporter call justinx.create_connection type=mqtt broker=broker.emqx.io topics='["sensors/#"]'
ToolPurposecreate_connectionConnect to MQTT broker, Kafka cluster, or create a webhook endpointlist_connectionsList all active connections with status and WebSocket URLsget_connectionGet a specific connection's status, message count, and WebSocket URLdestroy_connectionTear down a connection and clean up its streamread_streamSample live entries from a connection (backfill + live window)create_watcherCreate a managed automation on a connection (alerting, aggregation)list_watchersList watchers with status, PID, and restart countget_watcherGet watcher details and configurationget_watcher_logsRead stdout/stderr from a running or crashed watcherupdate_watcher_configUpdate a watcher's JSON config (restarts automatically)restart_watcherRestart a stopped or crashed watcherdelete_watcherStop and remove a watcher
# Connect to a public IoT demo broker create_connection type=mqtt broker=broker.emqx.io port=8883 tls=true topics=["justinx/demo/#"] # Read the last 5 minutes of data + 3 seconds of live entries read_stream connectionId=<id> backfillSeconds=300 liveSeconds=3 maxEntries=50 For a private broker with credentials: create_connection type=mqtt broker=my-broker.example.com port=8883 tls=true username=myuser password=mypass topics=["sensors/#","alerts/#"]
# Creates an HTTP ingest URL -- POST JSON to it and messages appear in the stream create_connection type=webhook # The response includes an ingestUrl. Send data to it: # POST https://api.justinx.ai/connections/<id>/ingest
create_connection type=kafka brokers=["kafka1.example.com:9092"] kafkaTopics=["events","logs"] # With SASL auth: create_connection type=kafka brokers=["kafka.example.com:9092"] kafkaTopics=["events"] saslUsername=user saslPassword=pass ssl=true
Watchers are managed automations that continuously monitor a connection for conditions you define โ threshold alerts, metric aggregation, or notifications. Each watcher is scoped to a single connection. # Create a watcher that alerts when temperature exceeds a threshold create_watcher connectionId=<id> config='{"threshold": 45}' # The platform provides a script template. See https://justinx.ai/docs for # watcher script examples and the full scripting reference.
# List all watchers on a connection list_watchers connectionId=<id> # Check logs for debugging get_watcher_logs connectionId=<id> watcherId=<wid> # Update threshold without redeploying update_watcher_config connectionId=<id> watcherId=<wid> config='{"threshold": 50}' # Restart a crashed watcher restart_watcher connectionId=<id> watcherId=<wid> # Remove a watcher delete_watcher connectionId=<id> watcherId=<wid>
After creating a connection, use the WebSocket URL from the response to build a frontend: Call create_connection or list_connections to get the WebSocket URL The WebSocket sends a backfill message on connect (recent history), then individual entry messages in real time Each entry has { id, fields: { topic, payload }, ts } format Pass the WebSocket URL to any generated React/Next.js/HTML app WebSocket message format: // Backfill (sent once on connect) { "type": "backfill", "entries": [{ "id": "...", "fields": { "topic": "...", "payload": "..." }, "ts": 1234567890 }] } // Live entry (streamed continuously) { "type": "entry", "id": "...", "fields": { "topic": "...", "payload": "..." }, "ts": 1234567890 } Topic filtering: append ?topics=sensor/temp,sensor/humidity to the WebSocket URL.
Every new account gets a demo connection to broker.emqx.io with live IoT data -- call list_connections to find it Use read_stream with backfillSeconds=0 liveSeconds=5 to see only fresh data Watcher config is passed as a JSON string and can be updated without redeploying Watcher alerts appear on the connection's WebSocket stream automatically The WebSocket URL works from any client (browser, Node.js, Python, mobile) -- no SDK needed Full tool reference and parameter schemas: https://justinx.ai/llms-full.txt
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.