Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

viznoir

PYPI · VIZNOIR

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

Available components

−18 this week 66 Trust /100

Last scanned (7 hours ago)

Scores higher than 62% of PyPI servers

Category Health and Science

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security50
  • Malware scan not yet available for this package.Unverified
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs hatchling.build at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
  • 2 of 27 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 154 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability79
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 4936 tokens (~141/item across 35 items; 23 tools + 12 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management80
  • Stability observed for 24 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage98
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 94% of tool parameters carry a description.Partial
  • Structured output schemas are declared (48% of tools); any adoption earns full credit.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "execute_pipeline" implies "execute" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 25 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +4
    • Known CVEs: unverified → pass ▲ security
    • Stability: pass → 0.80 functional
  • 4 Nov 26 −7
    • Known CVEs: pass → unverified ▼ security
  • 2 Nov 26 −15
    • Malware scan: pass → unverified ▼ security
  • 30 Oct 26 0
    • Stability: 0.97 → pass security
  • 29 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
    • Stability: pass → 0.97 functional
  • 25 Oct 26 −15
    • Malware scan: pass → unverified ▼ security
  • 23 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
    • Stability: 0.97 → pass security
  • 22 Oct 26 −15
    • Malware scan: pass → unverified ▼ security
    • Stability: pass → 0.97 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed pypi/viznoir@0.10.1

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi
Reason No attestation published

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted hatchling.build

Background: Why install scripts are a supply-chain risk →

Dependencies 27 packages
Packages resolved 27
Stale 2
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 23 exposed · ~4,297 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
analyze_data ~110

[DEPRECATED — use inspect_physics instead] Analyze VTK/simulation data. This tool is deprecated. Use inspect_physics for structured physics data extraction with vortex detection, critical points, and solver metadata.

NameTypeReqDescription
domain––Physics domain hint — "cfd", "fea", "thermal" (None for auto-detect)
file_pathstringyesPath to VTK/OpenFOAM/CGNS file
focus––Analyze only this field (None for all fields)

Structured output declared, but exposes no named fields.

No examples provided.

animate ~401

Create an animation from time series data or camera orbit. Time mapping (timesteps mode): speed_factor=1.0: real-time (physics 1s = video 1s) speed_factor=5.0: 5x fast-forward speed_factor=0.2: 5x slow-motion (physics 1s = video 5s) For VTK file series (e.g., PartFluid_0000.vtk through PartFluid_0100.vtk), use 'files' with an explicit list or 'file_pattern' with a glob pattern.

NameTypeReqDescription
camerastring–Camera preset (used for initial view in orbit mode)
colormapstring–Color map preset
field_namestringyesField to visualize
file_pathstringyesPath to simulation file (or first file in series)
file_pattern––Glob pattern for file series (e.g., "/data/PartFluid_*.vtk")
files––Explicit list of file paths for VTK time series
fpsinteger–Frames per second (15-60)
heightinteger–Frame height
modestring–"timesteps" for time series, "orbit" for camera rotation
orbit_durationnumber–Orbit video length in seconds (orbit mode only)
output_formatstring–Output format — "frames" (PNG only), "mp4", "webm", or "gif"
speed_factornumber–Playback speed multiplier (1.0=real-time)
text_overlay––Text to overlay on video frames (e.g., case name)
time_range––[start, end] physics time range, None for all
video_qualityinteger–Video CRF quality (lower=better, 18-28 typical, default 23)
widthinteger–Frame width

Structured output declared, but exposes no named fields.

No examples provided.

auto_postprocess ~130

Autonomous post-processing: inspect → visualize → evaluate → refine. Analyzes the file, detects the simulation domain (CFD/FEA/SPH), and produces 3-5 visualizations automatically. With sampling-capable clients, evaluates results and refines parameters iteratively.

NameTypeReqDescription
file_pathstringyesPath to simulation file (.foam, .vtu, .vtk, etc.)
goalstring–"explore" (overview), "publish" (publication quality), "compare" (multi-field)
max_iterationsinteger–Maximum refinement iterations (1-5)

No output schema declared.

No examples provided.

batch_render ~188

Render multiple fields from the same dataset in one call. Returns a dict with images list, each containing field name and base64 PNG. Useful for comparing pressure, velocity, temperature, etc. side-by-side.

NameTypeReqDescription
camerastring–Camera preset
colormapstring–Color map preset
fieldsarrayyesList of field names to render
file_pathstringyesPath to simulation file
height––Override height in pixels (must set both width and height, or neither)
purposestring–Resolution preset — "analyze" (480p), "preview" (720p), "publish" (1080p)
qualitystring–Rendering quality (draft/standard/cinematic)
timestep––Timestep selection
width––Override width in pixels (must set both width and height, or neither)

Structured output declared, but exposes no named fields.

No examples provided.

cinematic_render ~507

Cinematic-quality rendering with auto-framing, 3-point lighting, SSAO, and PBR. Produces publication/presentation-quality images with: - PCA-based auto-camera: analyzes object shape and picks optimal viewing angle - 3-point cinematic lighting (key + fill + rim) - SSAO (Screen-Space Ambient Occlusion) for contact shadows - FXAA anti-aliasing - Gradient backgrounds - PBR material support (metallic/roughness) Quality presets: - draft: 960x540, no post-processing (fast preview) - standard: 1920x1080, SSAO + FXAA - cinematic: 1920x1080, all effects + ground plane - ultra: 3840x2160, all effects + ground plane - publication: 2400x1800, clean lighting, white background

NameTypeReqDescription
azimuth––Camera azimuth in degrees (None for auto from shape analysis)
background––Background preset (dark_gradient, light_gradient, blue_gradient, publication, None)
colormapstring–Color map preset (e.g., "Cool to Warm", "Viridis")
elevation––Camera elevation in degrees (None for auto from shape analysis)
field_name––Field to visualize (None for auto-detect)
file_pathstringyesPath to simulation file
fill_rationumber–How much of viewport the object fills (0.0-1.0, default 0.75)
fxaaboolean–Enable Fast Approximate Anti-Aliasing
ground_planeboolean–Add a semi-transparent ground plane for shadow catching
height––Override image height (None uses quality preset)
lighting––Lighting preset (cinematic, dramatic, studio, publication, outdoor, None)
metallicnumber–PBR metallic factor (0.0-1.0)
output_filenamestring–Output PNG filename
qualitystring–Rendering quality preset
roughnessnumber–PBR roughness factor (0.0-1.0)
scalar_range––[min, max] for color scale, None for auto
ssaoboolean–Enable Screen-Space Ambient Occlusion
timestep––Specific timestep, "latest", or None for first
width––Override image width (None uses quality preset)

No output schema declared.

No examples provided.

clip ~175

Create a clipped visualization.

NameTypeReqDescription
camerastring–Camera preset
colormapstring–Color map preset
field_namestringyesField to visualize
file_pathstringyesPath to simulation file
height––Override height in pixels (must set both width and height, or neither)
invertboolean–If True, keep the other side
normal––Clip plane normal [nx, ny, nz]
origin––Clip plane origin [x, y, z]
purposestring–Resolution preset — "analyze" (480p), "preview" (720p), "publish" (1080p)
timestep––Timestep selection
width––Override width in pixels (must set both width and height, or neither)

No output schema declared.

No examples provided.

compare ~331

Compare two simulation results side-by-side or as a difference map. Renders both datasets with identical camera, colormap, and scalar range for direct visual comparison. Essential for design comparison, mesh convergence studies, and solver validation. Modes: - side_by_side: Two panels with shared colorbar and consistent framing - diff: Absolute field difference map (|A - B|) rendered on dataset A's mesh

NameTypeReqDescription
colormapstring–Color map preset for both panels
field_name––Field to compare (None for auto-detect)
file_astringyesPath to first simulation file
file_bstringyesPath to second simulation file
height––Override height in pixels (must set both width and height, or neither)
label_astring–Label for first panel (displayed top-left)
label_bstring–Label for second panel (displayed top-left)
modestring–Comparison mode — "side_by_side" or "diff"
output_filenamestring–Output PNG filename
purposestring–Resolution preset — "analyze" (480p), "preview" (720p), "publish" (1080p)
qualitystring–Rendering quality (draft/standard/cinematic)
scalar_range––Shared [min, max] for consistent coloring (None for auto)
timestep––Specific timestep, "latest", or None for first
width––Override total width in pixels (must set both width and height, or neither)

No output schema declared.

No examples provided.

compose_assets ~147

Compose multiple assets into a deliverable format.

NameTypeReqDescription
assetsarrayyesList of asset definitions (dicts with 'type' and type-specific keys)
fpsinteger–Frames per second for video export (default 30)
heightinteger–Output height in pixels (default 1080)
layoutstring–Layout mode — "story", "grid", "slides", or "video"
scenes––Scene definitions for video layout (list of dicts with asset_indices, duration, transition)
title––Optional title text (used in story layout)
widthinteger–Output width in pixels (default 1920)

No output schema declared.

No examples provided.

contour ~157

Create an iso-surface (contour) visualization.

NameTypeReqDescription
camerastring–Camera preset
colormapstring–Color map preset
field_namestringyesField for iso-surface extraction
file_pathstringyesPath to simulation file
height––Override height in pixels (must set both width and height, or neither)
isovaluesarrayyesList of iso-values to extract
purposestring–Resolution preset — "analyze" (480p), "preview" (720p), "publish" (1080p)
timestep––Timestep selection
width––Override width in pixels (must set both width and height, or neither)

No output schema declared.

No examples provided.

execute_pipeline ~258

Execute a custom pipeline definition (advanced). Accepts a full PipelineDefinition JSON for maximum flexibility. This is the primary interface for CFD/FEA/CAE specialist agents. The pipeline JSON structure: { "source": {"file": "/data/file.foam", "timestep": "latest"}, "pipeline": [ {"filter": "Slice", "params": {"origin": [0,0,0], "normal": [1,0,0]}}, {"filter": "Calculator", "params": {"expression": "mag(U)", "result_name": "Umag"}} ], "output": { "type": "image", "render": {"field": "Umag", "colormap": "Viridis"} } } Available filters: Slice, Clip, Contour, Threshold, StreamTracer, Calculator, Gradient, IntegrateVariables, GenerateSurfaceNormals, ExtractBlock, ExtractSurface, WarpByVector, WarpByScalar, CellDatatoPointData, PlotOverLine, Glyph, ProgrammableFilter, Decimate, Triangulate. Output types: image, data, csv, animation, export, multi.

NameTypeReqDescription
pipelineobjectyesComplete PipelineDefinition as JSON dict

No output schema declared.

No examples provided.

extract_stats ~64

Extract statistical summary (min/max/mean/std) for fields.

NameTypeReqDescription
blocks––Multiblock region names
fieldsarrayyesList of field names to analyze
file_pathstringyesPath to simulation file
timestep––Timestep selection

Structured output declared, but exposes no named fields.

No examples provided.

inspect_data ~79

Inspect a simulation file and return metadata. Returns bounds, point/cell arrays with ranges, timestep info, and multiblock structure. Use this first to understand what data is available before rendering or extracting.

NameTypeReqDescription
file_pathstringyesPath to the simulation file (e.g., /data/cavity.foam, /data/beam.vtu)

Structured output declared, but exposes no named fields.

No examples provided.

inspect_physics ~199

Extract structured physics data for AI storytelling. Analyzes simulation data to extract: - L2 FieldTopology: vortex detection (Q-criterion), critical points, centerline profiles, gradient statistics per field - L3 CaseContext: boundary conditions, transport properties, solver info, mesh quality, derived quantities (Re, Ma, etc.) Returns structured JSON for LLM to build physics narratives. Replaces analyze_data with quantitative topology data instead of hardcoded heuristics.

NameTypeReqDescription
case_dir––OpenFOAM case directory for full solver metadata. If None, only mesh quality is extracted.
fields––Specific field names to analyze (None = all fields)
file_pathstringyesPath to VTK/OpenFOAM/CGNS simulation file
probe_linesinteger–Number of auto centerline probe lines (1-3)
vortex_thresholdnumber–Q-criterion threshold for vortex detection

Structured output declared, but exposes no named fields.

No examples provided.

integrate_surface ~88

Integrate a field over a surface to compute forces, areas, or fluxes.

NameTypeReqDescription
boundary––Boundary/block name to extract (e.g., "wall", "inlet")
field_namestringyesField to integrate (e.g., "p", "wallShearStress")
file_pathstringyesPath to simulation file
timestep––Timestep selection

Structured output declared, but exposes no named fields.

No examples provided.

plot_over_line ~102

Sample field values along a line between two points. Returns coordinate arrays and field values for plotting.

NameTypeReqDescription
field_namestringyesField to sample
file_pathstringyesPath to simulation file
point1arrayyesStart point [x, y, z]
point2arrayyesEnd point [x, y, z]
resolutioninteger–Number of sample points
timestep––Timestep selection

Structured output declared, but exposes no named fields.

No examples provided.

preview_3d ~80

Export dataset to glTF/glB for interactive 3D viewing in a browser. Returns the exported file path and a viewer URL hint. Requires VTK >= 9.4 with vtkGLTFExporter support.

NameTypeReqDescription
field_name–––
file_pathstringyes–
output_filenamestring––
timestep–––

Structured output declared, but exposes no named fields.

No examples provided.

probe_timeseries ~82

Sample a field value at a fixed point across timesteps. Useful for monitoring pressure/velocity at a sensor location over time. Returns dict with times and values arrays.

NameTypeReqDescription
field_namestringyes–
file_pathstringyes–
file_pattern–––
files–––
pointarrayyes–
time_range–––

Structured output declared, but exposes no named fields.

No examples provided.

pv_isosurface ~147

Run DualSPHysics IsoSurface to generate VTK surface mesh files. Converts bi4 particle data into VTK surface meshes (iso-surfaces). The output files can then be used with animate() or render() via SourceDef(files=[...]) for visualization.

NameTypeReqDescription
bi4_dirstringyesDirectory containing bi4 data files
docker_imagestring–Docker image with IsoSurface tool
only_typestring–Particle type filter (e.g., "+fluid")
output_dirstringyesDirectory for output VTK surface mesh files
varsstring–Variable selection (e.g., "+vel,+press,+rhop")

Structured output declared, but exposes no named fields.

No examples provided.

render ~252

Render a field visualization and return a PNG screenshot.

NameTypeReqDescription
associationstring–"POINTS" or "CELLS"
blocks––Multiblock region names to include
camerastring–Camera preset — isometric, top, front, right, left, back
colormapstring–Color map preset (e.g., "Cool to Warm", "Viridis", "Jet")
field_namestringyesName of the field to visualize (e.g., "p", "U", "T")
file_pathstringyesPath to simulation file
height––Override height in pixels (must set both width and height, or neither)
output_filenamestring–Output PNG filename (e.g., "snapshot_press.png")
purposestring–Resolution preset — "analyze" (480p), "preview" (720p), "publish" (1080p)
scalar_range––[min, max] for color scale, None for auto
timestep––Specific timestep, "latest", or None for first
width––Override width in pixels (must set both width and height, or neither)

No output schema declared.

No examples provided.

slice ~168

Create a slice (cut plane) visualization.

NameTypeReqDescription
camerastring–Camera preset
colormapstring–Color map preset
field_namestringyesField to visualize on the slice
file_pathstringyesPath to simulation file
height––Override height in pixels (must set both width and height, or neither)
normal––Slice plane normal [nx, ny, nz]
origin––Slice plane origin [x, y, z]
purposestring–Resolution preset — "analyze" (480p), "preview" (720p), "publish" (1080p)
timestep––Timestep selection
width––Override width in pixels (must set both width and height, or neither)

No output schema declared.

No examples provided.

split_animate ~205

Create a split-pane synchronized animation with multiple views. Render 2-4 panes in a grid layout, combining 3D visualizations with time-series graphs. All panes are timestep-synchronized and output as a single GIF or PNG sequence.

NameTypeReqDescription
file_pathstringyesPath to simulation file (PVD, foam, etc.)
fpsinteger–Frames per second (15-60)
gifboolean–Generate animated GIF (True) or PNG sequence only (False)
layout––Grid layout {"rows": 2, "cols": 2, "gap": 4}
panesarrayyesList of pane definitions (render or graph)
resolution––Total output [width, height] in pixels
speed_factornumber–Playback speed (1.0=real-time, 5.0=5x fast-forward)
time_range––[start, end] physics time range

No output schema declared.

No examples provided.

streamlines ~202

Create a streamline visualization for vector fields.

NameTypeReqDescription
camerastring–Camera preset
colormapstring–Color map preset
file_pathstringyesPath to simulation file
height––Override height in pixels (must set both width and height, or neither)
max_lengthnumber–Maximum streamline length
purposestring–Resolution preset — "analyze" (480p), "preview" (720p), "publish" (1080p)
seed_point1––Start of seed line [x, y, z]
seed_point2––End of seed line [x, y, z]
seed_resolutioninteger–Number of seed points
timestep––Timestep selection
vector_fieldstringyesName of the vector field (e.g., "U")
width––Override width in pixels (must set both width and height, or neither)

No output schema declared.

No examples provided.

volume_render ~225

Volume render 3D data (CT, MRI, CFD fields) with transfer function presets. Presets: generic, ct_bone, ct_tissue, mri_brain, thermal, isosurface_like

NameTypeReqDescription
background––Background preset
colormapstring–Color map preset
field_name––Scalar field to render, None for active scalars
file_pathstringyesPath to volumetric data (VTI, VTK structured grid, etc.)
height––Image height in pixels
lighting––Lighting preset
output_filenamestring–Output filename
qualitystring–Render quality (draft/standard/cinematic/ultra/publication)
scalar_range––[min, max] for color scale
timestep––Specific timestep, "latest", or None
transfer_presetstring–Opacity preset (ct_bone, ct_tissue, mri_brain, thermal, generic, isosurface_like)
width––Image width in pixels

No output schema declared.

No examples provided.

Install

How do I install the viznoir MCP server?

viznoir runs locally as a PyPI package, launched with uvx viznoir. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · viznoir

# add to Claude Code
claude mcp add kimimgo-viznoir -- uvx viznoir
Common questions

What is the viznoir MCP server?

viznoir is an MCP server listed in the public MCP registry as io.github.kimimgo/viznoir. Cinema-quality science visualization for AI agents, headless VTK via MCP. This page covers its PyPI package (viznoir).

Is the viznoir MCP server safe to use?

viznoir scores 66 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the viznoir MCP server expose?

viznoir exposes 23 tools: inspect_data, render, slice, contour, clip, and 18 more. Their descriptions and schemas cost roughly 4,297 tokens of context every time the server is loaded.

Is the viznoir MCP server still maintained?

viznoir is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the viznoir MCP server under?

viznoir declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.