Documentation

Complete reference for viznoir MCP tools, resources, architecture, and configuration.

QUICK START

Install & Configure

1. Install

pip install mcp-server-viznoir

Optional: pip install mcp-server-viznoir[all]

2. Configure

.mcp.json
{
  "mcpServers": {
    "viznoir": {
      "command": "mcp-server-viznoir"
    }
  }
}
10 DOMAINS

One Pipeline, Every Domain

Every render is a single MCP tool call — no GUI, no post-processing, no ParaView.

CT skull volume rendering
Medical

CT skull volume rendering

Combustion jet streamlines
CFD

Combustion streamlines

Heatsink thermal gradient
Thermal

Heatsink gradient

Seismic wavefield depth slice
Geoscience

Seismic wavefield

DrivAerML automotive CFD Cp
Automotive

DrivAerML Cp · 8.8M cells

H2O electron density isosurface
Molecular

H₂O electron density

Cerebral aneurysm MRA
Vascular

Cerebral aneurysm MRA

Bennu asteroid surface
Planetary

Bennu · 196K triangles

Cantilever beam FEA stress
Structural

Cantilever FEA stress

Combustion thermal threshold
Volume

Thermal threshold

SCIENCE STORYTELLING

Physics Insights, Not Just Pixels

Extract physics, render LaTeX equations, compose cinematic story layouts.

Lid-driven cavity flow: physics decomposition with LaTeX equations

inspect_physics → cinematic_render × 4 → LaTeX equations → compose_assets

22 MCP TOOLS

Tool Reference

Every tool accepts structured JSON parameters and returns structured results.

inspect_data

Explore file metadata — fields, timesteps, bounds

inspect_physics

L2 topology analysis + L3 case context parsing

render

Single-view 3D rendering → PNG/WebP

slice

Plane-cut cross-section rendering

contour

Isosurface/isocontour extraction

clip

Half-space clipping visualization

streamlines

Vector field flow visualization

volume_render

Direct volume rendering with transfer functions

pv_isosurface

Isosurface extraction with PBR materials

cinematic_render

Publication-quality with 3-point lighting, SSAO, FXAA

compare

Side-by-side or diff comparison of two results

batch_render

Render multiple fields in one call

animate

Time series or orbit animation → GIF/MP4

split_animate

Multi-pane synchronized animation (2-4 panes)

extract_stats

Statistical analysis of field data

plot_over_line

Line probe data extraction

integrate_surface

Surface integration (flux, area-weighted avg)

probe_timeseries

Sample field at a fixed point across timesteps

analyze_data

Automated data insights extraction

compose_assets

Multi-asset story layout composition

preview_3d

Export to glTF/glB for interactive 3D viewing

execute_pipeline

Full pipeline DSL for advanced operations

RESOURCES

MCP Resources

viznoir://formats

Supported file formats (50+)

viznoir://filters

Available VTK filter registry

viznoir://colormaps

Colormap presets and ranges

viznoir://cameras

Camera preset configurations

viznoir://cinematic

Cinematic rendering parameters

viznoir://case-presets

Domain-specific case presets

viznoir://pipelines/cfd

CFD pipeline templates

viznoir://pipelines/fea

FEA pipeline templates

viznoir://pipelines/split-animate

Split animation templates

viznoir://storytelling

Story composition templates

PHYSICS ANIMATIONS

Every Effect Has a Physical Reason

Not slideshows — real VTK frame-by-frame rendering with physics-driven presets.

Streamline Growth

Lagrangian advection — traces flow paths progressively

streamline_growth

Clip Sweep

Pressure gradient cross-section reveal

clip_sweep

Layer Reveal

CT density classification — tissue layers emerge

layer_reveal

Iso Sweep

Orbital topology — isosurface level traversal

iso_sweep

Warp Oscillation

Structural mode shape — displacement amplification

warp_oscillation

Light Orbit

Oblique illumination — surface feature emphasis

light_orbit

Threshold Reveal

Feature hierarchy — progressive density gating

threshold_reveal
ARCHITECTURE

5-Layer Stack

01
MCP Server 22 tools · 12 resources · 4 prompts

FastMCP native integration

02
VTK Engine readers · filters · renderer · camera

EGL/OSMesa headless · cinematic lighting · PBR

03
Physics Layer topology · context · guard

Vortex detection · stagnation points · BC parsing

04
Animation 7 presets · 17 easings · transitions

Physics-driven · timeline · compositor · video

05
Output PNG · WebP · MP4 · GLTF · LaTeX

50+ input formats via VTK + meshio

Data Flow

server.py (MCP tool)
  → tools/*.py (build PipelineDefinition)
    → core/compiler.py (PipelineDefinition → Python script)
      → core/runner.py (in-process executor or Docker)
        → engine/*.py (VTK direct API)
          → core/output.py (RunResult → PipelineResult → PNG/WebP/MP4)
CONFIGURATION

Environment Variables

Variable Default Description
VIZNOIR_DATA_DIR None Restrict data directory (Docker security)
VIZNOIR_OUTPUT_DIR /output Output directory for rendered files
VIZNOIR_RENDER_BACKEND gpu gpu / cpu / auto
VIZNOIR_VTK_BACKEND auto egl / osmesa / auto
VIZNOIR_TIMEOUT 600 Script execution timeout (seconds)
VIZNOIR_ALLOW_PROGRAMMABLE 0 Enable ProgrammableFilter (security risk)
VIZNOIR_DOCKER_IMAGE viznoir:latest Docker execution mode image
VIZNOIR_GPU_DEVICE 0 GPU device index

Docker (GPU EGL headless)

Build

docker compose build

Run

docker compose up

Supported File Formats

50+ formats via VTK native readers + meshio conversion.

VTK VTI VTP VTU VTS VTR OpenFOAM CGNS Plot3D NetCDF Exodus STL OBJ PLY GLTF STEP INP XDMF HDF5 PDB
4 PROMPTS

MCP Prompts

story_planning

Science storytelling guide with narrative structure

cfd_workflow

CFD post-processing best-practice workflow

fea_workflow

FEA stress/deformation analysis workflow

medical_workflow

Medical imaging visualization workflow