Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
inspect_data

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.

Args: file_path: Path to the simulation file (e.g., /data/cavity.foam, /data/beam.vtu)

render

Render a field visualization and return a PNG screenshot.

Args: file_path: Path to simulation file field_name: Name of the field to visualize (e.g., "p", "U", "T") association: "POINTS" or "CELLS" colormap: Color map preset (e.g., "Cool to Warm", "Viridis", "Jet") camera: Camera preset — isometric, top, front, right, left, back scalar_range: [min, max] for color scale, None for auto purpose: Resolution preset — "analyze" (480p), "preview" (720p), "publish" (1080p) width: Override width in pixels (must set both width and height, or neither) height: Override height in pixels (must set both width and height, or neither) timestep: Specific timestep, "latest", or None for first blocks: Multiblock region names to include output_filename: Output PNG filename (e.g., "snapshot_press.png")

slice

Create a slice (cut plane) visualization.

Args: file_path: Path to simulation file field_name: Field to visualize on the slice origin: Slice plane origin [x, y, z] normal: Slice plane normal [nx, ny, nz] colormap: Color map preset camera: Camera preset purpose: Resolution preset — "analyze" (480p), "preview" (720p), "publish" (1080p) width: Override width in pixels (must set both width and height, or neither) height: Override height in pixels (must set both width and height, or neither) timestep: Timestep selection

contour

Create an iso-surface (contour) visualization.

Args: file_path: Path to simulation file field_name: Field for iso-surface extraction isovalues: List of iso-values to extract colormap: Color map preset camera: Camera preset purpose: Resolution preset — "analyze" (480p), "preview" (720p), "publish" (1080p) width: Override width in pixels (must set both width and height, or neither) height: Override height in pixels (must set both width and height, or neither) timestep: Timestep selection

clip

Create a clipped visualization.

Args: file_path: Path to simulation file field_name: Field to visualize origin: Clip plane origin [x, y, z] normal: Clip plane normal [nx, ny, nz] invert: If True, keep the other side colormap: Color map preset camera: Camera preset purpose: Resolution preset — "analyze" (480p), "preview" (720p), "publish" (1080p) width: Override width in pixels (must set both width and height, or neither) height: Override height in pixels (must set both width and height, or neither) timestep: Timestep selection

streamlines

Create a streamline visualization for vector fields.

Args: file_path: Path to simulation file vector_field: Name of the vector field (e.g., "U") seed_point1: Start of seed line [x, y, z] seed_point2: End of seed line [x, y, z] seed_resolution: Number of seed points max_length: Maximum streamline length colormap: Color map preset camera: Camera preset purpose: Resolution preset — "analyze" (480p), "preview" (720p), "publish" (1080p) width: Override width in pixels (must set both width and height, or neither) height: Override height in pixels (must set both width and height, or neither) timestep: Timestep selection

plot_over_line

Sample field values along a line between two points.

Returns coordinate arrays and field values for plotting.

Args: file_path: Path to simulation file field_name: Field to sample point1: Start point [x, y, z] point2: End point [x, y, z] resolution: Number of sample points timestep: Timestep selection

extract_stats

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

Args: file_path: Path to simulation file fields: List of field names to analyze timestep: Timestep selection blocks: Multiblock region names

integrate_surface

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

Args: file_path: Path to simulation file field_name: Field to integrate (e.g., "p", "wallShearStress") boundary: Boundary/block name to extract (e.g., "wall", "inlet") timestep: Timestep selection

animate

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.

Args: file_path: Path to simulation file (or first file in series) field_name: Field to visualize mode: "timesteps" for time series, "orbit" for camera rotation colormap: Color map preset camera: Camera preset (used for initial view in orbit mode) fps: Frames per second (15-60) time_range: [start, end] physics time range, None for all speed_factor: Playback speed multiplier (1.0=real-time) orbit_duration: Orbit video length in seconds (orbit mode only) width: Frame width height: Frame height files: Explicit list of file paths for VTK time series file_pattern: Glob pattern for file series (e.g., "/data/PartFluid_*.vtk") output_format: Output format — "frames" (PNG only), "mp4", "webm", or "gif" video_quality: Video CRF quality (lower=better, 18-28 typical, default 23) text_overlay: Text to overlay on video frames (e.g., case name)

split_animate

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.

Pane types: - "render": 3D visualization with field coloring, camera, and filters - "graph": Time-series plot (requires optional 'composite' dependencies)

Example panes: [ {"type": "render", "row": 0, "col": 0, "render_pane": {"render": {"field": "alpha.water"}, "title": "Water"}}, {"type": "render", "row": 0, "col": 1, "render_pane": {"render": {"field": "p_rgh", "colormap": "Viridis"}}}, {"type": "graph", "row": 1, "col": 0, "graph_pane": {"series": [{"field": "alpha.water", "stat": "mean"}], "title": "Water Fraction"}} ]

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

pv_isosurface

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.

Args: bi4_dir: Directory containing bi4 data files output_dir: Directory for output VTK surface mesh files vars: Variable selection (e.g., "+vel,+press,+rhop") only_type: Particle type filter (e.g., "+fluid") docker_image: Docker image with IsoSurface tool

execute_pipeline

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.

Args: pipeline: Complete PipelineDefinition as JSON dict

cinematic_render

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

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

volume_render

Volume render 3D data (CT, MRI, CFD fields) with transfer function presets.

Presets: generic, ct_bone, ct_tissue, mri_brain, thermal, isosurface_like

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

compare

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

Args: file_a: Path to first simulation file file_b: Path to second simulation file field_name: Field to compare (None for auto-detect) mode: Comparison mode — "side_by_side" or "diff" colormap: Color map preset for both panels quality: Rendering quality (draft/standard/cinematic) purpose: Resolution preset — "analyze" (480p), "preview" (720p), "publish" (1080p) width: Override total width in pixels (must set both width and height, or neither) height: Override height in pixels (must set both width and height, or neither) scalar_range: Shared [min, max] for consistent coloring (None for auto) timestep: Specific timestep, "latest", or None for first label_a: Label for first panel (displayed top-left) label_b: Label for second panel (displayed top-left) output_filename: Output PNG filename

probe_timeseries

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.

batch_render

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.

Args: file_path: Path to simulation file fields: List of field names to render colormap: Color map preset camera: Camera preset purpose: Resolution preset — "analyze" (480p), "preview" (720p), "publish" (1080p) width: Override width in pixels (must set both width and height, or neither) height: Override height in pixels (must set both width and height, or neither) timestep: Timestep selection quality: Rendering quality (draft/standard/cinematic)

preview_3d

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.

inspect_physics

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.

Args: file_path: Path to VTK/OpenFOAM/CGNS simulation file 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) probe_lines: Number of auto centerline probe lines (1-3) vortex_threshold: Q-criterion threshold for vortex detection

analyze_data

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

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

compose_assets

Compose multiple assets into a deliverable format.

Layout modes:

  • story: horizontal row of panels with title and labels (→ PNG)

  • grid: N×M grid layout (→ PNG)

  • slides: one slide per asset with centered image and label (→ PNG per slide)

  • video: animated sequence with transitions (→ MP4)

Asset types (each item in the assets list):

  • render: {"type": "render", "path": "/path/to/render.png", "label": "..."}

  • latex: {"type": "latex", "tex": "E = mc^2", "color": "FFFFFF", "label": "..."}

  • plot: {"type": "plot", "path": "/path/to/plot.png", "label": "..."}

  • text: {"type": "text", "content": "Plain text overlay", "label": "..."}

Transitions (for video layout scenes): fade_in, fade_out, dissolve, wipe_left, wipe_right, wipe_down, wipe_up

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

auto_postprocess

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.

Args: file_path: Path to simulation file (.foam, .vtu, .vtk, etc.) goal: "explore" (overview), "publish" (publication quality), "compare" (multi-field) max_iterations: Maximum refinement iterations (1-5)

Prompts

Interactive templates invoked by user choice

NameDescription
cfd_postprocessCFD post-processing guide. Choose simulation_type: external_aero, internal_flow, multiphase, thermal, general.
fea_postprocessFEA post-processing guide. Choose analysis_type: static, modal, fatigue, contact.
visualization_guideVisualization best practices guide.
story_planningGuide for creating a data-driven story from analyze_data results.

Resources

Contextual data attached and managed by the client

NameDescription
formats_resourceSupported file formats with reader mappings.
filters_resourceAll available filters with parameter schemas and usage examples.
colormaps_resourceColor map presets and recommended usage per field type.
representations_resourceAvailable representation types and when to use each.
case_presets_resourceRendering presets for simulation case types. Each preset defines recommended cameras, fields, colormaps, representations, and common filter chains for a domain: external_aero, internal_flow, multiphase, thermal, structural_fea, sph_particles.
cameras_resourceCamera presets, auto-camera, and custom configuration guide.
cinematic_resourceCinematic rendering options — lighting, materials, backgrounds, quality.
cfd_pipelines_resourceCFD post-processing pipeline examples.
split_animate_pipelines_resourceSplit-pane animation examples — multi-view synchronized GIF output.
fea_pipelines_resourceFEA post-processing pipeline examples.
physics_defaults_resourcePhysics-aware smart visualization defaults. Maps physical quantities to recommended colormap, camera, representation, and visualization techniques. Use these defaults when the user doesn't specify explicit visualization parameters — just provide the field name and the system will choose optimal settings. Fields detected: pressure, velocity, temperature, turbulence (k/epsilon/omega), stress, displacement, vof (alpha), vorticity, mesh quality, density, wall shear.
storytelling_resourceScene templates, narrative patterns, and annotation styles for science storytelling.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kimimgo/viznoir'

If you have feedback or need assistance with the MCP directory API, please join our Discord server