nodrix MCP server
2026년 11월 12일 커밋자체 호스팅되는 Cloudflare 기반 플랫폼을 통해 AI 어시스턴트가 IoT 텔레메트리를 읽고 ESP32 또는 Arduino와 같은 하드웨어를 제어할 수 있습니다.
다른 이름 decoded-cipher/nodrix
- 스타
- 46
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- 1.0.1
- 마지막 커밋
- 2026년 11월 12일
- 라이선스
- MIT
nodrix MCP란?
nodrix은(는) MCP server입니다. 자체 호스팅되는 Cloudflare 기반 플랫폼을 통해 AI 어시스턴트가 IoT 텔레메트리를 읽고 ESP32 또는 Arduino와 같은 하드웨어를 제어할 수 있습니다.
프로젝트 README에서 생성된 요약
nodrix MCP server 정보
nodrix는 Workers, Durable Objects, D1, R2를 사용하여 사용자의 Cloudflare 계정 내에서 완전히 실행되는 자체 호스팅 IoT 플랫폼을 제공합니다. Arduino 또는 ESP32와 같은 하드웨어가 사전 정의된 스키마나 관리형 MQTT 브로커 없이도 HTTPS 또는 WebSockets를 통해 텔레메트리를 전송할 수 있습니다. 데이터가 도착하면 변수가 자동으로 생성되며, 실시간 드래그 앤 드롭 대시보드나 깔끔한 read API를 통해 이를 확인할 수 있습니다.
네이티브 MCP server를 통해 AI 어시스턴트가 원격으로 하드웨어와 상호작용할 수 있습니다. 장치가 로컬 머신이 아닌 Cloudflare 배포 환경에 연결되므로 하드웨어는 어디에나 위치할 수 있습니다. 사용자는 대시보드에서 특정 설정을 전환하여 읽기 전용 액세스 또는 전체 제어 권한을 활성화할 수 있습니다. 시스템에는 프로젝트, 변수 및 자동화 검사를 위한 12개의 read 도구와 구성 관리 및 set_variable과 같은 명령을 통한 하드웨어 제어를 위한 16개의 write 도구가 포함되어 있습니다.
보안은 소유자 기반 권한 및 프로젝트 토큰을 통해 관리됩니다. 플랫폼은 소유자, 관리자, 멤버를 포함한 다중 사용자 역할을 지원하며, 권한이 필요한 작업을 추적하기 위한 감사 로그를 제공합니다. 실수로 인한 데이터 손실을 방방지하기 위해 모든 도구 세트에는 삭제 도구가 포함되지 않도록 설계되었습니다.
활용 사례
- 1원격 센서 데이터 모니터링AI 어시스턴트에게 특정 IoT 프로젝트의 현재 온도 및 습도 값을 가져오도록 요청합니다.
- 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를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
AI 어시스턴트가 제 하드웨어를 제어할 수 있나요?
네, 설정에서 쓰기 도구를 활성화하면 어시스턴트가 set_variable과 같은 도구를 사용하여 하드웨어에 명령을 내릴 수 있습니다.
AI가 작동하려면 하드웨어가 컴퓨터에 연결되어 있어야 하나요?
아니요, 장치가 로컬 머신이 아닌 사용자의 배포 환경으로 데이터를 보고하므로 하드웨어는 다른 위치에 있어도 됩니다.
MCP server가 기본적으로 활성화되어 있나요?
아니요, MCP server는 기본적으로 꺼져 있으며 소유자가 설정에서 직접 활성화해야 합니다.