Skip to main content
Glama

analyze_mesh_geometry

Read-only

Analyze 3D mesh geometry to spot printability issues before slicing: volume, surface area, overhangs, connected components, degenerate triangles, and a mesh check score.

Instructions

Deep geometric and printability analysis of a 3D mesh.

        Goes beyond basic validation to compute volume, surface area,
        center of mass, overhang detection, connected components (floating
        parts), degenerate triangles, and ``mesh_check_score`` (0-100), a
        quick mesh check.  It is not the printability score: call
        ``analyze_printability`` for that grade.

        Use this after generating a model to understand its geometry and
        identify printability issues before sending to the slicer.

        For a STEP/STP CAD file this converts it first and every metric
        below is measured on Kiln's mesh copy — except an added ``exact``
        block, which carries the volume, surface area and envelope read
        from the CAD file's own surfaces.  Those two disagree slightly
        and the exact ones are the part's: quote ``exact`` when telling
        a user how big their CAD part is.  ``mesh_quality_scorecard``
        gives the same file a fuller intake report.

        A mesh of more than one body also gets ``body_pairs``: for each
        pair of bodies, nearest first, the smallest gap between them in
        mm and, where two overlap, the volume they share (they print
        fused).  It is what a print-in-place part (gears in a ring, a
        pin in its knuckles) is designed against.  Bodies are numbered
        as the fusion findings number them, and each one's centre, box
        and volume say which part it is.

        :param file_path: Path to a mesh (.stl, .obj, .glb, .3mf) or a CAD
            file (.step, .stp), which is converted automatically.
        :returns: Dict with full mesh analysis metrics, plus ``exact``
            for CAD input and ``body_pairs`` for a mesh of several bodies.
        

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "file_path": "<file_path>"
    },
    "name": "analyze_mesh_geometry"
  }
}

Input Schema

NameRequiredDescriptionDefault
file_pathYesPath to a mesh (.stl, .obj, .glb, .3mf) or a CAD file (.step, .stp), which is converted automatically.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.5.1
    • addedInput schema / properties / file_path / description
      Added value: +"Path to a mesh (.stl, .obj, .glb, .3mf) or a CAD file (.step, .stp), which is converted automatically."
  2. First observedv0.1.0

TDQS

A4.2/5.0
Behavior3/5

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

The description adds real behavioral detail beyond the annotations: CAD files are auto-converted and measured on Kiln's mesh copy except for the added `exact` block, which comes from the CAD surfaces and may disagree slightly, with explicit instruction to quote `exact` for CAD part dimensions. It also explains that multi-body meshes gain `body_pairs` and how bodies are numbered and identified. Remaining gaps are minor, and the read-only, non-destructive profile is already fully covered by the annotations.

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

Conciseness4/5

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

Front-loaded with purpose and the sibling exclusion, then progressively deeper detail, which is good ordering. It is longer than average and carries some expendable phrasing (the print-in-place parenthetical, the em-dash aside), but every paragraph conveys information an agent would otherwise lack.

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

Completeness5/5

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

There is no output schema, so the description must carry return semantics — and it does, naming the metric set, the `exact` block for CAD input, and `body_pairs` for multi-body meshes. For a single-parameter read-only analysis tool, nothing an agent needs in order to call it correctly or interpret the result is missing.

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

Parameters3/5

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

With a single parameter at 100% schema coverage, the schema already documents `file_path`, and the description essentially restates it (supported extensions and automatic CAD conversion). The added value is mostly in return-value semantics (`exact`, `body_pairs`) rather than parameter meaning, so the baseline of 3 is appropriate.

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

Purpose5/5

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

Opens with a specific verb and resource ('Deep geometric and printability analysis of a 3D mesh') and then enumerates the exact metrics computed (volume, surface area, center of mass, overhang, connected components, degenerate triangles, mesh_check_score). It explicitly distinguishes itself from two similarly named siblings: 'It is not the printability score: call analyze_printability for that grade' and 'mesh_quality_scorecard gives the same file a fuller intake report.'

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

Usage Guidelines5/5

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

Gives a concrete when-to-use: 'Use this after generating a model to understand its geometry and identify printability issues before sending to the slicer.' It also names the alternatives and the conditions that route to them — analyze_printability for the printability grade, mesh_quality_scorecard for a fuller intake report — so an agent never has to guess between the three.

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

Deploy Server

Other Tools