techhand-print-fab
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FAB_DATA_DIR | No | Directory for project data. Defaults to `~/.local/share/techhand-print-fab` when unset. Can be overridden with `--data-dir`. | |
| OPENSCAD_BIN | No | Path to the OpenSCAD binary. If unset, the server looks for `openscad` on `PATH`. | |
| FAB_EXPORT_ROOTS | No | OS path separator-separated list of directories where exported output paths must reside. Optional. | |
| FAB_IMPORT_ROOTS | No | OS path separator-separated list of root directories used for importing `.scad` files. Optional. | |
| USER_TNT_COMMAND | No | Command line override for the `user-tnt` binary, split like a command line (e.g. `user-tnt --verbose`). Optional, used only when the TNT bridge is enabled. | |
| TECHHAND_FAB_ENABLE_TNT | No | Set to `1` to enable the optional TNT bridge (`fab_attach_to_ticket` tool). If unset or not `1`, the bridge is disabled. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| fab_create_projectA | Create a local project directory. Does not talk to a printer or to TNT. |
| fab_list_partsA | List parts already generated in a project. |
| fab_param_modelA | Generate OpenSCAD and, by default, a CadQuery script from params JSON. OpenSCAD is the primary backend. The CadQuery file is source to run later with CadQuery installed; this server does not execute it. No mesh is sent to a printer. |
| fab_export_stlA | Write a binary STL. Dry-fire: the file is not sent to a printer. |
| fab_export_3mfA | Write a geometry-only 3MF mesh. Not a Bambu project and not a sliced job. |
| fab_dfm_checkA | Heuristics for wall thickness, holes, overhang, clearance, and X1C bed size. Notes are for a human reviewing an FDM print. Nothing is sliced or printed. |
| fab_x1c_profile_notesA | Starting nozzle, bed, fan, and drying notes for a Bambu X1 Carbon class setup. These are notes to type into Orca or Bambu Studio. This tool does not apply a profile and does not start a print. |
| fab_bom_sketchA | Rough filament mass and fastener guesses from part metadata. Not a quote. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool targets a distinct step in the fabrication workflow: project setup, model generation, mesh export, DFM analysis, printer notes, and BOM estimation. Even the two export tools are clearly differentiated by format and description.
The fab_ prefix is consistent, and most names are readable, but conventions are mixed: list_parts, create_project, export_stl, and export_3mf follow verb_noun, while param_model, dfm_check, x1c_profile_notes, and bom_sketch are noun-oriented names. This is a noticeable pattern break, though not chaotic.
Eight tools is well-scoped for a pre-print fabrication helper covering project setup, parametric model generation, exports, DFM checks, printer notes, and BOM sketching. Each tool has a clear role without redundancy.
The surface covers the main generation-to-export-to-check workflow well, including STL/3MF output and practical fabrication guidance. Minor gaps exist, such as no delete/update operations for projects or parts, but these are not critical for the stated dry-fire design purpose.