Skip to main content
Glama
subhashdasyam

BambuStudio-MCP

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BAMBUSTUDIO_PROFILESYesPath to the bundled BambuStudio profiles (e.g., $BAMBUSTUDIO_MCP_DIR/runtime/squashfs-root/resources/profiles).
BAMBUSTUDIO_WORKSPACEYesPath to the workspace holding project copies, revisions, logs, and slice results. The server creates it automatically.
BAMBUSTUDIO_EXECUTABLEYesPath to the BambuStudio AppRun executable (e.g., $BAMBUSTUDIO_MCP_DIR/runtime/squashfs-root/AppRun). Use AppRun, which sets the path to the bundled libraries.

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_environmentB

Report the Studio runtime, supported version, profiles location, and honest configuration coverage.

list_profilesA

Find machine, process, or filament profiles. Use exact names or paths when importing models.

open_projectB

Copy a saved 3MF into an isolated workspace, or import a model with explicit profiles through Studio.

inspect_projectC

Inspect objects, volumes, resource IDs, instances, plates, bounds, and revision history.

list_optionsC

Search the full versioned FFF configuration catalog; inspect types, units, ranges, defaults and scopes.

get_settingsA

Read settings and their origin. Scopes: project, plate, object, volume, height_range, filament.

target selects plate_index (1-based), object_id, volume_id, min_z/max_z, or filament_index (0-based). Use keys to bound the response. Studio-normalized settings are returned by completed slice jobs.

record_print_contextB

Replace user-declared hardware, filament, calibration and physical observations for this project.

Read bambustudio://print-context for the exact input shape. This records declarations, not verified measurements. It does not edit the 3MF. Observations apply only to this revision; optional job_id must match a succeeded slice.

get_print_guidanceB

Return deterministic missing-input questions, context/settings mismatches and sourced rules for selected concerns.

Select concerns from bambustudio://quality-guide. Inputs are user declarations; no physical quality is inferred.

inspect_sliceA

Inspect embedded G-code targets, object layers and feature feeds without running it.

With job_id inspect that exact succeeded revision; otherwise inspect the saved project, including older sliced imports. Unknown firmware branches and mappings remain unknown. Targets do not establish actual temperatures or speeds.

apply_settingsB

Validate and apply an atomic batch to a new revision. Uses JSON numbers, booleans, enums and arrays.

Percentage strings such as '15%' are allowed only on percent types. A filament-scope change selects one existing filament_index; project-scope vector values must be complete arrays. Never overwrites the source.

restore_revisionA

Restore a historical or candidate revision as a new head; preserve all previous revisions.

revision is the current head for concurrency protection; restore is the revision to copy.

analyze_geometryB

Measure geometry, sampled thickness, contact and downward-facing overhang regions; save SVG previews.

Coordinates are world millimetres. Thickness is sampled geometry, not mechanical strength. Overhang angle is the downward-face threshold from horizontal in degrees (0..90).

edit_regionsA

Apply spatial edits atomically to a new revision. Read bambustudio://spatial-edits for exact shapes.

Actions: rotate, paint, modifier_box, remove_modifier, height_range, layer_heights. Paint edits a shared mesh resource, affecting every instance of that resource.

start_sliceA

Queue a detached Studio slice. Returns immediately; poll get_job. 0 selects all plates; positive indexes are 1-based.

get_jobC

Read persistent slice or comparison status, log tail, estimates, and output locations.

cancel_jobA

Cancel a queued or running job and terminate its Studio subprocesses.

compare_candidatesA

Compare unchanged baseline with 1..7 alternatives, each {name, changes} or {name, revision}.

Returns immediately with a persistent comparison job; poll get_job. Numeric constraints: max_time_seconds, max_filament_g. Spatial candidates use revisions made with edit_regions. Reports time/material estimates and tradeoffs; strength/finish remain unverified.

export_projectB

Export to a new filename. Supply a succeeded job_id to export that exact revision with slicing artifacts.

open_in_studioA

Launch the saved revision in Studio for review. This does not synchronize or replace unsaved GUI state.

Prompts

Interactive templates invoked by user choice

NameDescription
prepare_print

Resources

Contextual data attached and managed by the client

NameDescription
guideEvidence-led print preparation procedure and reference sources.
spatial_editsSpatial edit inputs, units, and example requests.
quality_guideSourced preparation rules, prerequisites, candidate settings and physical acceptance checks.
print_contextExact user-declaration input shape and example for record_print_context.
coverage
catalogComplete versioned catalog. Prefer list_options for paginated queries.

TDQS

B3.4/5.0

Scored across 19 tools

Disambiguation4/5

Most tools target clearly distinct resources and actions (projects, settings, geometry, slicing jobs, exports). A few read-oriented tools (inspect_project, inspect_slice, get_settings, list_options) touch adjacent surfaces and could occasionally be confused, but descriptions differentiate scope and intent well.

Naming Consistency5/5

All names follow a consistent snake_case verb_noun pattern (get_settings, apply_settings, start_slice, cancel_job, compare_candidates, export_project). Verb reuse (get_*, inspect_*, open_*) is applied meaningfully to different objects rather than chaotically.

Tool Count4/5

19 tools is on the heavier side but the domain (project editing, config, geometry analysis, slicing, job management, comparison, export) is genuinely broad. Each tool maps to a distinct operation and none appears redundant or filler.

Completeness4/5

The surface covers a full design-to-export lifecycle: open/import, inspect, read and apply settings, edit regions, analyze geometry, slice, poll/cancel jobs, compare candidates, restore revisions, and export. Minor gaps like listing/managing existing projects or deleting revisions are workable around.

Maintenance

ActivityMaintained
ResponsivenessNo issues