Bambu Studio Advisor
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 |
|---|---|
| list_presetsA | List Bambu Studio presets of one type, with their source and parent. Read-only. Use it to find an exact preset name before get_preset, compare_presets or slicing; use material_guide instead to get the recommended filament preset for a material. |
| get_presetA | Read the settings of one preset, with inheritance resolved (values as Bambu strings). Read-only. Use it to inspect a single preset; use compare_presets to see only the differences between two, and get_3mf_settings for the settings stored in a 3MF project. Fails if the name is unknown and lists close names. |
| compare_presetsA | Compare two presets of the same type and return only the settings whose values differ (setting, value in A, value in B), inheritance resolved. Read-only. Use it to see what a user preset changes from a Bambu preset, or how two profiles differ; use get_preset to read one preset in full. Fails if either name is unknown. |
| save_presetA | Create or update a user preset in Bambu Studio's user folder. Overwrites the existing user preset of that name; the previous file is backed up in backups/ first. Only call it once the user has agreed to the changes, after slicing to compare them (compare_slices). Bambu Studio must be restarted to show the change. |
| inspect_3mfA | Summarize a 3MF file: whether it is a full Bambu project or geometry only, the printer and presets it was made with, its objects and their own settings, its plates, and slicing results if it has any. Read-only. Use it first on any 3MF; use get_3mf_settings for the full list of project settings and analyze_model for the geometry. |
| get_3mf_settingsA | Read the print settings stored in a Bambu 3MF project (project_settings.config), as Bambu strings. Read-only. Use it to see the values a project will print with; use inspect_3mf for a summary and check_settings for problems. Fails on a 3MF without Bambu settings. |
| edit_3mfA | Write a copy of a 3MF project with changed settings, without slicing. The original is left untouched unless output_path is its own path. Use it to hand the user an edited project; to measure the effect of settings, use slice_model or compare_slices instead (they never modify the original). |
| slice_modelA | Slice once with the real Bambu Studio engine and return print time, filament weight, time per
line type, warnings and the path of the sliced result.3mf (written under output/; originals are
never modified). An identical slice comes back from the cache.
A Bambu 3MF keeps its own settings (moved to the default printer if made for another); an STL
gets |
| compare_slicesA | Slice several setting variants in parallel in one call and compare them: time, weight (total and per plate), % difference from the original and checks for each. Results are written under output/; the original is never modified. Use it to test your own settings; use optimize for the 5 ready-made goals and slice_model for a single slice. |
| optimizeA | Slice the original and ready-made recipes (quality, balanced, speed, strength, light) in
parallel, with accelerations kept within the printer's limits, and return the comparison plus the
recommended |
| check_settingsA | Check a 3MF project's settings without slicing: volumetric flow per line type against the filament's max flow (and the speed actually reached when capped), speeds above the machine's limits, cooling and per-material pitfalls. Read-only. Use it before slicing a project; slice_model reports the same checks on its result. |
| analyze_modelA | Analyze the geometry of an STL or 3MF: dimensions, volume, whether it fits the default printer's bed, footprint, overhangs and bridges for 6 orientations, the best orientation and support/brim advice. Read-only and fast (no slicing). Use it first on any model; STEP and OBJ files are not supported. |
| material_guideA | Give printing advice for a material on the default printer: the filament preset to use, suitable build plates and temperatures, enclosure (lid/door), AMS compatibility, nozzle and drying notes. Read-only. Use it to pick the filament preset passed to slicing tools; use list_presets to search for a specific brand. |
| prepare_printA | Turn an STL (or geometry-only 3MF) into a print-ready Bambu project in one call: analysis, best orientation, material presets, build plate, supports and brim when needed, copies arranged, then slice. Returns time, weight, the decisions made, warnings and the result.3mf (under output/). Use it for raw models; for a complete Bambu project use optimize or slice_model instead. |
| slice_historyA | List previous slices, newest first: models, presets, changed settings, time, weight, number of checks and the result.3mf path. Read-only. Use it to find an earlier result again instead of slicing anew. |
| printer_statusA | Read the printer's live status over the local network (MQTT): print job and progress, temperatures, fans, AMS trays and loaded filaments, HMS errors. Strictly read-only: it never sends commands. Needs the printer's host, serial and access code in config.json (see connector_info); fails if they are missing or the printer is off. |
| setup_defaultsA | Read or save the user's default printer, build plate and filament (stored in config.json). Without arguments: returns the current values and the available choices. With arguments: validates them and saves only those given. Call it on first use (connector_info.setup_needed) or when the user changes printer, plate or usual filament. |
| connector_infoA | Return the connector's status: whether first-use setup is needed, the saved defaults, the
Bambu Studio and preset paths, the output folder, and whether the printer is configured.
Read-only. Call it first in a session: if |
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 18 tools
Most tools target distinct resources or workflow stages, and descriptions explicitly route between similar options (e.g. inspect_3mf vs get_3mf_settings vs check_settings). The main ambiguity is the slicing family: slice_model, compare_slices, optimize, and prepare_print all overlap, though their descriptions clarify when to use each.
The set is predominantly snake_case with predictable verb_noun names such as list_presets, get_3mf_settings, compare_slices, and setup_defaults. Minor deviations like optimize (bare verb) and noun-first names like material_guide, printer_status, and connector_info are still readable and not confusing.
At 18 tools, the server is on the heavy side for the domain, with several closely related slicing and inspection entry points. Each tool has a plausible role, but the surface feels broad enough that a user or agent must learn routing rules rather than intuit the set.
Coverage is strong: preset read/list/compare/save, 3MF inspect/edit/settings checks, slicing, optimization, model analysis, material guidance, printer status, history, and setup defaults. Minor gaps exist, such as no explicit delete_preset operation and no direct creation of a new 3MF except via prepare_print from STL/geometry-only input.