Serveur MCP nodrix
Commit 12 nov. 2026Permet à un assistant IA de lire la télémétrie IoT et de contrôler du matériel tel que l'ESP32 ou l'Arduino via une plateforme auto-hébergée basée sur Cloudflare.
Aussi connu sous decoded-cipher/nodrix
- Étoiles
- 46
- Outils
- —
- Téléchargements, 30 jours
- —
- Dernière version
- 1.0.1
- Dernier commit
- 12 nov. 2026
- Licence
- MIT
Qu'est-ce que nodrix MCP ?
nodrix est un serveur MCP. Permet à un assistant IA de lire la télémétrie IoT et de contrôler du matériel tel que l'ESP32 ou l'Arduino via une plateforme auto-hébergée basée sur Cloudflare.
Résumé généré à partir du README du projet
À propos du MCP server nodrix
nodrix fournit une plateforme IoT auto-hébergée qui s'exécute entièrement au sein de votre propre compte Cloudflare en utilisant Workers, Durable Objects, D1 et R2. Elle permet à du matériel comme Arduino ou ESP32 d'envoyer de la télémétrie via HTTPS ou WebSockets sans nécessiter de schéma prédéfini ou de broker MQTT géré. Une fois les données reçues, les variables sont automatiquement créées, et vous pouvez les visualiser via des tableaux de bord interactifs en temps réel par glisser-déposer ou via une API de lecture épurée.
Le MCP server natif permet aux assistants IA d'interagir avec votre matériel à distance. Comme les appareils se connectent à votre déploiement Cloudflare plutôt qu'à une machine locale, le matériel peut être situé n'importe où. Les utilisateurs peuvent activer un accès en lecture seule ou un contrôle total en basculant des paramètres spécifiques dans le tableau de bord. Le système comprend 12 outils de lecture pour inspecter les projets, les variables et les automatisations, ainsi que 16 outils d'écriture pour gérer les configurations et contrôler le matériel via des commandes comme set_variable.
La sécurité est gérée par des permissions contrôlées par le propriétaire et des jetons de projet. La plateforme prend en charge plusieurs rôles d'utilisateurs, notamment propriétaire, administrateur et membre, avec un journal d'audit pour suivre les actions privilégiées. Pour éviter toute perte de données accidentelle, l'ensemble des outils est conçu sans aucun outil de suppression.
Ce que vous pouvez faire avec
- 1Surveiller les données de capteurs à distanceDemandez à un assistant IA de récupérer les relevés actuels de température et d'humidité d'un projet IoT spécifique.
- 2Contrôler des composants matérielsDonnez l'instruction à une IA d'activer un relais ou d'ajuster un paramètre en envoyant une commande au matériel.
- 3Gérer les configurations IoTUtilisez un client IA pour créer de nouveaux projets, tableaux de bord ou règles d'automatisation au sein de votre infrastructure.
- 4Analyser la télémétrie historiqueDemandez un rapport de séries temporelles sur l'évolution des variables pour comprendre le comportement des appareils au fil du temps.
Extrait du README du projet. Chaque cas d'utilisation est vérifié par rapport à une citation du document.
Comment installer nodrix MCP
Formats vérifiés le 10 nov. 2026Installer nodrix MCP dans Claude Code
$ claude mcp add --transport http nodrix https://{host}/v1/mcp/oauthInstaller nodrix MCP dans Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"nodrix": {
"url": "https://{host}/v1/mcp/oauth"
}
}
}Installer nodrix MCP dans VS Code
.vscode/mcp.json
{
"servers": {
"nodrix": {
"type": "http",
"url": "https://{host}/v1/mcp/oauth"
}
}
}Installer nodrix MCP dans Codex
~/.codex/config.toml
[mcp_servers.nodrix]
url = "https://{host}/v1/mcp/oauth"Installer nodrix MCP dans Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"nodrix": {
"httpUrl": "https://{host}/v1/mcp/oauth"
}
}
}Vérifications automatisées
Exécuté le 14 nov. 2026Rapport complet →Pas encore vérifié. Un serveur nécessite un score de 80, aucune faille sérieuse et suffisamment de données pour que nous puissions effectuer les vérifications. Fonctionnement des vérifications
- Dépôt source lié et accessibledecoded-cipher/nodrix is public and reachablegithub.com/decoded-cipher/nodrix ↗Réussi
- Le paquet cite ce dépôt comme sourceNon vérifié
- Provenance du build (attestation Sigstore)Non vérifié
- Licence open source (OSI)MITspdx.org/licenses/MIT.html ↗Réussi
- Commit ou version publiée au cours de l'année écouléeLast commit or release 2026-11-12github.com/decoded-cipher/nodrix ↗Réussi
- OpenSSF ScorecardNon vérifié
- Nom du package non proche d'un package populaireNon vérifié
- Aucun avis critique dans le paquet ni ses dépendancesNon vérifié
- Aucune instruction cachée destinée au modèle0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersRéussi
- Les outils destructifs sont étiquetésNon vérifié
- L'endpoint distant répond au handshake MCPEndpoint did not answer initialize: unreachableFaille
README
Voir sur GitHubnodrix
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
Questions sur nodrix MCP
Comment ajouter nodrix MCP à Claude Code ?
Exécutez claude mcp add --transport http nodrix https://{host}/v1/mcp/oauth dans votre terminal. Ajoutez --scope user pour le rendre disponible dans tous les projets.
Comment ajouter nodrix MCP à Cursor ?
Ouvrez ~/.cursor/mcp.json et ajoutez le serveur sous mcpServers, avec la configuration Cursor indiquée dans la section d'installation ci-dessus.
Un assistant IA peut-il contrôler mon matériel ?
Oui, une fois que vous avez activé les outils d'écriture dans les paramètres, un assistant peut utiliser des outils comme set_variable pour commander le matériel.
Mon matériel doit-il être connecté à mon ordinateur pour que l'IA fonctionne ?
Non, car les appareils communiquent avec votre déploiement plutôt qu'avec votre machine locale, le matériel peut donc se trouver dans un endroit différent.
Le MCP server est-il activé par défaut ?
Non, le MCP server est désactivé par défaut et doit être activé par le propriétaire dans les paramètres.