QIDI Studio MCP Edition is a Windows community fork of QIDI Studio that adds a native Model Context Protocol server. It lets ChatGPT inspect and operate the slicer through explicit, structured tools instead of mouse and keyboard automation.
This project is not an official QIDI Technology product. For printer warranty, hardware, account, or official QIDI Studio support, use QIDI Support.
- MCP integration: v1.11.0
- Advertised tools: 118
- QIDI Studio target: 2.7.2.10
- Validated platform: Windows x64, RelWithDebInfo
- Local MCP endpoint:
http://127.0.0.1:8765/mcp
See CHANGELOG.md for release history and validation details.
| Area | Capabilities |
|---|---|
| Project and models | Create, load, import ChatGPT-attached models, inspect, transform, arrange, orient, cut, split, merge, repair, and export projects and models. |
| Settings | Read and update print, filament, printer, object, and volume settings; inspect native metadata, inheritance, limits, and enum choices; preview proposed updates without mutation. |
| Slicing | Validate configurations, slice plates, inspect warnings and toolpaths, analyze the first layer, check filament quantity, and export G-code. |
| Advanced preparation | Adaptive layer height, support and seam facet painting, print-by-object ordering and clearance validation, orientation candidates, and printability analysis. |
| Printers | Discover printers, inspect capabilities and readiness, monitor jobs, capture camera frames, control the case light, and pause, resume, or cancel jobs. |
| Print workflow | Select and lock an explicit QIDI Box or external filament source before slicing, run preflight checks, and use a confirmation-gated local/LAN print-start workflow. |
| Recovery and visibility | Resolve recovery prompts, inspect UI state, capture Prepare or Preview in the background with OpenGL composition, display images directly in ChatGPT, and provide expiring local download links. |
| Connectivity | Manage the Secure MCP Tunnel from QIDI Studio, including setup, status, start, stop, restart, diagnostics, logs, and dashboard access. |
- Windows x64
- QIDI Studio MCP Edition v1.8.0 or later
- A ChatGPT account or workspace that permits developer mode and custom MCP connections
- An OpenAI Secure MCP Tunnel ID and Runtime API key
- Start QIDI Studio MCP Edition.
- Open MCP > Tunnel Manager.
- Select Open Tunnels Page and create or choose a tunnel.
- Select Open Runtime Keys Page and create a Runtime API key.
- Paste the
tunnel_idand Runtime API key into the manager. - Select Save / Repair and Connect.
- Select Run Diagnostics and confirm the tunnel is healthy.
The tunnel runs as a per-user Windows scheduled task and can remain available when QIDI Studio restarts. Use the same dialog to start, stop, restart, repair, or inspect it. Detailed companion documentation is in tools/mcp-tunnel/README.md.
- In ChatGPT, open Settings > Security and login and enable Developer mode if your account or workspace requires it.
- Open ChatGPT Plugins and select the plus button.
- Enter a name such as
Qidi Studio MCPand a short description. - Under Connection, choose Tunnel, then select the available tunnel or
enter its
tunnel_id. - Create the connection and confirm that 118 tools are discovered.
- Start a new conversation and enable Qidi Studio MCP from the tools menu.
Example checks:
@Qidi Studio MCP call get_suite_capabilities
@Qidi Studio MCP call get_project_state
@Qidi Studio MCP call list_setting_definitions with scope print and query layer height
If a release changes tool names, descriptions, or schemas, open the connection at ChatGPT Plugins, select Refresh, confirm the new tool count, and start a new conversation. This follows the official OpenAI connection workflow.
Version 1.10.0 supports a guarded conversational workflow from a ChatGPT file attachment through physical printing. Attached STL, 3MF, OBJ, AMF, STEP, STP, and PLY files can be imported without first copying them to the QIDI Studio computer.
The physical filament source must be chosen before slicing. The MCP does not infer a QIDI Box bay or silently default to the external feeder.
project_filament_indexis zero-based within the QIDI Studio project.- Object and volume
extrudervalues are one-based. Project filament index3therefore uses extruder4. - Physical
slot_idis a zero-based global feeder index. QIDI Box slots are0through15; the external feeder is slot16. - With one QIDI Box, its physically labeled bays 1 through 4 correspond to
global slot IDs
0through3.
For example, a red spool in the fourth bay of the first QIDI Box is physical
slot 3. If its matching project filament is index 3, the model must use
extruder 4 and be sliced after that assignment.
-
Attach the model in ChatGPT and call
import_attached_models, optionally with arrangement enabled. -
Call
get_printer_details, show the available QIDI Box and external sources, and ask the user which physical filament to use. -
Assign every printable model part to the matching project filament with
set_object_extruderorset_volume_extruder. These operations invalidate an older slice. -
Review settings and slice the active plate.
-
Call
prepare_print_jobwith the matching project and physical source. A QIDI Box example is:{ "device_id": "printer-device-id", "filament_source": { "project_filament_index": 3, "source": "qidi_box", "slot_id": 3 }, "bed_leveling": true, "timelapse": false }For the external feeder, use
"source": "external"; physical slot16is derived automatically. -
Review the returned summary and physical checks. Preparation rejects stale or mismatched slices and returns a short-lived, single-use confirmation token. It does not upload or print.
-
Only after explicit user approval, call
start_print_jobwith that token andconfirm: true. -
Poll
get_print_job_status. The previously loaded toolhead slot may remainpending_physical_loadduring layer-zero heating and QIDI Box exchange. Printing is confirmed only after telemetry reports both the matching job and selected physical slot. Cancellation is recommended if the first print layer begins while the slot still mismatches.
Guarded direct start currently supports exactly one sliced project filament. Use QIDI Studio's native Send-to-Printer dialog for multi-filament jobs until a complete per-filament physical mapping is available through MCP.
Example conversation requests:
Import this attached model, arrange it, and report its dimensions and printability. Do not slice or print.
Use red PETG from QIDI Box physical slot 3. Assign the matching project filament, slice, run preflight, and prepare the print. Stop before start_print_job.
Use only the newest prepared token, start with confirmation, and monitor until the selected physical slot and printing are both confirmed.
Version 1.11.0 can capture QIDI Studio's Prepare or Preview view while the application is minimized, hidden, or behind other windows. The native window and active OpenGL canvas are captured separately and composited so the build plate, models, toolpaths, and camera view remain visible.
capture_studio_screenshot accepts target: "current", "prepare", or
"preview". Its background option defaults to true. After capture, QIDI
Studio restores the original window placement, visibility, minimized state,
and selected tab.
Compatible ChatGPT clients display Studio screenshots, printer-camera frames,
and monitoring snapshots directly in the conversation through the bundled MCP
App viewer. The PNG bytes remain inside the authenticated MCP result, so the
inline image can be viewed from another device, including a phone. The
short-lived 127.0.0.1 download link is only a fallback for the computer
running QIDI Studio and is not remotely reachable.
Capturing an image does not modify the project, change settings, slice, upload,
or print. During application startup, check gl_canvas_composited; if it is
false, wait for the Prepare or Preview canvas to finish initializing and
retry the capture.
Example requests:
Capture the QIDI Studio Prepare view in the background and display the image directly in ChatGPT. Do not modify, slice, upload, or print anything.
Capture the Preview view in the background, report whether the OpenGL canvas was composited, and restore the original tab.
- The MCP server listens only on
127.0.0.1; remote access is provided by the separate Secure MCP Tunnel companion. - The Runtime API key is protected for the current Windows user with DPAPI. It is not stored in QIDI Studio preferences, tunnel JSON, command lines, logs, or source control.
- Credential values and tunnel command lines are never returned by MCP tools.
- Preview tools are read-only and explicitly report
mutated: false. - Model and settings mutations use QIDI Studio's native data structures and undo/reslice paths where applicable.
- Print preparation requires an explicit physical filament source and verifies that the valid slice uses its matching project filament. Print start uses a prepared confirmation token plus explicit confirmation, applies QIDI's native Box/external mapping, and verifies the physically loaded slot through printer telemetry. Cancel and destructive operations also require confirmation where applicable.
- Software checks cannot verify physical conditions such as plate cleanliness, correct filament loading, an empty build plate, or safe machine access. The operator remains responsible for the printer and surrounding area.
Intentionally unsupported or deferred capabilities include embedded tunnel credentials, automatic visual failure detection and cancellation, automated multi-filament physical-source mapping, cloud-only print start, and operations that cannot be exposed safely through stable native QIDI Studio state.
This fork follows QIDI Studio's Windows build system. From a Visual Studio 2022 developer environment, run:
.\build_win.bat -s app -c RelWithDebInfoThe application is produced under build\src\RelWithDebInfo. Development-only
incremental rebuilds can use -s app-dirty after the initial dependency and
application build.
The MCP integration uses semantic versions independently of the upstream QIDI
Studio application version. get_suite_capabilities reports both the MCP suite
version and its QIDI Studio target. Tool counts in the changelog refer to the
registry advertised by the source at that release.
Before creating a release tag or archive, run the documentation preflight:
.\tools\verify-release-docs.ps1 -Version 1.11.0 -RequireAcceptedUse the version being released. The check requires the README current-release line and newest changelog heading to match, and can reject a release whose acceptance status is still pending.
QIDI Studio provides the slicer, printer profiles, device integration, and user interface on which this fork is built. It descends from Bambu Studio, PrusaSlicer, and Slic3r, with contributions from the broader 3D-printing community, including OrcaSlicer.
QIDI Studio MCP Edition is licensed under the GNU Affero General Public License, version 3, consistent with QIDI Studio and its upstream projects. Modified source distributed or operated as a network service remains subject to the AGPL-3.0 requirements.
