Moonraker

The quiet piece in the middle of every modern Klipper setup. Moonraker is the web API server that exposes Klipper's state and control to the outside world — it is the reason a browser dashboard can drive your printer at all.

Licence · GPL-3.0 (free) Role · API / web layer for Klipper Pairs with · Mainsail / Fluidd AI angle · clean API for automation
TL;DR

If you run Klipper, you almost certainly run Moonraker — it is the API server that front-ends, automation and integrations talk to. You will rarely interact with it directly; you will configure it once in moonraker.conf, point a UI at it, and then forget it exists. That invisibility is the point: it is infrastructure, not an interface.

What it is

Klipper splits a printer's brain in two: the real-time firmware on the microcontroller, and a host process (usually on a Raspberry Pi) that does the heavy planning. But Klipper itself has no web interface — it speaks over a Unix socket. Moonraker is the Python web server that wraps that socket and exposes it as a proper API: JSON-RPC over a WebSocket plus a REST-style HTTP interface.

Everything a graphical front-end does — stream temperatures, send G-code, upload and manage files, start a print, read job history — goes through Moonraker. It also handles concerns Klipper deliberately leaves out: update management (pulling new Klipper, Moonraker and UI versions), file and history management, webcam configuration, and notifications to services like ntfy or Discord. Mainsail and Fluidd are just browser clients sitting on top of it; swap one for the other and Moonraker does not care.

Where it wins

Where it still hurts

The AI angle

Moonraker is the cleanest entry point for putting intelligence around a printer. Because it exposes the full machine state — temperatures, position, job progress, history — and accepts G-code over a stable WebSocket, an agent or model can subscribe to live telemetry, react to events, and issue commands without ever touching firmware. Failure-detection from a webcam feed, automatic pause-on-spaghetti, queue orchestration across a fleet, or an LLM that watches a print and narrates what is happening: all of it talks to Moonraker. The API is the integration point that makes printers programmable.

Start here

← More 3D printing tools