viznoir
viznoir is a headless, AI-agent-friendly MCP server that gives AI agents full access to VTK's rendering pipeline for cinema-quality scientific visualization, analysis, and animation of simulation data across 50+ file formats — no GUI required.
Rendering
render— Field visualization as PNG with configurable colormap, camera, and resolutioncinematic_render— Publication-quality rendering with PCA-based auto-framing, 3-point lighting, SSAO, FXAA, and PBR materialsbatch_render— Render multiple fields from the same dataset in one callvolume_render— Volume render 3D data (CT, MRI, CFD) with transfer function presets
Filters & Processing
slice,contour,clip,streamlines— Cut planes, iso-surfaces, clipping, and vector field visualizationexecute_pipeline— Fully custom VTK pipelines with 20+ supported filters
Analysis & Inspection
inspect_data— Metadata: bounds, arrays, timesteps, multiblock structureinspect_physics— Vortex detection (Q-criterion), critical points, boundary conditions, derived quantities (Re, Ma, etc.)extract_stats— Statistical summaries (min/max/mean/std) per fieldauto_postprocess— Autonomous inspect → visualize → evaluate → refine workflow
Probing
plot_over_line— Sample field values along a line for 1D plotsintegrate_surface— Integrate fields over surfaces for forces/fluxesprobe_timeseries— Sample a field at a fixed point across all timesteps
Animation
animate— Time-series or camera-orbit animations with 7 physics-aware presets (streamline growth, clip sweep, warp oscillation, etc.), output as MP4, WebM, GIF, or PNG framessplit_animate— Synchronized multi-pane animations combining 3D views and time-series graphs
Comparison & Composition
compare— Side-by-side or difference-map comparison of two datasets with shared colorbarcompose_assets— Compose assets into story, grid, slides, or video layouts (supports LaTeX equations)
Export
preview_3d— Export to glTF/glB for interactive 3D viewing in a browser
Key Highlights
Supports 50+ formats: OpenFOAM, VTK, CGNS, Exodus, STL, glTF, and more
Fully headless (EGL/OSMesa) — no display server needed
Compatible with Claude Code, Cursor, Windsurf, Gemini CLI, and any MCP client
Covers 10+ scientific domains: CFD, FEA, medical imaging, geoscience, molecular, automotive, and more
Supports exporting cinematic 3D visualizations and physics-based animations of simulation data to the glTF format for high-fidelity rendering and web display.
Enables the generation of scientific data summaries and publication-ready visualization outputs in LaTeX format for use in technical reports and papers.
viznoir
VTK is all you need. Cinema-quality science visualization for AI agents.

One prompt → physics analysis → cinematic renders → LaTeX equations → publication-ready story.
What it does
An MCP server that gives AI agents full access to VTK's rendering pipeline — no ParaView GUI, no Jupyter notebooks, no display server. Your agent reads simulation data, applies filters, renders cinema-quality images, and exports animations, all headless.
Works with: Claude Code · Cursor · Windsurf · Gemini CLI · any MCP client
Related MCP server: HoloViz MCP Server
Quick Start
1. Install
pip install viznoir
# With optional extras
pip install "viznoir[mesh]" # meshio + trimesh (50+ formats)
pip install "viznoir[composite]" # Pillow + matplotlib (split_animate)
pip install "viznoir[all]" # everythingRequires Python ≥3.10. VTK wheel auto-installed (EGL headless rendering supported).
2. Verify
mcp-server-viznoir --help # server entry point
python -c "import viznoir; print(viznoir.__version__)"3. Use with an MCP client
Add to your MCP client config (claude_desktop_config.json, ~/.cursor/mcp.json, etc.):
{
"mcpServers": {
"viznoir": {
"command": "mcp-server-viznoir",
"env": {
"VIZNOIR_DATA_DIR": "/path/to/your/simulation/data",
"VIZNOIR_OUTPUT_DIR": "/path/to/output"
}
}
}
}Then ask your AI agent:
"Open cavity.foam, render the pressure field with cinematic lighting, then create a physics decomposition story."
4. Or use as a Python library (advanced)
All tool implementations are importable as async functions. You provide a VTKRunner and await the result:
import asyncio
from viznoir.core.runner import VTKRunner
from viznoir.tools.inspect import inspect_data_impl
from viznoir.tools.render import render_impl
async def main():
runner = VTKRunner()
meta = await inspect_data_impl(file_path="cavity.foam", runner=runner)
print(meta["fields"], meta["timesteps"])
result = await render_impl(
file_path="cavity.foam",
field_name="p",
runner=runner,
colormap="Cool to Warm",
camera="isometric",
width=1920, height=1080,
output_filename="pressure.png",
)
print(result.file_path)
asyncio.run(main())See docs for the full tool reference.
Capabilities
Category | Tools |
Rendering |
|
Filters |
|
Analysis |
|
Probing |
|
Animation |
|
Comparison |
|
Export |
|
22 tools · 12 resources · 4 prompts · 50+ file formats (OpenFOAM, VTK, CGNS, Exodus, STL, glTF, …)
Showcase — 10 Domains, One Pipeline
Every frame below is a single MCP tool call. No GUI, no post-processing, no ParaView. Annotations are rendered inside the 3D scene via VTK-native text actors and leader lines — no Photoshop, no matplotlib overlay.
|
|
|
|
|
Medical CT skull volume | CFD Combustion streamlines | Thermal Heatsink gradient | Geoscience Seismic wavefield | Automotive DrivAerML · 8.8M cells |
|
|
|
|
|
Molecular H₂O electron density | Vascular Cerebral aneurysm MRA | Planetary Bennu · 196K triangles | Structural Cantilever FEA stress | Volume Thermal threshold |
Physics-Aware Animations
Seven presets convert raw simulation data into publication-ready motion — each binds a rendering primitive to a physical phenomenon.
Preset | Physics | Rendering |
| Lagrangian advection | Particle path-line extension over time |
| Pressure gradient cross-section | Moving clip plane |
| CT density classification | Progressive isosurface stacking |
| Orbital topology | Isovalue sweep with camera orbit |
| Structural mode shape | Warp-by-vector harmonic displacement |
| Oblique illumination | Rotating key light for material reveal |
| Feature hierarchy | Threshold peeling from outside → in |
Story Composition (compose_assets)

Inspect → render → annotate → compose → narrate. One prompt produces a 4-panel physics decomposition with LaTeX-rendered governing equations.
Layouts: story (vertical narrative) · grid (N×M comparison) · slides (16:9 keynote) · video (MP4 with transitions)
Full interactive gallery: https://kimimgo.github.io/viznoir/#showcase
Architecture
prompt "Render pressure from cavity.foam"
│
MCP Server 22 tools · 12 resources · 4 prompts
│
VTK Engine readers → filters → renderer → camera
│ EGL/OSMesa headless · cinematic lighting
Physics Layer topology analysis · context parsing
│ vortex detection · stagnation points
Animation 7 physics presets · easing · timeline
│ transitions · compositor · video export
Output PNG · WebP · MP4 · GLTF · LaTeXNumbers
22 MCP tools | 24 VTK filters |
10 domains | 19 native file formats |
6/6 VTK data types | 50+ formats via meshio |
Documentation
Homepage: kimimgo.github.io/viznoir
Developer docs: kimimgo.github.io/viznoir/docs — full tool reference, domain gallery, architecture guide
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityFmaintenanceIntegrates multimodal large language models with ParaView to enable the creation and manipulation of scientific visualizations using natural language and visual inputs. It features visual feedback capabilities for iterative refinement, making advanced visualization workflows accessible through intelligent automation.Last updated57BSD 3-Clause
- Alicense-qualityBmaintenanceLet AI agents create interactive visualizations that render live inside your chat — no code required.Last updated1BSD 2-Clause "Simplified"
- Alicense-qualityCmaintenanceEnables natural language-driven ANSYS simulations (Fluent, Mechanical, Geometry) with automatic TUI script generation for reproducibility.Last updated5MIT
- Alicense-qualityDmaintenanceEnables scientific data introspection and visualization of VTK datasets with format-adaptive metadata extraction and interactive 3D visualization through MCP tools.Last updated1MIT
Related MCP Connectors
AI visual generation agent: multi-pipeline rendering, prompt crafting, and image composition.
DXF drawings for AI agents: structured facts, PNG renders, and an interactive in-chat viewer.
Build, validate, and deploy multi-agent AI solutions from any AI environment.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kimimgo/viznoir'
If you have feedback or need assistance with the MCP directory API, please join our Discord server









