Skip to main content
Glama

import_step_file

Import a STEP CAD file and convert it for 3D printing mesh workflows, exporting STL for single solids or color-preserving 3MF for assemblies.

Instructions

Import a STEP (.step/.stp) CAD file and convert it for Kiln's mesh pipeline.

        Converts STEP files using whichever backend is available (the
        OCCT kernel that ``kiln install-step-backend`` sets up, or an
        existing FreeCAD / Gmsh / CadQuery install).

        **The output format follows what the file carries.**  A plain
        single-solid STEP becomes an STL.  A STEP with part colours or
        multiple bodies becomes ONE 3MF that keeps each part's colour,
        name, and position — so a coloured CAD assembly arrives ready
        for a multi-material print instead of flattened grey.  Pass
        ``output_format="stl"`` or ``"3mf"`` to force either.

        Use ``check_step_support`` first to verify that a conversion
        backend is installed.  After conversion, use ``diagnose_mesh``
        or ``analyze_mesh_geometry`` to validate the output.

        If this returns ``code="NO_BACKEND"``, read the ``remedy`` field
        rather than guessing: when ``remedy.actionable_by_caller`` is
        True, tell the user to run ``remedy.command`` (``kiln
        install-step-backend``) — one command and it works.  When it is
        False the caller is on a hosted server and has nothing to
        install; say so plainly and suggest ``report_issue``.  Never
        hand a hosted user an install instruction.

        Args:
            brief_id: The saved goal's id from ``design_session``; pass it so
                this make joins the goal (recorded against it; Kiln Pro checks the
                result against it). Empty when there is no goal.
            file_path: Path to the STEP/STP file.
            output_format: ``"auto"`` (default — 3MF when colour or
                multiple bodies are present, else STL), ``"stl"``, or
                ``"3mf"``.
            merge_bodies: STL output only: if True, merge all bodies
                into one STL; if False, export each body separately.
                (3MF keeps bodies as separate named objects either way.)
            output_dir: Directory for output files.  Defaults to
                the STEP file's parent directory.

INLINE 3D STAGE: on success this tool opens Kiln's interactive 3D stage — an inline viewer panel the user can orbit, zoom, and turn over — in hosts that render MCP Apps panels (Kiln's hosted connection attaches a browser stage link for hosts that don't). Oversized meshes are decimated automatically for the stage; the PNG preview is the floor, not the whole experience.

MAKE DOORS: design_session, Kiln's front door for making an object, is not installed here (signed in to Kiln it runs on Kiln's servers). On this install compile_scad IS the make → preview → iterate loop: make it, show the preview, iterate.

Input Schema

NameRequiredDescriptionDefault
brief_idNoDefault: "".
file_pathYes
output_dirNo
merge_bodiesNoDefault: true.
output_formatNoDefault: "auto".

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv1.5.0
    • addedInput schema / properties / brief_id
      Added value: +{
      +  "description": "Default: \"\".",
      +  "title": "Brief Id",
      +  "type": "string"
      +}
    • removedInput schema / properties / merge_bodies / default
      Removed value: -true
    • addedInput schema / properties / merge_bodies / description
      Added value: +"Default: true."
    • removedInput schema / properties / output_dir / default
      Removed value: -null
    • removedInput schema / properties / output_format / default
      Removed value: -"auto"
    • addedInput schema / properties / output_format / description
      Added value: +"Default: \"auto\"."
  2. Changed1 schema field changedv1.3.0
    • changedInput schema / properties / output_format / default
      Previous value: -"stl"New value: +"auto"
  3. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

No annotations exist, yet the description carries the full burden well: it explains backend resolution (OCCT, FreeCAD, Gmsh, CadQuery), that output format auto-selects 3MF for colour/multi-body files, the NO_BACKEND error contract with the remedy.actionable_by_caller branch, and the side effect of opening an interactive 3D stage with automatic decimation.

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?

Well front-loaded: purpose, then format behavior, then workflow, then error handling, then args. However the trailing 'INLINE 3D STAGE' and especially the 'MAKE DOORS' paragraph about design_session and compile_scad are tangential to importing a STEP file and dilute focus.

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?

Given no output schema and no annotations, the description covers setup, format selection, error paths, and the destination/output_dir default well. It never states what a successful call actually returns (output file path? the 3MF/STL location? a mesh id?), which is the remaining gap for an agent chaining steps.

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

Parameters5/5

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

Schema coverage is only 60% and the schema descriptions are bare ('Default: "auto"'), so the description does the real work: it defines brief_id's purpose and empty-string default, explains output_format's three modes with their auto-selection logic, and scopes merge_bodies to STL output only while noting 3MF keeps bodies separate regardless.

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?

States a specific verb and resource ('Import a STEP (.step/.stp) CAD file and convert it for Kiln's mesh pipeline') and immediately clarifies what the output becomes. An agent can distinguish this from check_step_support, step_file_info, or export_step without opening any schema.

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?

Explicit prerequisites and follow-ups: 'Use check_step_support first' and 'After conversion, use diagnose_mesh or analyze_mesh_geometry'. It does not, however, state when NOT to use it—e.g. versus import_external_mesh or import_model_parts, which are adjacent import siblings.

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