Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

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

Tools

Functions exposed to the LLM to take actions

NameDescription
convertA

Convert an STL/OBJ/PLY mesh into a STEP B-rep with fitted planes, cylinders, spheres, cones, and constant-radius fillets.

Args: input_path: path to the mesh file. output_path: STEP path to write (default: input with .step suffix). tol: fit tolerance in model units (~ mesh noise); default 0.1% of bbox diagonal. cylinders: also fit cylinders (holes, bosses, plane-plane fillets). spheres: also fit spheres (domes, spherical bosses). cones: also fit cones (chamfers, countersinks, tapered bosses). Returns the fidelity report (method, faces, deviation, volume error) and output path.

analyzeC

Segment a mesh and report detected surfaces without writing STEP.

reportC

Full Markdown fidelity report for converting this mesh.

to_cadqueryB

Write an editable parametric CadQuery script (.py) for a simple part.

Works for a box/plate base with rectangular pads, holes along X, Y, or Z (through, blind, counterbored, and countersunk when the axis is vertical), bosses along X, Y, or Z (straight, and drafted or chamfered when the axis is vertical), a fillet at the base of a vertical boss (boss_N_fillet), a round on a vertical hole rim (hole_N_rim_r, hole_N_bot_rim_r) and a blind-hole floor fillet (hole_N_floor_r), a straight extrusion of a 2D outline along X, Y, or Z, and a small boolean of those extrusions (intersection, or one minus a cut along another axis) with round through-holes, counterbores, and a few planar clips. Each dimension is a named parameter (e.g. hole_1_d = 6.0, extrude_len): edit it and run the script with Python to regenerate the part. Returns the parameters and the measured deviation of the script's output from the mesh. Returns an "error" key when the part is outside that vocabulary.

to_openscadA

Write an editable parametric OpenSCAD script (.scad) for a simple part.

Same parts as to_cadquery: a box/plate base with rectangular pads, holes and bosses along X, Y, or Z (countersink, draft, and chamfer only when the axis is vertical), one radius on the four vertical corners, a quarter-torus fillet on a vertical boss or hole (boss_N_fillet, hole_N_rim_r, hole_N_floor_r), a straight extrusion of a 2D outline, and a small boolean of those extrusions. Parameter names match the CadQuery script (hole_1_d, boss_1_h, fillet_r, boss_1_fillet, extrude_len, ...). Edit one and render in OpenSCAD. Returns the parameters, whether the openscad CLI verified the script against the mesh, and the measured deviation when it did. Without the openscad program the script is still written and verified is false. Returns an "error" key when the part is outside that vocabulary.

to_freecadA

Write an editable parametric FreeCAD macro (.FCMacro) for a simple part.

Same parts as to_cadquery: a box/plate base with rectangular pads, holes and bosses along X, Y, or Z (countersink, draft, and chamfer only when the axis is vertical), one radius on the four vertical corners, a quarter-torus fillet on a vertical boss or hole (boss_N_fillet, hole_N_rim_r, hole_N_floor_r), a straight extrusion of a 2D outline, and a small boolean of those extrusions. Parameter names match the CadQuery script (hole_1_d, boss_1_h, fillet_r, boss_1_fillet, extrude_len, ...). Edit one and run the macro in FreeCAD, or with freecadcmd. Returns the parameters, whether freecadcmd verified the macro against the mesh, and the measured deviation when it did. Without freecadcmd the macro is still written and verified is false. Returns an "error" key when the part is outside that vocabulary.

list_paramsA

List the editable parameters of a CadQuery, OpenSCAD, or FreeCAD script mesh2cad generated.

Args: script_path: path to a .py, .scad, or .FCMacro file written by mesh2cad. Returns name, value, kind, and unit for each parameter. Outline and cutout point lists are included and are not single numbers. Returns an "error" key when the file is not a script mesh2cad generated.

edit_paramsA

Change named parameters in a script mesh2cad generated and re-render the solid.

Args: script_path: path to a .py, .scad, or .FCMacro file written by mesh2cad. changes: mapping of parameter name to a new number, or to a string that starts with + or - to add that delta (for example {"hole_1_d": 8, "base_x": "+2"}). output_path: STEP or STL to write. CadQuery and FreeCAD accept .step or .stl. OpenSCAD accepts .stl. When omitted, a .step (or .stl for OpenSCAD) is written next to the script if that backend is available. The script is updated in place. Every byte outside the replaced numbers stays the same. Unknown names are refused with the valid list. An edit that does not produce one valid solid, or a hole larger than the wall it sits in, is refused and nothing is written. Returns old and new values, the rendered path, validity, volume and bounding-box delta, and warnings. Returns an "error" key when the edit is refused or the backend needed for output_path is not available.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 8 tools

Disambiguation4/5

The two families are clearly split: convert produces a STEP B-rep by surface fitting, while to_cadquery/to_openscad/to_freecad emit editable parametric scripts for three distinct backends, and list_params/edit_params are obvious companions. The only mild overlap is analyze vs report, since both are read-only mesh analyses, though 'segments and lists surfaces' versus 'full Markdown fidelity report' distinguishes them.

Naming Consistency3/5

The set mixes three conventions: bare verbs (convert, analyze, report), a to_<backend> prefix group (to_cadquery, to_openscad, to_freecad), and verb_noun pairs (list_params, edit_params). Each name is readable and the groupings are intuitive, but there is no single predictable pattern an agent can extrapolate from.

Tool Count5/5

Eight tools is well within the sweet spot, and each one earns its place: one mesh-to-B-rep converter, three backend script generators, two script parameter operations, and two inspection tools. Nothing looks like filler or a redundant variant of another tool.

Completeness4/5

The core lifecycle is covered: analyze the mesh, convert to STEP, generate an editable script in three CAD ecosystems, then list and edit its parameters to re-render. Gaps are minor, e.g. no explicit verification/inspection tool for a written STEP file and no output-format choice for convert beyond STEP, but agents can work around these via edit_params or external tooling.

Maintenance

ActivityNo data
ResponsivenessSyncing