drucker-mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@drucker-mcp-serverDruck mir ein Etikett Salz-Dillgurken mit Datum"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
drucker-mcp-server
MCP-Server für CUPS-Drucker. Er druckt Etiketten passend zur eingelegten Rolle (getestet mit Brother QL-820NWB) und Dokumente (PDF, Markdown, HTML) auf einem normalen Drucker. Ein Satz wie „Druck mir ein Etikett Salz-Dillgurken mit Datum“ reicht.
Vor jedem Etikettendruck fragt der Server den Drucker per IPP, welche Rolle eingelegt ist, und baut das Layout danach:
Rolle (Drucker meldet) | Layout |
Endlos, z. B. | Höhe = Rollenbreite, Länge ergibt sich aus dem Text (oder |
Vorgestanzt, z. B. | feste Größe; ein Auftrag mit anderer Länge wird nicht gedruckt |
Die Schriftgröße wählt man über groesse: klein (~4 mm), mittel (~7 mm, Standard) oder gross (füllt die Rollenbreite). Auf einer Endlosrolle legt sie damit auch die Länge fest. Mit laenge_mm gibt man stattdessen eine feste Länge vor, die Schrift passt sich dann an. Mit quer=true läuft der Text quer zur Rolle; laenge_mm ist dann die Höhe des Etiketts. So entstehen kurze Etiketten wie 25 × 38 mm für schmale Klebeflächen (z. B. Steckdosen), ohne Nachschneiden. Ein QR-Code wächst mit dem Text, ist aber nie kleiner als 15 mm. In jeder Zeile wird {datum} durch das heutige Datum ersetzt.
Werkzeuge
Tool | Wirkung |
| alle CUPS-Drucker mit Status, beim Etikettendrucker die eingelegte Rolle |
| liest die eingelegte Rolle (Breite, endlos/vorgestanzt) |
| rendert das Etikett als PNG, ohne zu drucken |
| druckt 1–20 Kopien; Zeilen, Größe, optional feste Länge, QR-Code und Rahmen |
| PDF/Markdown/HTML, Farbe oder SW, Duplex, Seitenbereich, Kopien; Markdown/HTML wird per Chrome headless zu A4-PDF |
| offene Aufträge (z. B. wenn ein Drucker aus ist) |
| offenen Auftrag abbrechen |
Die Server-Anweisung verlangt: Drucken nur auf ausdrücklichen Auftrag, bei Etiketten zuerst die Vorschau.
Related MCP server: print-blocks
Voraussetzungen
CUPS mit eingerichteten Druckern (
lp,lpstat,cancel). Unter macOS ist das eingebaut.Etikettendrucker mit IPP (Brother QL-8xxNWB und die meisten Netzwerk-Etikettendrucker). Ist die CUPS-Queue eine Bonjour-Adresse (
dnssd://…), löst der Server sie selbst auf.Für Markdown/HTML: Google Chrome oder Chromium.
Betrieb
uv sync
uv run pytest # Tests, darunter Muss-rot-Fälle (falsche Rolle, unlesbares Medium, Collection-Parsing)
claude mcp add drucker -s user \
-e DRUCKER_ETIKETT=Brother_QL_820NWB \
-e DRUCKER_DOKUMENT=HP_Color_LaserJet_Pro_MFP_3302 \
-- uv run --directory <pfad> drucker-mcpDie Queue-Namen zeigt lpstat -p.
Variable | Bedeutung |
| CUPS-Queue des Etikettendruckers (Pflicht für Etiketten) |
|
|
| Queue für Dokumente (sonst CUPS-Standarddrucker) |
| Ordner für Vorschauen und PDFs (Standard |
| TTF für Etiketten (Standard: Arial Bold bzw. DejaVu Sans Bold) |
| Pfad zu Chrome/Chromium |
Warum IPP und nicht der Brother-Rasterstatus
Der Brother-Rasterbefehl ESC i S über Port 9100 bleibt im Netzwerkbetrieb stumm. Auch CUPS liefert media-ready für eine Bonjour-Queue nicht. Der Drucker selbst beantwortet Get-Printer-Attributes aber sauber (media-ready, media-col-ready). Der Server spricht das mit einem kleinen IPP-Client in reinem Python, ohne ipptool.
Kein Docker-Image: Der Server braucht das CUPS des Hosts.
Lizenz
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
- blinkpdfOAuthio.blinkpdf
Render Markdown and LLM output into accessible PDF/UA-1 PDFs. No headless Chromium.
Thermal label MCP server: render, validate, debug and convert ZPL, EPL, TSPL and CPCL labels.
Compliant PDFs (PDF/A-2A + PDF/UA-1) from markdown or a compact DSL - fast, no headless browser.
Render HTML, URLs, and templates to PDF. AI drafts templates and fixes them from logs.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to print documents, manage print queues, and control printers on macOS/Linux systems via the CUPS printing system. Supports printing PDFs, text files, and other formats with options like duplex printing, landscape orientation, and multiple copies.614 npm13MIT
- FlicenseNot gradedqualityDmaintenanceEnables printing structured documents to ESC/POS thermal printers via a CUPS queue, with tools for printer info, print jobs, and template management.1-
- FlicenseNot gradedqualityCmaintenanceEnables generating print-ready PDFs from Markdown and submitting them to CUPS printers. Supports local, Tailscale, and Cloudflare Tunnel access.-
- AlicenseAqualityCmaintenanceEnables printing PNG labels to a nearby thermal label printer over local serial or Bluetooth, with tools for rendering previews, checking printer status, and printing with confirmation.51MIT