Skip to content

CBCTScope

A CBCT viewer built by the radiologist who reads with it.

A complete, local-first CBCT viewer in eight purpose-built reading modes: orthogonal MPR with 3D rendering, a multi-slice grid, curved panoramic with nerve tracing, TMJ, freehand reslice, virtual cephalogram, region growing with airway analysis, and two-volume stitching. The same instrument reads 2D radiographs (panoramic, intraoral, computed and digital radiography), and it is free, open source, and local-first: no account, no cloud, no upload, ever.

No agent is required; CBCTScope is a complete standalone viewer. It is also, as far as I can find, the first CBCT viewer with native AI-agent control: an agent connected over MCP opens scans, switches reading modes, sets the window, moves through slices, and takes snapshots, while the scan never leaves your computer.

Board-certified oral and maxillofacial radiologist · 100,000+ studies reported

Reading modes
8 purpose-built
2D radiographs
Panoramic · intraoral · CR · DX
Standalone
No agent required
Agent surface
15 MCP verbs, navigation only
Privacy
Local-only · loopback-bound · no uploads
License
AGPL-3.0, open source
Runs on
macOS · Windows · Linux, double-click starters
Current release
v1.6.0, September 9, 2026

Latest releases: v1.6.0 (September 9, 2026): the agent surface grows from 8 to 15 navigation-only verbs (viewer state, pick a scan in the native dialog without the agent seeing the path, saved views with an agent badge, 3D style, panoramic arch and grid navigation), every verb annotated with an output schema, read-only resources, four reading choreographies as prompts, a one-click bundle for Claude Desktop and an Agent Skill. v1.5.1 (August 19, 2026): one slice count in every mode and snapshot with its direction printed beside it, the window stays put on return to MPR, README stills and demo recorded on a real consented de-identified CBCT.

An agent driving the viewer over MCP. The volume is a real CBCT, shown with the patient's written consent and de-identified before it was ever opened; the 3D render is bone only, never a soft-tissue surface. Slice navigation, the window presets and every mode switch are MCP verbs; the 3D orbit, the arch and the cephalogram contrast are the viewer's own one-click tools.
  • CBCTScope MPR mode on a real CBCT: axial, sagittal and coronal panes with live crosshairs on a molar, a bone 3D render of the facial skeleton, HU window presets with histogram, slab and MIP controls

    MPR + 3D

  • CBCTScope grid mode: nine parallel axial slices through the dentition with a sagittal scout, spacing and thickness controls

    Multi-slice grid

  • CBCTScope pano mode: arch spline on the axial slice, curved panoramic reconstruction of the arch, perpendicular cross-sections

    Curved panoramic

  • CBCTScope TMJ mode: both condyles in axis-corrected sagittal sections, five per side, the axis line drawn per condyle on the axial scout

    TMJ condyles

Four of the eight reading modes, on the same real CBCT as the recording. Click any still for full resolution.

Research use only. Not a medical device. CBCTScope visualizes and navigates volumes. It never produces findings, measurements-as-conclusions, or diagnoses, in the UI or over MCP, and it is not for clinical decision-making.

Agent-native imaging

An agent-native viewer exposes clinical navigation verbs, not code execution. CBCTScope’s agent surface is fifteen verbs, all navigation or visualization: open a scan, or let the reader pick one in the native dialog so the agent never sees the path; read the viewer state; switch mode; set the window and the 3D style; move through slices, the grid and the panoramic arch; bookmark and restore saved views, each agent bookmark badged as such; snapshot; reset. Read-only resources mirror the state, four reading choreographies ship as prompts, and a one-click bundle installs the server into Claude Desktop. There is no tool that returns an interpretation. That constraint is the design: the agent can operate the instrument the way an assistant operates the viewer’s controls, and the reading itself stays with the human. Neighboring projects put agents next to imaging in other ways; the repo credits them and maps the differences.

The agent moves the camera. The human reads.

Reading modes

Eight purpose-built modes for oral and maxillofacial reading: orthogonal MPR with 3D rendering, a multi-slice grid, curved panoramic reconstruction with nerve tracing, TMJ with axis-corrected sections for both condyles, freehand reslice, virtual cephalogram, region growing with airway analysis, and two-volume stitching. The reconstruction math is original, implemented from scratch and informed by reading practice, not lifted from any vendor. The same instrument also opens single 2D radiographs (panoramic, intraoral, and computed or digital radiography: DICOM PX, IO, CR, DX) under identical display settings.

Privacy by construction

Scans are read in place from a folder you pick; nothing is copied or uploaded. There is no hosted instance and there never will be one. The server binds to loopback and rejects any request whose Host or Origin is not local, so neither another device on your network nor a hostile page in another browser tab can reach it. The bundled demo mode goes further: it never restores a previously opened scan, so a demonstration or recording cannot surface a real case by accident. The real CBCT on this page is there on purpose, with written consent, de-identified before the viewer ever read it.

Run it

Three steps, no technical background needed. CBCTScope is not an installed app with an icon: it is a small local program you start once per reading session, and your browser is the screen. Everything is undone by deleting the folder.

  1. Install Node.js 22 or later from nodejs.org: download the LTS installer, run it, accept the defaults. It is the free runtime that runs the viewer, the way a browser runs a web page.
  2. Get CBCTScope. On the GitHub page click the green Code button, choose Download ZIP, and unzip it somewhere you can find again.
  3. Start it. In the unzipped folder, double-click Start CBCTScope.command on macOS or Start CBCTScope.bat on Windows. The first start downloads the viewer’s components once (about 130 MB downloaded, 600 MB on disk: ten to fifteen seconds on my Mac and connection, longer on a slow one); then your browser opens the viewer by itself, on a built-in synthetic phantom. The full viewer works with zero patient data.

If macOS refuses that first open, go to System Settings, Privacy & Security, and click Open Anyway; if Windows shows a security warning, choose Run. Each system asks once. On Linux, or if you prefer a terminal: npm install once, then npm run dev, and open localhost:3810. To stop the viewer, close the starter’s window; next session, double-click again.

Agent-native instruments

One principle, two domains

Bounded verbs for the agent, commit rights for the human. CBCTScope applies it to reading CBCT volumes; Quoin applies it to text.

See Quoin