Skip to main content
Glama

MCP 3D Printer Server

printer-factory.js1.64 kB
import { OctoPrintImplementation } from "./octoprint.js"; import { KlipperImplementation } from "./klipper.js"; import { DuetImplementation } from "./duet.js"; import { RepetierImplementation } from "./repetier.js"; import { BambuImplementation } from "./bambu.js"; import { PrusaImplementation } from "./prusa.js"; import { CrealityImplementation } from "./creality.js"; import axios from "axios"; export class PrinterFactory { constructor() { this.implementations = new Map(); this.apiClient = axios.create({ timeout: 10000 }); this.implementations.set("octoprint", new OctoPrintImplementation(this.apiClient)); this.implementations.set("klipper", new KlipperImplementation(this.apiClient)); this.implementations.set("duet", new DuetImplementation(this.apiClient)); this.implementations.set("repetier", new RepetierImplementation(this.apiClient)); this.implementations.set("bambu", new BambuImplementation(this.apiClient)); this.implementations.set("prusa", new PrusaImplementation(this.apiClient)); this.implementations.set("creality", new CrealityImplementation(this.apiClient)); } getImplementation(type) { const implementation = this.implementations.get(type.toLowerCase()); if (!implementation) { throw new Error(`Unsupported printer type: ${type}`); } return implementation; } async disconnectAll() { // Disconnect all printers if needed const bambuImpl = this.implementations.get("bambu"); if (bambuImpl) { await bambuImpl.disconnectAll(); } } }

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