kimimgo/viznoir

๐Ÿ”ฌ Research
0 Views
0 Installs

๐Ÿ ๐Ÿ  ๐Ÿง - Cinema-quality science visualization MCP server for CFD/FEA/SPH. 22 tools for rendering, slicing, contouring, volume rendering, and animating OpenFOAM/VTK/CGNS data. Headless EGL/OSMesa.

Quick Install

One-Click IDE Configuration
claude_desktop_config.json
{
  "mcpServers": {
    "kimimgo-viznoir": {
      "command": "npx",
      "args": [
        "-y",
        "kimimgo-viznoir"
      ]
    }
  }
}
Or

Using an AI coding agent (Claude Code, Cursor, etc.)? Copy a ready-made prompt that tells it to fetch the setup instructions and install this server for you.

Documentation Overview

viznoir

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

CI PyPI Python License: MIT Mentioned in Awesome VTK


Science Storytelling

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

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

CategoryTools
Renderingrender ยท cinematic_render ยท batch_render ยท volume_render
Filtersslice ยท contour ยท clip ยท streamlines ยท pv_isosurface
Analysisinspect_data ยท inspect_physics ยท extract_stats ยท analyze_data
Probingplot_over_line ยท integrate_surface ยท probe_timeseries
Animationanimate ยท split_animate
Comparisoncompare ยท compose_assets
Exportpreview_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.

MedicalCFDThermalGeoscienceAutomotive
Medical
CT skull volume
CFD
Combustion streamlines
Thermal
Heatsink gradient
Geoscience
Seismic wavefield
Automotive
DrivAerML ยท 8.8M cells
MolecularVascularPlanetaryStructuralVolume
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.

PresetPhysicsRendering
streamline_growthLagrangian advectionParticle path-line extension over time
clip_sweepPressure gradient cross-sectionMoving clip plane
layer_revealCT density classificationProgressive isosurface stacking
iso_sweepOrbital topologyIsovalue sweep with camera orbit
warp_oscillationStructural mode shapeWarp-by-vector harmonic displacement
light_orbitOblique illuminationRotating key light for material reveal
threshold_revealFeature hierarchyThreshold peeling from outside โ†’ in

Story Composition (compose_assets)

Cavity Story

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 ยท LaTeX

Numbers

22 MCP tools24 VTK filters
10 domains19 native file formats
6/6 VTK data types50+ 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

Related MCP Servers

Agnuxo1/benchclaw-integrations

๐Ÿ“‡ โ˜๏ธ - Register LLMs/agents and submit research papers (Markdown) to the BenchClaw leaderboard. Papers are scored by a 17-judge Tribunal with 8 deception detectors across 10 dimensions. No API key required. Works with Claude Desktop, Cursor, Cline, Zed, Continue.dev.

๐Ÿ”ฌ Research0 views
ankitkapur1992-hlido/hlido-mcp

๐Ÿ“‡ โ˜๏ธ - Independent trust scores, claim audits, and comparisons for AI agents โ€” queryable by your agent over MCP. Hosted Cloudflare Worker at hlido.eu/mcp (no install). Returns a 0โ€“100 score, tier verdict, per-claim PASS/FAIL audit, and signed evidence for a reviewed agent. From Hlido.

๐Ÿ”ฌ Research0 views
archoor/painspotter-mcp

๐Ÿ โ˜๏ธ - AI-analyzed startup & product opportunities mined from Reddit, Hacker News, Product Hunt & Stack Exchange. Query pain points, trending themes, and commercial scores (pain intensity, willingness-to-pay, build difficulty). Remote hosted MCP at painspotter.ai โ€” free tier covers overview + opportunity detail; Pro unlocks search, trending themes & theme-level market signals.

๐Ÿ”ฌ Research0 views
BrowseAI-HQ/BrowserAI-Dev

๐Ÿ“‡ โ˜๏ธ - Evidence-backed web research for AI agents. Real-time search with cited claims, confidence scores, and compare mode (raw LLM vs evidence-backed). MCP server, REST API, and Python SDK.

๐Ÿ”ฌ Research0 views

Engagement

Views
0
Installs
0
Upvotes
0

Views and upvotes are unique per visitor network (hashed IP). Installs count copy actions.

Status

Health: Not checked yet

We have not completed a health check for this listing yet.

No check timestamp yet.

Unclaimed listing (imported or pending owner verification). Claim it โ†’
โ˜… Spotlight Slot

Feature Your MCP Server

Get maximum visibility for your server across our directory, search results, and detail pages.

Spotlight Your Server

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to get the verified badge and attach your website.

Claim this listing

Promote this listing

Optional paid placement. Free listings stay free forever.

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.