nodrix MCPサーバー
コミット 2026年11月12日Cloudflareベースのセルフホスト型プラットフォームを介して、AIアシスタントがIoTテレメトリの読み取りや、ESP32、Arduinoなどのハードウェア制御を行うことができます。
別名 decoded-cipher/nodrix
- スター
- 46
- ツール
- —
- ダウンロード数(30日間)
- —
- 最新バージョン
- 1.0.1
- 最終コミット
- 2026年11月12日
- ライセンス
- MIT
nodrix MCPとは
nodrixはMCPサーバーです。 Cloudflareベースのセルフホスト型プラットフォームを介して、AIアシスタントがIoTテレメトリの読み取りや、ESP32、Arduinoなどのハードウェア制御を行うことができます。.
プロジェクトのREADMEから生成された概要
nodrix MCP server について
nodrixは、Workers、Durable Objects、D1、R2を使用して、自身のCloudflareアカウント内で完全に動作するセルフホスト型のIoTプラットフォームを提供します。ArduinoやESP32などのハードウェアは、定義済みのスキーマや管理されたMQTTブローカーを必要とせず、HTTPSまたはWebSockets経由でテレメトリを送信できます。データが届くと変数が自動的に作成され、リアルタイムのドラッグ&ドロップによるダッシュボードや、クリーンな読み取りAPIを通じて確認できます。
ネイティブのMCP serverにより、AIアシスタントがリモートでハードウェアとやり取りできるようになります。デバイスはローカルマシンではなくCloudflareへのデプロイメントに接続するため、ハードウェアの場所は問いません。ユーザーはダッシュボードの設定を切り替えることで、読み取り専用アクセスまたはフルコントロールを有効にできます。システムには、プロジェクト、変数、オートメーションを検査するための12個の読み取りツールと、設定の管理や set_variable などのコマンドによるハードウェア制御を行うための16個の書き込みツールが含まれています。
セキュリティは、オーナーによる権限管理とプロジェクトトークンを通じて管理されます。プラットフォームはオーナー、管理者、メンバーを含むマルチユーザーロールをサポートしており、特権アクションを追跡するための監査ログも備えています。誤ったデータ損失を防ぐため、ツールセットには削除ツールが含まれていない設計になっています。
できること
- 1リモートセンサーデータの監視特定のIoTプロジェクトから現在の温度や湿度の読み取り値を取得するようAIアシスタントに依頼します。
- 2ハードウェアコンポーネントの制御ハードウェアにコマンドを送信して、リレーをオンにしたり設定を調整したりするようAIに指示します。
- 3IoT設定の管理AIクライアントを使用して、インフラストラクチャ内に新しいプロジェクト、ダッシュボード、またはオートメーションルールを作成します。
- 4履歴テレメトリの分析デバイスの挙動を把握するために、変数の変化に関する時系列レポートをリクエストします。
プロジェクトの README から作成されています。すべてのユースケースは、その引用と照らし合わせて確認されています。
nodrix MCPのインストール方法
フォーマット検証日 2026年11月10日Claude Codeにnodrix MCPをインストール
$ claude mcp add --transport http nodrix https://{host}/v1/mcp/oauthCursorにnodrix MCPをインストール
~/.cursor/mcp.json
{
"mcpServers": {
"nodrix": {
"url": "https://{host}/v1/mcp/oauth"
}
}
}VS Codeにnodrix MCPをインストール
.vscode/mcp.json
{
"servers": {
"nodrix": {
"type": "http",
"url": "https://{host}/v1/mcp/oauth"
}
}
}Codexにnodrix MCPをインストール
~/.codex/config.toml
[mcp_servers.nodrix]
url = "https://{host}/v1/mcp/oauth"Gemini CLIにnodrix MCPをインストール
~/.gemini/settings.json
{
"mcpServers": {
"nodrix": {
"httpUrl": "https://{host}/v1/mcp/oauth"
}
}
}自動チェック
実行日 2026年11月14日詳細レポート →まだ検証されていません。サーバーには80点のスコア、重大な問題がないこと、および検証に必要な十分なデータが必要です。 チェックの仕組み
- ソースリポジトリがリンクされており、アクセス可能decoded-cipher/nodrix is public and reachablegithub.com/decoded-cipher/nodrix ↗合格
- パッケージがこのリポジトリをソースとして示している未チェック
- ビルドの来歴(Sigstore 証明)未チェック
- オープンソースライセンス (OSI)MITspdx.org/licenses/MIT.html ↗合格
- 過去1年以内にコミットまたはリリースありLast commit or release 2026-11-12github.com/decoded-cipher/nodrix ↗合格
- OpenSSF Scorecard未チェック
- パッケージ名が有名なパッケージに酷似していない未チェック
- パッケージと依存関係に重大なアドバイザリがない未チェック
- モデルへの隠れた指示がない0 tool descriptions and the README read; no override phrases, credential paths or hidden characters合格
- 破壊的なツールがラベル付けされている未チェック
- リモート endpoint が MCP ハンドシェイクに応答するEndpoint did not answer initialize: unreachable検出事項
README
GitHubで見るnodrix
The IoT platform Cloudflare didn't build. Point your hardware at one endpoint over HTTPS or WebSocket, watch variables appear on their own, build realtime drag-and-drop dashboards, automate, and read it all back through a clean API — entirely on infrastructure you own. nodrix is single-tenant and open source: it deploys into your Cloudflare account on Workers, Durable Objects, D1, and R2.
Features
- 📡 Telemetry over HTTPS or WebSocket — hardware POSTs JSON to a project; variables auto-create on first sight. No schema to define, no MQTT broker to run.
- 📊 Realtime dashboards — a drag-and-drop widget grid streams updates over hibernating WebSockets; share any dashboard read-only by public link.
- 🧩 Embeddable widgets — every widget is a framework-agnostic Web Component you can lift straight into your own app.
- 🎮 Two-way control — toggles, sliders, color pickers, and buttons write values back to hardware via short polls or a control socket.
- 🤖 Visual automations — variable, schedule, sunrise/sunset, and event triggers run conditions and actions: webhooks, code snippets, and service integrations.
- 🔌 Integrations — fan out to HTTP, email, and chat (Slack, Telegram, Discord, and more).
- 📖 Clean read API — latest state, time-series, and variable listings behind one token.
- 🧠 Native MCP server — read telemetry and control hardware from an AI assistant, on devices you are not physically next to. Owner-gated and off by default; see AI assistants (MCP).
- 👥 Multi-user — owner / admin / member roles, email invites, and social sign-in (Google, GitHub).
- 📝 Audit log — every privileged action recorded and paginated in the UI.
Quick start
-
Deploy to your Cloudflare account — one click, or
bun run deploy:platformfrom a clone. -
Create the owner account — the first visit prompts a "Create owner account" page; the first signup becomes
owner. -
Create a project and mint a project token from the dashboard.
-
Send telemetry — variables are created the moment data arrives:
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}}' -
Read it back:
curl https://<your-worker>/v1/projects/<project>/state \ -H "Authorization: Bearer $NODRIX_TOKEN"
AI assistants (MCP)
nodrix ships a native Model Context Protocol server, so an assistant can read a project's telemetry and — once you allow it — act on the hardware. Because devices report to your deployment rather than to your laptop, the board does not need to be plugged into the machine running the assistant; it can be in another building.
Two endpoints, both Streamable HTTP:
| Endpoint | Auth | For |
|---|---|---|
/v1/mcp |
Bearer token | CLI and IDE clients |
/v1/mcp/oauth |
OAuth | claude.ai-style connectors |
Both are off by default. The owner flips them in Settings → More:
mcp_enabled— the master switch. While it is off,/v1/mcpreturns 404, so a disabled server looks absent rather than merely forbidden.mcp_write_enabled— gates the management and control tools. Until it is on, even an admin-scope token gets read-only tools, so an assistant cannot command hardware by default.
12 read tools — 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 write tools — creating and updating projects, variables, dashboards, widgets, automations, and integrations, plus set_variable (how an assistant turns a relay on), run_automation, emit_event, and test_integration.
There are no delete tools, by design. Every tool resolves its target project through the token's scope before it runs, so it cannot reach a project the token cannot.
Architecture
- Worker (worker/) — a single Hono app. Durable Objects for Project, Dashboard, Scheduler, and the MCP agent; one Workflow for provisioning; D1 (metadata), R2 (telemetry history), KV (read cache + JWKS).
- Web (web/) — Vue 3 + Tailwind + Reka UI admin panel and drag-and-drop dashboard builder, built and served as Worker static assets.
- Shared (shared/) — framework-agnostic Web Component widgets, the integration catalog, and automation blocks, consumed by both web and worker so there is a single source of truth.
- Deploy (deploy/) — the small config carrier behind the one-click Deploy to 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
Storage
| Store | Holds |
|---|---|
| Project DO (SQLite) | Latest variable state, recent ring buffer, pending control writes, flush cursor |
| R2 | Cold telemetry history (NDJSON, partitioned by project + hour) |
| D1 | Users, sessions, accounts, projects, variables, dashboards, tokens, automations, integrations, audit log, OAuth provider config (metadata only — never any telemetry point) |
| KV | Cached /state responses and JWKS |
| Dashboard DO | Per-dashboard subscriptions + hibernated WebSockets |
| Scheduler DO | One alarm at the next schedule/sunset automation fire time |
Authentication
Better Auth handles sign-in. Email + password is on by default; Google and GitHub OAuth can be enabled at runtime from Settings → Sign-in providers (the owner enters a client ID + secret per provider, and the login page shows the matching buttons immediately).
The first signup on a fresh deployment becomes owner. After that, registration is closed: the owner invites people from Users, each with an owner / admin / member role. Sessions are cookie-based and persist 30 days; each device is a separate session, listed and revokable from Users.
Development
nodrix uses 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
Links
- Site — https://nodrix.live
- Changelog — https://nodrix.live/changelog
- Roadmap — https://nodrix.live/roadmap
License
MIT © Arjun Krishna
nodrix MCPのよくある質問
nodrix MCPをClaude Codeに追加するには
ターミナルでclaude mcp add --transport http nodrix https://{host}/v1/mcp/oauthを実行します。すべてのプロジェクトで利用するには--scope userを追加します。
nodrix MCPをCursorに追加するには
~/.cursor/mcp.jsonを開き、上記のインストールセクションに示すCursor設定を使ってmcpServersの下にサーバーを追加します。
AIアシスタントでハードウェアを制御できますか?
はい、設定で書き込みツールを有効にすると、アシスタントが set_variable などのツールを使用してハードウェアにコマンドを送ることができます。
AIを動作させるために、ハードウェアをコンピュータに接続しておく必要がありますか?
いいえ。デバイスはローカルマシンではなくデプロイメントに対してデータを送信するため、ハードウェアが別の場所にあっても動作します。
MCP serverはデフォルトで有効になっていますか?
いいえ、MCP serverはデフォルトではオフになっており、オーナーが設定から有効にする必要があります。