Skip to main content
Glama

MCP 3D Printer Server

stateConverter.ts1.38 kB
import type { PrinterState } from "../types/PrinterState"; import type { RawPrinterState } from "../types/RawPrinterState"; import { PrintStage, printStageValues } from "../types/PrintStage"; /** * Convert raw state to printer state. * @param rawState Raw state returned by the printer. * @returns Printer state. */ export default function convertState(rawState: RawPrinterState): PrinterState { return { timestamp: rawState.timestamp, nozzle: { temperature: rawState.nozzle_temper, targetTemperature: rawState.nozzle_target_temper, diameter: parseFloat(rawState.nozzle_diameter), type: rawState.nozzle_type, }, bed: { temperature: rawState.bed_temper, targetTemperature: rawState.bed_target_temper, }, camera: { record: rawState.ipcam?.ipcam_record === "enable", timelapse: rawState.ipcam?.timelapse === "enable", resolution: rawState.ipcam?.resolution ?? "unknown", }, chamber: { temperature: rawState.chamber_temper, }, controller: { printName: rawState.gcode_file, printStage: printStageValues[rawState.mc_print_stage] ?? PrintStage.UNKNOWN, printSubStage: rawState.mc_print_sub_stage, printLineNumber: parseInt(rawState.mc_print_line_number), printPercent: rawState.mc_percent, printTimeRemaining: rawState.mc_remaining_time, }, lights: rawState.lights_report, errors: rawState.hms, }; }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DMontgomery40/mcp-3D-printer-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server