RuView

Operate a RuView WiFi-sensing setup: ESP32 CSI nodes, radar, LiDAR, flashing, calibration and training

Official · rUv TypeScript Local · stdio Developer toolsDevOps and monitoring

51 popularity score ★ 103k ↓ 460/wk

Connect your client

Local (npm)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude CodeTerminal
claude mcp add ruview -- npx -y @ruvnet/ruview mcp start
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "ruview": {
      "command": "npx",
      "args": [
        "-y",
        "@ruvnet/ruview",
        "mcp",
        "start"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "ruview": {
      "command": "npx",
      "args": [
        "-y",
        "@ruvnet/ruview",
        "mcp",
        "start"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "ruview": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@ruvnet/ruview",
        "mcp",
        "start"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.ruview]
command = "npx"
args = ["-y", "@ruvnet/ruview", "mcp", "start"]
Gemini CLITerminal
gemini mcp add --scope user ruview npx -- -y @ruvnet/ruview mcp start

Settings 5

RUVIEW_MCP_GRANTS Optional: Grants enabled at start: device-access, remote-host, workspace-write, hardware-write, credential-use.
RUVIEW_MCP_TOKEN Optional: Bearer token for the HTTP transport (mcp start --http).
RUVIEW_CREDENTIALS_PATH Optional: Non-default Cognitum Spaces credential store for the server.
RUVIEW_LIDAR_TOKEN Optional: Token for the iPhone LiDAR relay WebSocket.
LIBTORCH Optional: Path to libtorch for pose training; or set LIBTORCH_USE_PYTORCH=1.

What it does

RuView is a project that estimates presence, motion, breathing and coarse body pose from WiFi Channel State Information (CSI) collected by cheap ESP32 boards, optionally combined with mmWave radar and LiDAR. The @ruvnet/ruview package is its operator toolkit: the same set of ruview_* functions is available as a command-line program, a JavaScript SDK and an MCP server, so an assistant can help set up and run a sensing installation.

Through the MCP server an assistant can walk a newcomer through choosing a setup path, list serial ports and attached sensors, check that CSI packets are arriving from ESP32 nodes, read 60 GHz and 24 GHz radar modules and RPLIDAR or iPhone LiDAR, plan and perform firmware flashing with checksum and chip checks, run the room calibration pipeline, plan and launch pose or room model training, and gate evaluation results against a mean-pose baseline. It also offers diagnostics of the local toolchain, source-cited guidance about the RuView codebase, a search over a reviewed set of project facts, read-only tool runs on SSH hosts, and paged reads of a Cognitum Spaces account.

A distinctive part is the accuracy guardrail: ruview_claim_check flags accuracy figures in text that are not tagged as measured against a baseline, and the training gate returns the only claim wording it considers publishable. Tools that modify hardware or the workspace are off by default and must be enabled with grants when the server is started and confirmed per call.

It runs over stdio for local clients, or over a loopback HTTP transport with a bearer token for ChatGPT and other MCP Apps hosts, where three tools render in a small console widget.

What it needs

RuntimeNode.js 20+

Node.js 20 or newer. Most useful on the machine the sensors are plugged into: ESP32 CSI nodes, MR60BHA2 or LD2410 radar, or RPLIDAR. Flashing and port listing need Python with esptool and pyserial. Training needs a RuView repository checkout with Rust and libtorch (torch 2.11.0 for tch 0.24). Cognitum Spaces reads need an installed wifi-densepose binary signed in with OAuth.

Limits

Its makers say WiFi sensing gives only coarse pose, presence and breathing and is not a camera; device-reported vitals are labelled unvalidated and the smoke training run and kernel self-test are synthetic. Flashing, calibration and training are never allowed over the HTTP transport, which serves read tools only. A cloud-hosted agent cannot reach local USB ports. The MCP doctor cannot probe a board or contact a network host. Remote SSH hosts can only be added from the CLI and only run read-only tools. Spaces reads are limited to 100 items per page and grant no write authority.

Who it suits

Suits people building or running a RuView WiFi-sensing installation who want an assistant to inspect nodes, read sensors, flash ESP32 firmware or run calibration and training from a local session, with explicit grants guarding every change. It is tied to RuView hardware and its repository, so it has little use without ESP32 CSI nodes or a RuView checkout. Pick the HTTP mode only for read-only monitoring from ChatGPT; anything that writes needs the stdio server on the machine with the hardware.

Tools 22

ruview_onboard
Choose a setup path (Docker demo, repo build or live ESP32) and get the next command
ruview_claim_check
Flag accuracy claims in text that are untagged or overstated
ruview_verify
Run the repository's deterministic proof script and report its verdict
ruview_node_monitor
Check that CSI data is arriving from an ESP32 node
ruview_calibrate
Run the room calibration pipeline from baseline to room watch; needs a write grant
ruview_node_flash
Flash ESP32 firmware with checksum and chip checks and capture the boot log; needs a hardware grant
ruview_firmware_plan
Check a firmware bundle and return the esptool command without running it
ruview_firmware_ports
List serial ports on the machine
ruview_doctor
Report diagnostics for runtime, repo, Rust, Python, esptool, bundles, serial and kernel
ruview_train
Run pose or room model training in the checkout, writing checkpoints; needs a write grant
ruview_train_plan
Work out a training command without running it
ruview_train_gate
Test an evaluation result against a mean-pose baseline and leakage rules
ruview_devices_scan
Identify attached USB serial devices by vendor and product ID
ruview_esp32_capture
Receive CSI, vitals and feature packets from ESP32 nodes over UDP
ruview_mmwave_read
Read a 60 GHz MR60BHA2 or 24 GHz LD2410 radar module over serial
ruview_lidar_read
Summarise a scan from RPLIDAR or an iPhone LiDAR relay
ruview_host_list
List the SSH hosts configured for remote runs
ruview_host_run
Run one read-only tool on a configured SSH host
ruview_guidance
Return source-cited notes on the RuView codebase, maturity and known limits
ruview_spaces_list
Page through Cognitum Spaces sites, zones, entities, events or alerts
ruview_memory_search
Search the project's reviewed, source-cited fact store
ruview_kernel_selftest
Run a synthetic self-test of the optional ruview-kernel compute package

Similar servers