Skip to main content
Glama
NovaSolver Studio MCP Server

NovaSolver Studio MCP Server

Official
by novasolver

import_geometry

Create a simulation case by importing STEP, IGES, BREP, or STL geometry, then list faces with area and centroid so you can assign boundary roles for structural, thermal, flow, or electrical analysis.

Instructions

Create a case from a CAD file on this computer (STEP .step/.stp, IGES .iges/.igs, BREP .brep, or a mesh STL .stl such as a Blender export). STEP/IGES/BREP carry their own units; for STL say the units the file was written in (Blender exports metres unless the scene unit scale was changed; most CAD STL exports are mm). Returns the faces with number, surface type, area and centroid so you can pick which faces to fix, load, heat or cool (by position: e.g. the face with the lowest centroid z is the bottom). Then set roles with update_case using paths like boundaries.f12.role. physics: structural (free, fixed, symmetry = flat cut face normal to x/y/z: only the normal displacement is held, so a half/quarter/eighth model of a symmetric part needs far fewer elements; constraint = components "x"/"xy"/... held at zero on any face, e.g. a guide or slider; load = force + direction, pressure) | thermal (insulated, temperature, heat-flux, convection = h + tinf) | flow = internal flow, the solid is the fluid volume (wall, inlet = speed, outlet; one inlet and one outlet at least) | external = flow around the part (faces are wall; set flow.speed and flow.direction) | electrostatic = open, voltage, surface-charge (charge in C/m2); current = insulated, voltage, current (total A). At least one voltage face is required. Current optionally couples to Joule heating (physics.joule_heating, default true); set boundaries..thermal.role and its temperature/flux/h/tinf as in thermal. Set eps_r or sigma per material/body. conjugate = water through solids, two or more bodies (bodies..role fluid|solid, bodies..material; fluid faces water-wall, water-inlet = speed + temperature, water-outlet; solid faces as thermal).

Input Schema

NameRequiredDescriptionDefault
pathYes
unitsNomm
physicsYes
languageNoja

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare this is a non-read-only, non-idempotent, non-destructive, closed-world operation, and the description adds behavior the annotations do not: unit inference per format, the concrete return payload (faces with area and centroid), and the downstream workflow via update_case. It stops short of saying whether importing into an existing case overwrites or merges faces, which is the main remaining risk for an idempotent=false tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and return value are correctly front-loaded, and there is little filler, but it is a single unbroken paragraph that crams the entire physics/role taxonomy — arguably update_case's domain — into an import tool's description, making it hard to scan. Inline path syntax like 'boundaries.f12.role' and 'bodies.<key>.role' would be better placed in the tools that consume them.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by describing the returned face table and its centroid-based ordering tip, and it covers format/unit edge cases and the follow-on role-assignment step. Only the undocumented language parameter keeps it from being fully complete for a four-parameter creation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must carry all meaning, and it does for three of four parameters: path via the format list, units via the STL-vs-STEP/IGES/BREP rule plus Blender-metres and CAD-mm conventions, and physics via a detailed enumeration of all seven values including required boundary roles. The language parameter (default 'ja') is never mentioned, leaving one gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource: 'Create a case from a CAD file on this computer', enumerates the supported formats, and states what it returns (faces with number, surface type, area, centroid). It does not explicitly contrast itself with the nearby import_case or create_case siblings, so the boundary with those tools must be inferred from the file-based framing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete when-to guidance: use this for geometry import, then set face roles with update_case, and it explains which physics choice applies to which physical situation (structural vs thermal vs flow vs external vs electrostatic vs current vs conjugate). What it lacks is an explicit exclusion — e.g. when to use import_case or create_case instead — so an agent facing an already-meshed or saved case has no stated rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.