Documentation
Complete reference for viznoir MCP tools, resources, architecture, and configuration.
Install & Configure
1. Install
pip install mcp-server-viznoir Optional: pip install mcp-server-viznoir[all]
2. Configure
{
"mcpServers": {
"viznoir": {
"command": "mcp-server-viznoir"
}
}
} One Pipeline, Every Domain
Every render is a single MCP tool call — no GUI, no post-processing, no ParaView.
CT skull volume rendering
Combustion streamlines
Heatsink gradient
Seismic wavefield
DrivAerML Cp · 8.8M cells
H₂O electron density
Cerebral aneurysm MRA
Bennu · 196K triangles
Cantilever FEA stress
Thermal threshold
Physics Insights, Not Just Pixels
Extract physics, render LaTeX equations, compose cinematic story layouts.
inspect_physics → cinematic_render × 4 → LaTeX equations → compose_assets
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
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
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 5-Layer Stack
FastMCP native integration
EGL/OSMesa headless · cinematic lighting · PBR
Vortex detection · stagnation points · BC parsing
Physics-driven · timeline · compositor · video
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) 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.
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