freecad-print-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FREECAD_CMD | No | Path to the FreeCADCmd executable. Required only if FreeCAD is not found automatically (Windows example: C:\Program Files\FreeCAD 1.0\bin\FreeCADCmd.exe). | |
| FCMCP_OUTPUT_DIR | No | Directory where generated output files are written. |
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| freecad_statusA | Verifica se o FreeCADCmd foi encontrado, sua versão e a pasta de saída configurada. |
| freecad_runA | Executa um script Python dentro do FreeCAD headless e devolve exportações + medidas. O script já tem disponíveis: Exemplo mínimo: s = awcad.rounded_box(40, 30, 10, r=3, center=True) s = awcad.magnet_cavity(s, at=(10, 0, 10), d=5, h=2, axis=-awcad.Z) s = awcad.chamfer_bottom(s) awcad.export(s, "base-ima") name: prefixo do arquivo de script salvo em /_scripts para rastreabilidade. |
| freecad_run_fileB | Executa um arquivo .py local (ex.: examples/suporte_seringas_20ml.py) no FreeCAD headless, com |
| freecad_selftestA | Roda um script curto que exercita os principais helpers do awcad. Use após instalar para confirmar que tudo funciona. |
| awcad_referenceA | Documentação dos helpers |
| mesh_measureB | Mede um STL/3MF/OBJ: caixa envolvente, volume, massa estimada em PLA, faces, fechamento (watertight). |
| mesh_check_printabilityB | Checa imprimibilidade FDM: malha fechada, corpos separados, dimensões mínimas, área em balanço, contato com a mesa e ranking de orientações. Padrão: Bambu Lab A1 (256³), bico 0,4, camada 0,2. |
| mesh_renderA | Gera um PNG da malha para inspeção visual. views: lista separada por vírgula entre iso, top, bottom, front, back, left, right. |
| list_outputsB | Lista os arquivos mais recentes na pasta de saída (STL/3MF/STEP/PNG). |
| open_fileA | Abre o arquivo no aplicativo padrão do sistema (ex.: 3MF → Bambu Studio, FCStd → FreeCAD). |
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 10 tools
Most tools have clearly distinct purposes: status/self-test, script execution, helper docs, mesh analysis, and output management. There is some adjacency between freecad_run and freecad_run_file, and between mesh_measure and mesh_check_printability, but the descriptions make the intended use cases reasonably clear.
All names use snake_case, but the set mixes several prefix conventions: freecad_, awcad_, mesh_, and bare verb_noun names. Within groups it is readable, but it is not a single consistent verb_noun pattern throughout.
Ten tools is well-scoped for a FreeCAD print workflow. Each tool covers a distinct part of the lifecycle: setup, execution, reference, validation, mesh inspection, rendering, and output handling.
The core workflow is covered: run scripts, document helpers, self-test, measure/check/render meshes, list outputs, and open files. Minor gaps remain around output cleanup/deletion, job control, and richer file metadata, but normal agent workflows can work around them.