ruv-swarm
Local multi-agent swarm coordination with small WebAssembly neural networks, run from npx
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
Opens the app, which asks before it adds the server.
claude mcp add ruview -- npx -y @ruvnet/ruview mcp start{
"mcpServers": {
"ruview": {
"command": "npx",
"args": [
"-y",
"@ruvnet/ruview",
"mcp",
"start"
]
}
}
}{
"mcpServers": {
"ruview": {
"command": "npx",
"args": [
"-y",
"@ruvnet/ruview",
"mcp",
"start"
]
}
}
}{
"servers": {
"ruview": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@ruvnet/ruview",
"mcp",
"start"
]
}
}
}[mcp_servers.ruview]
command = "npx"
args = ["-y", "@ruvnet/ruview", "mcp", "start"]gemini mcp add --scope user ruview npx -- -y @ruvnet/ruview mcp startRUVIEW_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. |
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.
| Runtime | Node.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.
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.
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.
ruview_onboardruview_claim_checkruview_verifyruview_node_monitorruview_calibrateruview_node_flashruview_firmware_planruview_firmware_portsruview_doctorruview_trainruview_train_planruview_train_gateruview_devices_scanruview_esp32_captureruview_mmwave_readruview_lidar_readruview_host_listruview_host_runruview_guidanceruview_spaces_listruview_memory_searchruview_kernel_selftest