nodrix

live.nodrixPublished by nodrix.livev1.0.1Updated Oct 24, 2026

Read live and historical IoT telemetry and actuate ESP32/Arduino hardware from a backend you host.

Overview

AI-generated overview

nodrix is a self-hosted IoT platform whose MCP server lets an assistant read device telemetry and, when enabled, control ESP32/Arduino hardware.

What you can do
  • List projects, variables, dashboards, widgets, automations and integrations, and read latest state or time-series telemetry.
  • Create and update projects, variables, dashboards, widgets, automations and integrations.
  • Write values back to hardware with set_variable, run automations, emit events and test integrations.
  • No delete tools exist, and every tool is scoped to the token's project.
When to use it
Useful when your devices report to your own nodrix deployment and you want an assistant to inspect live or historical sensor data or actuate hardware remotely, without the board being plugged into the machine running the assistant.
Requirements
A remote Streamable HTTP endpoint on your own nodrix deployment, either the bearer-token endpoint or the OAuth endpoint for claude.ai-style connectors. An Authorization header with a nodrix API token prefixed with 'Bearer ', minted in Settings. The owner must enable MCP, and separately enable write tools, under Settings > More.
Before you install
The Authorization header carries a secret API token; keep it out of logs and shared configs. Enabling write tools lets the assistant command real hardware and change projects, dashboards, automations and integrations, so leave them off unless needed. Both MCP endpoints are disabled by default and return 404 until the owner turns them on.

Installation

In SourceWeft

  1. Open nodrix in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Other MCP clients

Follow the launch instructions in the repository.

README

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

  1. Deploy to your Cloudflare account — one click, or bun run deploy:platform from a clone.

  2. Create the owner account — the first visit prompts a "Create owner account" page; the first signup becomes owner.

  3. Create a project and mint a project token from the dashboard.

  4. Send telemetry — variables are created the moment data arrives:

    bash
    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. Read it back:

    bash
    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:

EndpointAuthFor
/v1/mcpBearer tokenCLI and IDE clients
/v1/mcp/oauthOAuthclaude.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/mcp returns 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, Workflowweb/      Vue 3 admin panel + dashboard buildershared/   Web Component widgets, integration catalog, automation blocksdeploy/   One-click Deploy to Cloudflare configscripts/  Build, version, and migration generators

Storage

StoreHolds
Project DO (SQLite)Latest variable state, recent ring buffer, pending control writes, flush cursor
R2Cold telemetry history (NDJSON, partitioned by project + hour)
D1Users, sessions, accounts, projects, variables, dashboards, tokens, automations, integrations, audit log, OAuth provider config (metadata only — never any telemetry point)
KVCached /state responses and JWKS
Dashboard DOPer-dashboard subscriptions + hibernated WebSockets
Scheduler DOOne 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.

bash
bun installbun run dev              # worker (wrangler dev)bun run dev:web          # web (vite)bun run typecheckbun run buildbun run deploy:platform  # build + deploy the worker

Links

License

MIT © Arjun Krishna

Source: README.md at commit 8fd634b

Tools

0
SourceWeft has not read this server's tools yet.

Version history

1
  1. v1.0.1LatestSep 18, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declaredRequired10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts