Featured

Deploy OpenClaw in 60 seconds β€” 20% off logoDeploy OpenClaw in 60 seconds β€” 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger β†’
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger β†’
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free β†’
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now β†’
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data β€” no proxies, no parsers, no maintenance.

Start building free β†’
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it β€” secured from day one.

Get it set up for you β†’
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free β†’
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here β†’

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

viznoir MCP server](https://glama.ai/mcp/servers/kimimgo/viznoir/badges/score.svg)](https://glama.ai/mcp/servers/kimimgo/viznoir) 🐍 🏠 🐧 - Cinema-quality science visualization MCP server for CFD/FEA/SPH.

README.md

viznoir

VTK is all you need. Cinema-quality science visualization for AI agents.

<!-- mcp-name: io.github.kimimgo/viznoir -->

![CI](https://github.com/kimimgo/viznoir/actions/workflows/ci.yml) ![PyPI](https://pypi.org/project/viznoir/) ![Python](https://pypi.org/project/viznoir/) ![License: MIT](https://github.com/kimimgo/viznoir/blob/main/LICENSE) ![Mentioned in Awesome VTK](https://github.com/tkoyama010/awesome-vtk)

<br>

<div align="center">

!Science Storytelling

One prompt β†’ physics analysis β†’ cinematic renders β†’ LaTeX equations β†’ publication-ready story.

</div>

<br>

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

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]"        # everything

Requires 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 | render Β· cinematic_render Β· batch_render Β· volume_render | | Filters | slice Β· contour Β· clip Β· streamlines Β· pv_isosurface | | Analysis | inspect_data Β· inspect_physics Β· extract_stats Β· analyze_data | | Probing | plot_over_line Β· integrate_surface Β· probe_timeseries | | Animation | animate Β· split_animate | | Comparison | compare Β· compose_assets | | Export | preview_3d Β· execute_pipeline |

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.

<div align="center">

| | | | | | |:-:|:-:|:-:|:-:|:-:| | !Medical | !CFD | !Thermal | !Geoscience | !Automotive | | Medical <br/> CT skull volume | CFD <br/> Combustion streamlines | Thermal <br/> Heatsink gradient | Geoscience <br/> Seismic wavefield | Automotive <br/> DrivAerML Β· 8.8M cells | | !Molecular | !Vascular | !Planetary | !Structural | !Volume | | Molecular <br/> Hβ‚‚O electron density | Vascular <br/> Cerebral aneurysm MRA | Planetary <br/> Bennu Β· 196K triangles | Structural <br/> Cantilever FEA stress | Volume <br/> Thermal threshold |

</div>

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 | |--------|---------|-----------| | streamline_growth | Lagrangian advection | Particle path-line extension over time | | clip_sweep | Pressure gradient cross-section | Moving clip plane | | layer_reveal | CT density classification | Progressive isosurface stacking | | iso_sweep | Orbital topology | Isovalue sweep with camera orbit | | warp_oscillation | Structural mode shape | Warp-by-vector harmonic displacement | | light_orbit | Oblique illumination | Rotating key light for material reveal | | threshold_reveal | Feature hierarchy | Threshold peeling from outside β†’ in |

Story Composition (compose_assets)

<div align="center">

!Cavity Story

Inspect β†’ render β†’ annotate β†’ compose β†’ narrate. One prompt produces a 4-panel physics decomposition with LaTeX-rendered governing equations.

</div>

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 Β· LaTeX

Numbers

| | | |---|---| | 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

See related servers & alternatives β†’

Related MCP servers

Browse all β†’

Related guides

Hand-picked reading to help you choose and use Cloud & DevOps servers.