viznoir

السجل الرسمي الذكاء الاصطناعي والوكلاء

Cinema-quality science visualization for AI agents — headless VTK via MCP.

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

PYPI package viznoir
Claude Code
claude mcp add viznoir -e 'VIZNOIR_RENDER_BACKEND=<VIZNOIR_RENDER_BACKEND>' -e 'VIZNOIR_OUTPUT_DIR=<VIZNOIR_OUTPUT_DIR>' -- uvx viznoir==0.10.1
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "viznoir": {
            "command": "uvx",
            "args": [
                "viznoir==0.10.1"
            ],
            "env": {
                "VIZNOIR_RENDER_BACKEND": "<VIZNOIR_RENDER_BACKEND>",
                "VIZNOIR_OUTPUT_DIR": "<VIZNOIR_OUTPUT_DIR>"
            }
        }
    }
}

متغيرات البيئة

  • VIZNOIR_RENDER_BACKEND Rendering backend: gpu, cpu, or auto
  • VIZNOIR_OUTPUT_DIR Output directory for rendered images

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. viznoir
  2. What it does
  3. Quick Start
  4. Capabilities
  5. Showcase — 10 Domains, One Pipeline
  6. Architecture
  7. Numbers
  8. Documentation
  9. License

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

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.

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

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)

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

الأسئلة الشائعة

ما هو viznoir؟

Cinema-quality science visualization for AI agents — headless VTK via MCP.

كيف أثبّت viznoir؟

يعمل على جهازك. في Claude Code: claude mcp add viznoir -e 'VIZNOIR_RENDER_BACKEND=<VIZNOIR_RENDER_BACKEND>' -e 'VIZNOIR_OUTPUT_DIR=<VIZNOIR_OUTPUT_DIR>' -- uvx viznoir==0.10.1. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج viznoir إلى مفتاح API؟

لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.

هل viznoir مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص MIT.

من يصون viznoir؟

ينشره kimimgo. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.