Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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:
Quality presets:
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:
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:
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:
Asset types (each item in the assets list):
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
| Name | Description |
|---|---|
| cfd_postprocess | CFD post-processing guide. Choose simulation_type: external_aero, internal_flow, multiphase, thermal, general. |
| fea_postprocess | FEA post-processing guide. Choose analysis_type: static, modal, fatigue, contact. |
| visualization_guide | Visualization best practices guide. |
| story_planning | Guide for creating a data-driven story from analyze_data results. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| formats_resource | Supported file formats with reader mappings. |
| filters_resource | All available filters with parameter schemas and usage examples. |
| colormaps_resource | Color map presets and recommended usage per field type. |
| representations_resource | Available representation types and when to use each. |
| case_presets_resource | Rendering 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_resource | Camera presets, auto-camera, and custom configuration guide. |
| cinematic_resource | Cinematic rendering options — lighting, materials, backgrounds, quality. |
| cfd_pipelines_resource | CFD post-processing pipeline examples. |
| split_animate_pipelines_resource | Split-pane animation examples — multi-view synchronized GIF output. |
| fea_pipelines_resource | FEA post-processing pipeline examples. |
| physics_defaults_resource | Physics-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_resource | Scene templates, narrative patterns, and annotation styles for science storytelling. |