← Back to search

io.github.CSOAI-ORG/qidi-printer-mcp

CSOAI-ORG Scanned 18h ago

QIDI 3D Printer MCP server. Controls QIDI 4 Max Combo via Moonraker REST API. Tools: printer...

D
57.5 / 100

Versions

1.0.1latest
first seen Jun 5, 2026
1.0.4
first seen May 19, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 12

preheat
annotations: none low

Preheat bed and nozzle to target temperatures (defaults PLA-friendly: bed 60C, nozzle 220C). ⚠️ MUTATING — turns on heaters. NOT read-only, NOT idempotent. Args: bed_temp: target bed C (0-120, default 60). nozzle_temp: target nozzle C (0-300, default 220).

bed_temp int nozzle_temp int
printer_status
annotations: none low

Full printer status: state, bed/nozzle temps, and current print info. READ-ONLY · idempotent · no side effects.

get_temperatures
annotations: none low

Current bed and nozzle temperatures with targets. READ-ONLY · idempotent · no side effects.

list_files
annotations: none low

List all gcode files uploaded to the printer. READ-ONLY · idempotent · no side effects.

print_progress
annotations: none low

Current print progress: % complete, elapsed, estimated remaining, filename. READ-ONLY · idempotent · no side effects.

box_humidity
annotations: none low

QIDI Box filament-dryer humidity, temperature, and drying state (AHT20 sensor). READ-ONLY · idempotent · no side effects. Use before a moisture-sensitive print (nylon / PA-CF / PETG) to confirm the filament is dry. Returns: humidity_pct (% RH), box_temp_c, drying_active (bool), printer_ip.

humidity_gate
annotations: none low

Pre-print humidity gate — call BEFORE starting a moisture-sensitive print. READ-ONLY / advisory: reads Box humidity and returns a GO / NO-GO verdict so a wet-filament print can't start by accident. It does NOT stop the printer itself — only call start_print when safe_to_print is True. Fail-safe: returns NO-GO/UNKNOWN if the Box can't be read (a network blip can't green-light a wet print). Args: max_humidity: max safe % RH (default 20.0; nylon / PA-CF want < 20%). material: filament name, for the advice string. Returns: safe_to_print (bool), humidity_pct, threshold, verdict, advice.

material str max_humidity float
start_print
annotations: none low

Start printing a gcode file already uploaded to the printer. ⚠️ MUTATING — starts a physical print. Real-world side effects, NOT idempotent, NOT read-only. For moisture-sensitive filament, call humidity_gate first and only proceed if safe_to_print is True. Args: filename: name of the gcode file on the printer (e.g. 'benchy.gcode').

filename str
pause_print
annotations: none low

Pause the current print job. ⚠️ MUTATING — changes printer state. NOT read-only, NOT idempotent.

resume_print
annotations: none low

Resume a paused print job. ⚠️ MUTATING — changes printer state. NOT read-only, NOT idempotent.

cancel_print
annotations: none low

Cancel the current print job (printer stops and cools down). ⚠️ MUTATING & DESTRUCTIVE — aborts the running print, losing progress. NOT read-only, NOT idempotent. Only call with clear intent.

send_gcode
annotations: none low

Send a raw G-code command to the printer. ⚠️ MUTATING & potentially DESTRUCTIVE — moves the head, sets temps, drives motors. NOT read-only, NOT idempotent. Validate commands before sending. Common: G28 home · G1 X100 Y100 Z50 F3000 move · M104 S200 nozzle · M140 S60 bed · M106 S255 fan on · M107 fan off. Args: command: the G-code command string.

command str

Permissions 3

network medium
Server uses network capabilities via: urllib
filesystem low
Server uses filesystem capabilities via: open(), os
env_vars low
Server uses env_vars capabilities via: os.environ

Scan Findings 0

No scan findings.