
viznoir
io.github.kimimgoPublished by GitHub account kimimgov0.10.1Updated Oct 24, 2026
Cinema-quality science visualization for AI agents — headless VTK via MCP.
Overview
Headless VTK-based MCP server that lets an AI assistant read simulation data, filter it, and render cinematic scientific images, animations and story layouts.
- What you can do
- Render scientific data as images, including cinematic, batch and volume renders
- Apply filters such as slice, contour, clip, streamlines and isosurfaces
- Inspect datasets, extract statistics and analyze physics, plus probe along lines, surfaces and time series
- Create animations, including physics-aware presets, and compare or compose multi-panel story, grid, slide and video layouts
- Export previews and run custom pipelines, writing PNG, WebP, MP4, GLTF and LaTeX output
- When to use it
- Useful when an assistant needs to turn simulation or 3D scientific data (OpenFOAM, VTK, CGNS, STL and similar) into publication-ready figures, animations or comparison panels without opening ParaView or a Jupyter notebook.
- Requirements
- Runs locally over stdio as a PyPI package (viznoir) requiring Python 3.10 or newer; VTK is installed automatically and EGL headless rendering is supported. Optional extras add meshio/trimesh and Pillow/matplotlib. Environment variables VIZNOIR_DATA_DIR and VIZNOIR_OUTPUT_DIR point at input data and output; VIZNOIR_RENDER_BACKEND selects gpu, cpu or auto. Desktop only.
Installation
In SourceWeft
- Open viznoir in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
viznoir
VTK is all you need. Cinema-quality science visualization for AI agents.
[CI] [PyPI] [Python] [License: MIT] [Mentioned in Awesome VTK]
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
Quick Start
1. Install
Requires Python ≥3.10. VTK wheel auto-installed (EGL headless rendering supported).
2. Verify
3. Use with an MCP client
Add to your MCP client config (claude_desktop_config.json, ~/.cursor/mcp.json, etc.):
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:
See docs for the full tool reference.
Capabilities
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.
Physics-Aware Animations
Seven presets convert raw simulation data into publication-ready motion — each binds a rendering primitive to a physical phenomenon.
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
Numbers
Documentation
Homepage: kimimgo.github.io/viznoir
Developer docs: kimimgo.github.io/viznoir/docs — full tool reference, domain gallery, architecture guide
License
MIT
Source: README.md at commit e3255c0
Tools
0Version history
1- v0.10.1LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts