mcpField
N
nodrix

nodrix

リモート
nodrix.liveデータ・分析456 週間前に更新
リポジトリ公式サイト

nodrix について

nodrixは、運用者のCloudflareアカウントにデプロイするオープンソースのシングルテナントIoTプラットフォームです。テレメトリー収集、ダッシュボード、自動化に加え、AIアシスタントへのデータ提供や機器制御に対応します。

主な機能

  1. 01HTTPSまたはWebSocketでテレメトリーを受信
  2. 02リアルタイムダッシュボードと埋め込みウィジェット
  3. 03ダッシュボードからハードウェアを操作
  4. 04ビジュアルオートメーションと連携の設定
  5. 05現在の状態と時系列データの取得

活用シーン

  1. 01設置済みIoTデバイスのテレメトリー監視
  2. 02共有可能なダッシュボードで機器データを表示
  3. 03AIアシスタントによるテレメトリー閲覧や機器制御

MCP 対応

nodrixはネイティブMCPサーバーを備え、Streamable HTTPでBearerトークンとOAuthのエンドポイントを提供します。有効化すると読み取りツールを利用でき、管理および機器制御ツールには書き込み設定も必要です。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://{host}/v1/mcp/oauth
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://{host}/v1/mcp/oauth
Streamable HTTPhttps://{host}/v1/mcp認証が必要

ツール

詳細

nodrix

Cloudflare が構築しなかった IoT プラットフォームです。 ハードウェアを HTTPS または WebSocket 経由で 1 つのエンドポイントに接続するだけで、変数が自動的に作成されます。リアルタイムのドラッグ&ドロップ式ダッシュボードを構築し、自動化を設定して、クリーンな API 経由ですべてのデータを読み取れます。すべて、ご自身が所有するインフラストラクチャ上で動作します。nodrix はシングルテナントのオープンソースで、Workers、Durable Objects、D1、R2 を使って、お使いの Cloudflare アカウントにデプロイします。

機能

  • 📡 HTTPS または WebSocket 経由のテレメトリ — ハードウェアからプロジェクトに JSON を POST すると、変数は初回の受信時に自動作成されます。スキーマの定義も、MQTT ブローカーの運用も不要です。
  • 📊 リアルタイムダッシュボード — ドラッグ&ドロップ式のウィジェットグリッドに、休止状態から復帰する WebSocket 経由で更新がストリーミングされます。任意のダッシュボードを公開リンクで読み取り専用共有できます。
  • 🧩 埋め込み可能なウィジェット — すべてのウィジェットはフレームワークに依存しない Web Component で、独自のアプリにそのまま組み込めます。
  • 🎮 双方向制御 — トグル、スライダー、カラーピッカー、ボタンから、短いポーリングまたは制御ソケット経由でハードウェアに値を書き戻します。
  • 🤖 ビジュアル自動化 — 変数、スケジュール、日の出/日の入り、イベントをトリガーとして、条件とアクションを実行します。アクションには Webhook、コードスニペット、サービス連携があります。
  • 🔌 連携機能 — HTTP、メール、チャット(Slack、Telegram、Discord など)に配信します。
  • 📖 クリーンな読み取り API — 最新の状態、時系列データ、変数一覧を 1 つのトークンで利用できます。
  • 🧠 ネイティブ MCP サーバー — AI アシスタントからテレメトリを読み取り、物理的にそばにいないデバイスも制御できます。所有者の許可が必要で、デフォルトでは無効です。詳しくはAI アシスタント(MCP)をご覧ください。
  • 👥 複数ユーザー対応 — owner/admin/member のロール、メール招待、ソーシャルサインイン(Google、GitHub)に対応します。
  • 📝 監査ログ — 特権操作をすべて記録し、UI でページ分割して表示します。

クイックスタート

  1. Cloudflare アカウントにデプロイします — ワンクリック、またはクローンから bun run deploy:platform を実行します。

  2. 所有者アカウントを作成します — 初回アクセス時に「Create owner account」ページが表示され、最初に登録したユーザーが owner になります。

  3. プロジェクトを作成し、ダッシュボードからプロジェクトトークンを発行します。

  4. テレメトリを送信します — データが届くと、その時点で変数が作成されます。

    curl -X POST https://<your-worker>/v1/telemetry \
      -H "Authorization: Bearer $NODRIX_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"metrics":{"temperature":23.4,"humidity":61}}'
    
  5. データを読み取ります。

    curl https://<your-worker>/v1/projects/<project>/state \
      -H "Authorization: Bearer $NODRIX_TOKEN"
    

AI アシスタント(MCP)

nodrix にはネイティブの Model Context Protocol サーバーが付属しているため、アシスタントはプロジェクトのテレメトリを読み取り、許可を与えればハードウェアを操作できます。デバイスはノート PC ではなくデプロイ先にデータを送信するため、ボードをアシスタントの実行中のマシンに接続する必要はありません。別の建物にあっても利用できます。

エンドポイントは 2 つあり、どちらも Streamable HTTP です。

エンドポイント認証対象
/v1/mcpBearer トークンCLI および IDE クライアント
/v1/mcp/oauthOAuthclaude.ai 形式のコネクター

どちらもデフォルトでは無効です。 所有者が Settings → More で有効にします。

  • mcp_enabled — マスタースイッチです。オフの間、/v1/mcp は 404 を返すため、無効なサーバーはアクセス禁止ではなく、存在しないように見えます。
  • mcp_write_enabled — 管理ツールと制御ツールを有効にします。オンにするまでは、admin スコープのトークンでも読み取り専用ツールのみを利用できるため、アシスタントがデフォルトでハードウェアを操作することはありません。

読み取りツールは 12 個 — list_projects、list_variables、get_state、get_series、list_dashboards、get_dashboard、list_widget_types、list_widgets、list_block_types、list_integration_kinds、list_automations、list_integrations。

書き込みツールは 16 個 — プロジェクト、変数、ダッシュボード、ウィジェット、自動化、連携機能の作成と更新に加え、set_variable(アシスタントがリレーをオンにする方法)、run_automation、emit_event、test_integration が含まれます。

設計上、削除ツールはありません。 すべてのツールは実行前に、トークンのスコープを通じて対象プロジェクトを解決するため、トークンからアクセスできないプロジェクトには到達できません。

アーキテクチャ

  • Worker (worker/) — 単一の Hono アプリです。Project、Dashboard、Scheduler、MCP エージェントには Durable Objects を使用し、プロビジョニングには Workflow を 1 つ使用します。D1(メタデータ)、R2(テレメトリー履歴)、KV(読み取りキャッシュ + JWKS)も使用します。
  • Web (web/) — Vue 3 + Tailwind + Reka UI による管理パネルと、ドラッグ&ドロップ式のダッシュボードビルダーです。Worker の静的アセットとしてビルド、配信されます。
  • Shared (shared/) — フレームワークに依存しない Web Component ウィジェット、インテグレーションカタログ、自動化ブロックです。単一の信頼できる情報源となるよう、Web と Worker の両方で使用します。
  • Deploy (deploy/) — ワンクリックの Cloudflare へのデプロイを支える、小規模な設定用パッケージです。
worker/   Cloudflare Worker — API, Durable Objects, Workflow
web/      Vue 3 admin panel + dashboard builder
shared/   Web Component widgets, integration catalog, automation blocks
deploy/   One-click Deploy to Cloudflare config
scripts/  Build, version, and migration generators

ストレージ

ストア格納するデータ
Project DO(SQLite)最新の変数状態、直近のリングバッファー、保留中の制御書き込み、フラッシュカーソル
R2コールドテレメトリー履歴(NDJSON、プロジェクト + 時間単位でパーティション分割)
D1ユーザー、セッション、アカウント、プロジェクト、変数、ダッシュボード、トークン、自動化、インテグレーション、監査ログ、OAuth プロバイダー設定(メタデータのみ — テレメトリーポイントは一切保存しません)
KVキャッシュされた /state レスポンスと JWKS
Dashboard DOダッシュボードごとのサブスクリプション + ハイバネーション中の WebSocket
Scheduler DO次回のスケジュール実行または日没時の自動化実行時刻に設定されるアラーム 1 件

認証

Better Auth がサインインを処理します。メールアドレス + パスワードはデフォルトで有効です。Google と GitHub の OAuth は、実行時に Settings → Sign-in providers から有効にできます(オーナーが各プロバイダーのクライアント ID + シークレットを入力すると、ログインページに対応するボタンがすぐに表示されます)。

新規デプロイで最初にサインアップしたユーザーが owner になります。それ以降は登録が締め切られ、オーナーが Users から owner / admin / member のいずれかのロールを割り当ててユーザーを招待します。セッションは Cookie ベースで、30 日間有効です。デバイスごとに個別のセッションが作成され、Users から一覧表示および取り消しができます。

開発

nodrix は Bun を使用します。

bun install
bun run dev              # worker (wrangler dev)
bun run dev:web          # web (vite)
bun run typecheck
bun run build
bun run deploy:platform  # build + deploy the worker

リンク

ライセンス

MIT © Arjun Krishna

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。