OpenQR
offiziellGenerieren Sie QR-Codes und verwalten Sie dynamische (bearbeitbare) QR-Codes mit Scan-Analysen über einen gehosteten MCP-Server (17 Tools) und eine kostenlose REST-API.
Was kann man mit OpenQR MCP machen?
- Statische QR-Codes generieren — Fordern Sie einen QR-Code für beliebigen Text oder URLs über
generate_qran, der als PNG oder SVG zurückgegeben wird. - Bearbeitbare dynamische Codes erstellen — Verwenden Sie
create_dynamic_qr, um einen QR-Code zu erstellen, dessen Ziel Sie später ohne Neudruck ändern können. - Codes aktualisieren und verwalten — Ändern Sie Ziele, Beschriftungen, Tags oder Ordner mit
update_dynamic_qroder listen Sie Codes auf und löschen Sie sie überlist_dynamic_qrunddelete_dynamic_qr. - Massenweise Erstellung für Druckkampagnen — Generieren Sie bis zu 200 dynamische Codes gleichzeitig mit
bulk_create_dynamic_qr. - Mit Ordnern und Themes organisieren — Erstellen Sie Ordner über
create_folderund speichern Sie wiederverwendbare Stilvorlagen mitcreate_theme, um ein einheitliches Branding anzuwenden. - Scan-Analysen verfolgen — Rufen Sie Scan-Statistiken für jeden dynamischen Code mit
get_scansab, einschließlich Daten auf Länderebene.
Dokumentation
OpenQR
Kostenloser, quelloffener QR-Code-Generator ohne Wasserzeichen. Läuft vollständig in deinem Browser – kein Tracking, keine Anmeldung, keine Limits.
Die meisten Online-QR-Generatoren locken dich mit „kostenlos" und fügen dann ein Wasserzeichen hinzu, begrenzen deine Download-Größe, verstecken den Vektor-Export hinter einer Bezahlschranke oder leiten deinen Code über ihre Server, sodass er stirbt, sobald du aufhörst zu zahlen. Ein QR-Code ist nur ein offener Standard (ISO/IEC 18004), dessen Erzeugung nichts kostet. OpenQR hält daran fest.
Dieses Repository ist das grundlegende Generator-Tool – die referenzielle Open-Source-Implementierung. Es ist bewusst klein und leicht zu forken.
Gehostete Version: kostenlose API, MCP-Server und bearbeitbare Codes
Alles in diesem Repository ist und bleibt kostenlos, ohne Wasserzeichen und ohne Ablauf. Der gehostete Build unter openqr.uk fügt eine optionale Kontoschicht für Leute hinzu, die bearbeitbare Codes und Automatisierung möchten:
- Dynamische / bearbeitbare QR-Codes mit Scan-Analysen. Ändere das Ziel, nachdem du es gedruckt hast. 3 kostenlos auf einem kostenlosen Konto (7 Tage Scans nach Land); unbegrenzt auf Pro für 9 £/Monat oder 72 £/Jahr, was auch die vollständige Analysehistorie, Orts- und Regionsdetails, Geräte- und Referrer-Aufschlüsselungen mit CSV-Export, eine gebrandete Subdomain und passwortgeschützte Codes freischaltet.
- Kostenlose REST-API. Generiere Codes und verwalte dynamische Codes programmatisch. OpenAPI-Spezifikation unter
/openapi.json; interaktive Dokumentation unter openqr.uk/api. - Gehosteter MCP-Server unter
https://openqr.uk/mcp(Streamable HTTP, 17 Tools). Generiere und verwalte QR-Codes direkt von Claude, Cursor oder jedem MCP-Client. Gelistet im offiziellen MCP-Registry. Remote-fähige Clients verbinden sich direkt mit dieser URL; stdio-only-Clients können mitnpx -y @open-qr/mcpundOPENQR_API_KEYeine Brücke dorthin herstellen (Details).
Der statische Generator in diesem Repository ruft nichts davon auf. Er bleibt zu 100 % clientseitig (siehe Datenschutz), und nichts davon ist erforderlich, um den Generator zu nutzen oder selbst zu hosten.
Tools
Der gehostete MCP-Server unter https://openqr.uk/mcp stellt diese 17 Tools bereit. Jedes Tool erfordert einen kostenlosen API-Schlüssel – erstelle einen unter openqr.uk/api und übergib ihn als Authorization: Bearer oqr_... bei der MCP-Verbindung.
| Tool | Was es tut |
|---|---|
generate_qr | Generiere einen statischen QR-Code aus beliebigem Text oder einer URL. Gibt ein PNG-Bild oder SVG-Markup zurück. |
create_dynamic_qr | Erstelle einen bearbeitbaren QR-Code, dessen Ziel du später ändern kannst, ohne neu zu drucken. |
update_dynamic_qr | Ändere das Ziel, die Beschriftung, den benutzerdefinierten Kurzlink, die Tags oder den Ordner eines dynamischen Codes. |
get_dynamic_qr | Rufe die vollständigen Details eines Codes ab: Ziel, Kurzlink, Beschriftung, Typ, Tags, Ordner, Status, Erstellungsdatum. |
get_scans | Scan-Statistiken für einen dynamischen Code. |
list_dynamic_qr | Liste deine dynamischen Codes mit ID, Kurz-URL, Ziel, Beschriftung und Status auf. |
delete_dynamic_qr | Lösche einen dynamischen Code dauerhaft. Sein Kurzlink funktioniert nicht mehr. |
bulk_create_dynamic_qr | Erstelle bis zu 200 dynamische Codes auf einmal. |
list_folders | Liste deine Ordner auf. |
create_folder | Erstelle einen Ordner, um Codes zu organisieren. |
delete_folder | Lösche einen Ordner. Seine Codes werden nicht gelöscht, sondern nur nicht mehr einsortiert. |
list_themes | Liste gespeicherte Stilthemen auf. Wende eines an, indem du seine ID oder seinen Namen als theme übergibst. |
create_theme | Speichere ein wiederverwendbares Stilthema (Farben, Punkt- und Eckstile). |
delete_theme | Lösche ein gespeichertes Thema. Codes, die bereits damit gestylt sind, behalten ihr Aussehen. |
get_subdomain | Zeige die gebrandete Subdomain auf dem Konto an und ob sie gesperrt ist. |
set_subdomain | Fordere eine gebrandete Subdomain an oder ändere sie, sodass Codes auch unter {name}.oqr.to aufgelöst werden. Nur Pro. |
clear_subdomain | Gib die gebrandete Subdomain frei. Codes bleiben über den einfachen Kurzlink live. |
Es stellt außerdem 5 Ressourcen und 4 Prompts bereit:
- Ressourcen sind integrierte QR-Stilvoreinstellungen unter
openqr://preset/classic,/teal,/high-contrast,/dotsund/classy. Lies eine und übergib ihren Stil ancreate_theme. - Prompts sind
create_tracked_qr,bulk_qr_for_print,brand_a_qrundqr_scan_report.
Funktionen
- Keine Wasserzeichen, keine Größenlimits, keine Anmeldung – jede Funktion ist kostenlos
- Privat by Design – Codes werden vollständig in deinem Browser generiert; der Inhalt berührt nie einen Server
- Überall exportieren – PNG / WebP bis 4096px, plus echtes Vektor-SVG und PDF
- Vollständiges Styling – Farben, Verläufe, Punkt- und Eckstile, Logo-Einbettung, „Scan me"-Rahmen
- Intelligente Eingabe – füge einen Link oder Text ein und der Typ wird automatisch erkannt
- Umfangreiche Payloads – URL, Text, E-Mail, Telefon, SMS, WhatsApp, Wi-Fi und ein kartenbasierter Ortsauswähler
- Ein-Klick-Kopieren, teilbare Design-Links, hell/dunkel, responsiv, tastaturzugänglich
Schnellstart
pnpm install
pnpm dev # http://localhost:3011
Build & Self-Hosting
pnpm build
pnpm start # serves on :3011 (standalone output)
Es ist eine Standard-Next.js-App – hoste sie überall (einen VPS, einen Raspberry Pi, Cloudflare, hinter jedem Reverse-Proxy). Sie benötigt keine Umgebungsvariablen, keine Datenbank, keine Geheimnisse zum Ausführen.
Einbettung
Die <Generator/>-Komponente ist eigenständig und konfigurierbar:
import { Generator } from "@/components/generator/generator";
// Full page (default OpenQR logo header):
<Generator />
// Embedded widget, your own branding, no default header:
<Generator embedded header={<MyLogo />} />
// Inject your own post-download call-to-action:
<Generator renderSuccess={(variant) => <MySupportCluster variant={variant} />} />
Das Tool bringt null Analytik mit. Wenn du anonyme UI-Ereignisse möchtest (z. B. welches Exportformat verwendet wurde – niemals den QR-Inhalt), füge einen Handler ein:
import { setTrackHandler } from "@/lib/analytics";
setTrackHandler((action, name, category) => myAnalytics.track(category, action, name));
Datenschutz
Die QR-Generierung erfolgt zu 100 % in deinem Browser. Die einzigen optionalen ausgehenden Aufrufe sind im Standort-Tool: Kartendaten von CARTO und Adressabfragen über OpenStreetMaps Nominatim. Sonst verlässt nichts das Gerät.
Technologie-Stack
Next.js 16 (App Router) · React 19 · TypeScript (streng) · Tailwind v4 ·
qr-code-styling · Leaflet · pnpm.
Mitwirken
Siehe CONTRIBUTING.md. Halte es einfach, zugänglich, clientseitig und kostenlos – keine Funktion sollte jemals eine Zahlung erfordern, um ein Wasserzeichen zu entfernen oder ein Format freizuschalten.
Lizenz
AGPL-3.0 © 2026 Sam Moreton.
Du darfst OpenQR unter der AGPL-3.0 frei verwenden, studieren, modifizieren, selbst hosten und weiterverbreiten. Wenn du eine modifizierte Version als Netzwerkdienst betreibst, verlangt die AGPL, dass du deinen Quellcode unter derselben Lizenz verfügbar machst. Wenn das nicht zu deinem Anwendungsfall passt, ist eine kommerzielle Lizenz erhältlich – siehe NOTICE.