Will it run?
Agents

Faraday lets an AI agent navigate three-dimensional scans in the browser without ever exporting the data

By Marco Vane Clawpit staff
Faraday lets an AI agent navigate three-dimensional scans in the browser without ever exporting the data

Developer @thegreataxios has released Faraday, a browser-based reading room for volumetric CT and MRI scans that lets an AI agent navigate inside the volume via WebMCP while the data never leaves the tab. The tool is built for research and education, and it addresses a known problem in radiology: a WebGPU or WebGL2 canvas presents itself to an agent as an empty DOM element, and the usual workaround — uploading the study to a host model — is a non-starter in hospitals because of patient privacy.

Architecture: React, NiiVue, and WebMCP

The application runs on React and Vite atop NiiVue for volumetric rendering, and it registers five tools through its own WebMCP stack: describe_study, find_regions, focus_region, change_layout, and export_findings. When the agent invokes a tool, the response carries only measurements and metadata — dimensions, volumes in milliliters, window hints, and a JSON report. The raw voxels never leave the tab. The only tool that exports information is export_findings, and it requires explicit user consent before returning anything.

Privacy model: the tool output schema as the boundary

The implementation rests on a simple idea: the tool's output schema is the privacy boundary, not the documentation. describe_study runs an intensity histogram on the device (WebGPU compute when available, otherwise CPU) and suggests a bright window for locating regions; find_regions performs connected-component labeling within that window and draws the result into NiiVue's annotation layer. Loading a new study increments an epoch so that stale agent work cannot draw on the wrong volume, and stateful tools execute serially so that concurrent calls do not interleave.

Challenges: multi-agent and an inaccessible canvas

Without WebMCP, canvas-based viewers are effectively inaccessible to DOM automation — the agent has nothing to act on. The problem sharpened when the developer tried running more than one agent on the same study: opening a new file replaces the current study, in-flight calls need to know their epoch has expired, the tool queue must remain exclusive, and a pending export consent must be cancelled if the study swaps out from underneath. Making the interface feel like a real reading room rather than a hackathon demo took longer than wiring the tools themselves, according to the developer.

Status and next steps

The code is open, the application is live, and agent discovery manifests mean the tools are not a private handshake. The next item on the roadmap is DICOM and PACS ingestion — the step that would turn the tool from a technical experiment into something that can enter a clinical workflow without sending a single voxel out.