{"name":"io.github.richardofortune/cadloop-openscad","slug":"richardofortune-cadloop-openscad","title":"cadloop OpenSCAD","description":"Compile OpenSCAD, read computed values, preview and measure the mesh, without a GUI.","url":"https://mcp.market/server/richardofortune-cadloop-openscad","rating":null,"grade":"A","score":88,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":24,"stars":1,"forks":0,"downloads_week":36,"last_push_at":"2026-08-04T10:27:49.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/richardofortune/cadloop","website":"https://github.com/richardofortune/cadloop","version":"0.1.0","remotes":[],"packages":[{"registryType":"pypi","identifier":"cadloop","version":"0.1.0","runtimeHint":"uvx","transport":{"type":"stdio"},"runtimeArguments":[{"value":"cadloop","type":"named","name":"--from"},{"value":"cadloop-openscad","type":"positional"}],"environmentVariables":[{"description":"The only directory this server reads and writes. Defaults to ~/cad.","name":"OPENSCAD_WORKSPACE"},{"description":"Path to the openscad binary. Auto-detected from PATH and the usual install locations if unset.","name":"OPENSCAD_BIN"},{"description":"Seconds before a run is killed. Defaults to 300.","name":"OPENSCAD_TIMEOUT"}]}],"tools":[{"name":"check","description":"Compile a script without evaluating geometry. Fast syntax and reference check. Returns errors, warnings and any ECHO output.","write_action":false,"price_micros":0,"input_schema":null},{"name":"check_bed_fit","description":"Compare an STL's footprint against the machine profile's printable area before slicing. The slicer will happily emit out-of-bounds G-code without complaining, so this is worth doing first.","write_action":false,"price_micros":0,"input_schema":null},{"name":"echo","description":"Evaluate a script and return only its ECHO output. Use this to read computed values out of a model without paying for a mesh render.","write_action":false,"price_micros":0,"input_schema":null},{"name":"extract_gcode","description":"Pull the raw G-code for a plate out of a .gcode.3mf. Creality printers generally want a plain .gcode file, unlike Bambu machines which take the archive directly.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_files","description":"List files in the workspace matching a glob pattern.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_profiles","description":"Find machine, process and filament profiles. kind is machine, process, filament or all. query filters on the profile name, case-insensitive.","write_action":false,"price_micros":0,"input_schema":null},{"name":"measure","description":"Render to a throwaway STL and report bounding box, size, volume and triangle count. Use it to check a part fits the print bed.","write_action":false,"price_micros":0,"input_schema":null},{"name":"model_info","description":"Report what the slicer sees in a model or project file without slicing it. Uses --info.","write_action":false,"price_micros":0,"input_schema":null},{"name":"openscad_info","description":"Report the OpenSCAD binary, its version, and the workspace directory.","write_action":false,"price_micros":0,"input_schema":null},{"name":"preview","description":"Render a PNG of the model and return it as an image.","write_action":false,"price_micros":0,"input_schema":null},{"name":"read_file","description":"Read a text file from the workspace.","write_action":false,"price_micros":0,"input_schema":null},{"name":"render","description":"Render a script to a mesh or 2D file in the workspace. The format is taken from the output extension: stl, off, amf, 3mf, dxf, svg, csg.","write_action":false,"price_micros":0,"input_schema":null},{"name":"slice_model","description":"Slice one or more models to a .gcode.3mf and report the result.","write_action":false,"price_micros":0,"input_schema":null},{"name":"slice_summary","description":"Read filament usage, print time estimate and the settings actually used out of a sliced .gcode.3mf, without unpacking it.","write_action":false,"price_micros":0,"input_schema":null},{"name":"slicer_info","description":"Report the slicer binary, its version banner, and the full --help flag surface. Call this first. The Orca-family CLI changes between releases and Creality's fork diverges, so trust this over any assumed flag list.","write_action":false,"price_micros":0,"input_schema":null},{"name":"write_file","description":"Write a text file into the workspace, creating parent directories.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":88,"grade":"A","scanned_at":"2026-09-24T21:39:54.060Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-24T21:39:54.039Z","components":{"code":{"score":25,"max":25,"notes":["9 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":12,"max":15,"notes":["last push 51 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"cadloop","version":"0.1.0","found":true,"weeklyDownloads":36,"license":"MIT","dependencyCount":3,"publishedAt":"2026-07-27T22:37:36.693942Z","repositoryUrl":"https://github.com/richardofortune/cadloop"}],"repo":{"found":true,"owner":"richardofortune","repo":"cadloop","archived":false,"pushedAt":"2026-08-04T10:27:49Z","stars":1,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/418580?v=4","ownerCreatedAt":"2010-09-28T03:05:17Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/418580?v=4&s=128","source":"github"},"presence":{"stars":1,"forks":0,"downloadsWeek":36,"license":"MIT","lastPushAt":"2026-08-04T10:27:49.000Z","score":24}}}},"grade_history":[],"reviews":[]}