← 返回 Skills 市场
rsafaya-edrv

justinX

作者 Rupul Safaya · GitHub ↗ · v1.0.2
cross-platform ✓ 安全检测通过
365
总下载
1
收藏
0
当前安装
3
版本数
在 OpenClaw 中安装
/install justinx
功能描述
Connect live streaming data (MQTT, Kafka, Webhook) to your AI agent via MCP with automated alerts and anomaly detection.
使用说明 (SKILL.md)

justinx

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.

When to use this skill

  • 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

Setup

1. Get an API key

Sign up at https://justinx.ai and copy your API key from Dashboard > Settings.

2. Configure the MCP server

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/#"]'

Tools reference

Tool Purpose
create_connection Connect to MQTT broker, Kafka cluster, or create a webhook endpoint
list_connections List all active connections with status and WebSocket URLs
get_connection Get a specific connection's status, message count, and WebSocket URL
destroy_connection Tear down a connection and clean up its stream
read_stream Sample live entries from a connection (backfill + live window)
create_watcher Create a managed automation on a connection (alerting, aggregation)
list_watchers List watchers with status, PID, and restart count
get_watcher Get watcher details and configuration
get_watcher_logs Read stdout/stderr from a running or crashed watcher
update_watcher_config Update a watcher's JSON config (restarts automatically)
restart_watcher Restart a stopped or crashed watcher
delete_watcher Stop and remove a watcher

Common workflows

Connect to an MQTT broker and read data

# 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=\x3Cid> 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/#"]

Create a webhook endpoint

# 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/\x3Cid>/ingest

Connect to Kafka

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

Create a watcher for alerts

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=\x3Cid> config='{"threshold": 45}'

# The platform provides a script template. See https://justinx.ai/docs for
# watcher script examples and the full scripting reference.

Manage watchers

# List all watchers on a connection
list_watchers connectionId=\x3Cid>

# Check logs for debugging
get_watcher_logs connectionId=\x3Cid> watcherId=\x3Cwid>

# Update threshold without redeploying
update_watcher_config connectionId=\x3Cid> watcherId=\x3Cwid> config='{"threshold": 50}'

# Restart a crashed watcher
restart_watcher connectionId=\x3Cid> watcherId=\x3Cwid>

# Remove a watcher
delete_watcher connectionId=\x3Cid> watcherId=\x3Cwid>

Build a live dashboard

After creating a connection, use the WebSocket URL from the response to build a frontend:

  1. Call create_connection or list_connections to get the WebSocket URL
  2. The WebSocket sends a backfill message on connect (recent history), then individual entry messages in real time
  3. Each entry has { id, fields: { topic, payload }, ts } format
  4. 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.

Tips

  • 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
安全使用建议
This skill appears coherent for connecting streaming data to your agent, but it connects your agent to an external service (justinx.ai) and requires storing an API key in your MCP config. Before installing: 1) Verify the justinx.ai service and repository (the included metadata points to https://justinx.ai and a GitHub repo) so you trust the vendor. 2) Prefer creating a limited-scope API key and rotate/revoke it if needed. 3) Avoid placing keys in world-readable config files — use your agent's secret storage or OS keyring if available. 4) Be aware that streaming data (and any watcher scripts you run) will flow to a third party; do not send sensitive or regulated data until you confirm compliance and privacy details. 5) Test with the provided demo connection and non-sensitive data first.
功能分析
Type: OpenClaw Skill Name: justinx Version: 1.0.2 The skill bundle is benign. It provides instructions for integrating the OpenClaw agent with the JustinX streaming data platform, requiring a user-provided API key for authentication with `https://api.justinx.ai/mcp`. All described tools and workflows involve legitimate interactions with this external service, such as managing data connections (MQTT, Kafka, Webhook) and server-side 'watchers'. There is no evidence of malicious intent, such as data exfiltration, unauthorized command execution on the agent's host, persistence mechanisms, or prompt injection attempts against the AI agent in `SKILL.md`.
能力评估
Purpose & Capability
The skill claims to connect MQTT/Kafka/webhooks via an MCP endpoint and only requests a JUSTINX_API_KEY which is exactly what an external API-backed streaming service would need. The listed tools (create_connection, read_stream, watchers, WebSocket URLs) match the stated purpose.
Instruction Scope
The SKILL.md instructs the agent/user to add JustinX to MCP settings (examples reference .claude/settings.json and ~/.openclaw/openclaw.json) and to include an Authorization header with the API key. This is expected for an MCP-backed skill, but it requires storing the API key in agent config files (plaintext in examples). The instructions do not ask the agent to read unrelated system files or other credentials.
Install Mechanism
There is no install spec and no code files — this is instruction-only. That minimizes disk write/execute risk; nothing is downloaded or installed by the skill itself.
Credentials
Only one environment secret (JUSTINX_API_KEY) is required, which is proportional to an external API integration. Caveat: the SKILL.md examples show adding the API key into local MCP config files, which can expose the key if those files are not protected. No other unrelated credentials are requested.
Persistence & Privilege
always is false and the skill is user-invocable / can be called autonomously (platform default). The skill asks the user to add an MCP server entry (normal for MCP integrations) but does not request any elevated or system-wide privileges beyond that.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install justinx
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /justinx 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.2
Added credential metadata (primaryEnv, requires.env) for transparent API key declaration. Improved watcher descriptions and tool reference clarity
v1.0.1
Initial release. Connect MQTT, Kafka, and Webhook streams. 12 MCP tools for connection management, stream reading, and automated monitoring.
v1.0.0
justinx 1.0.0 – Initial Release - Connects AI agents to real-time data streams via MQTT, Kafka, or webhooks using MCP. - Supports live data reading, server-side watchers for alerts/anomaly detection, and easy access to WebSocket URLs for dashboards. - Provides tools to manage connections, watch live data, deploy and control TypeScript watcher processes, and stream messages directly to frontends. - Includes quick setup guides, example workflows for various data sources, and tips for efficient use.
元数据
Slug justinx
版本 1.0.2
许可证
累计安装 0
当前安装数 0
历史版本数 3
常见问题

justinX 是什么?

Connect live streaming data (MQTT, Kafka, Webhook) to your AI agent via MCP with automated alerts and anomaly detection. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 365 次。

如何安装 justinX?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install justinx」即可一键安装,无需额外配置。

justinX 是免费的吗?

是的,justinX 完全免费(开源免费),可自由下载、安装和使用。

justinX 支持哪些平台?

justinX 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 justinX?

由 Rupul Safaya(@rsafaya-edrv)开发并维护,当前版本 v1.0.2。

💬 留言讨论