QR-Code Generator

MCP-Server

MCP-Tools von QR Code Magic

Der Server ist öffentlich erreichbar und braucht keine Anmeldung. KI-Assistenten wie ChatGPT, Claude, Cursor oder Codex können damit QR-Inhalte bauen, prüfen und fertige QR-Bilder rendern.

Verbinden

Endpunkt (Streamable HTTP): https://qr.aytekin-armutcu.de/mcp

{
  "mcpServers": {
    "qr-code-magic": {
      "url": "https://qr.aytekin-armutcu.de/mcp"
    }
  }
}

Direkter Test mit curl (Accept-Header ist Pflicht):

curl -X POST https://qr.aytekin-armutcu.de/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Tools mit Beispielen

list_qr_types

Alle QR-Typen auflisten

Liefert alle unterstützten QR-Typen mit Pflichtfeldern sowie die Social-Plattformen.

Eingabe

{}

Ausgabe (gekürzt)

{
  "types": [
    {
      "id": "url",
      "label": "Link",
      "requiredFields": [
        "url"
      ]
    },
    {
      "id": "wifi",
      "label": "WLAN",
      "requiredFields": [
        "ssid"
      ]
    }
  ],
  "socialPlatforms": [
    {
      "id": "instagram",
      "label": "Instagram",
      "prefix": "https://instagram.com/"
    }
  ]
}

build_qr_payload

QR-Inhalt bauen und prüfen

Baut aus Typ und Feldern den kodierten Text und validiert ihn. Fehler und Warnungen kommen mit verständlicher Hilfe zurück.

Eingabe

{
  "type": "wifi",
  "fields": {
    "ssid": "Cafe Central",
    "password": "geheim123",
    "encryption": "WPA"
  }
}

Ausgabe (gekürzt)

{
  "type": "wifi",
  "payload": "WIFI:T:WPA;S:Cafe Central;P:geheim123;;",
  "summary": "Cafe Central",
  "valid": true,
  "issues": []
}

whatsapp_link

WhatsApp-Chatlink erzeugen

Normalisiert die Telefonnummer ins internationale Format und baut den wa.me-Link.

Eingabe

{
  "number": "+49 170 1234567",
  "message": "Hallo!"
}

Ausgabe (gekürzt)

{
  "normalizedNumber": "491701234567",
  "link": "https://wa.me/491701234567?text=Hallo!",
  "valid": true,
  "issues": []
}

social_profile_url

Social-Profil-Link erzeugen

Entfernt @-Zeichen und Voll-URLs und baut den sauberen Profil-Link der Plattform.

Eingabe

{
  "platform": "instagram",
  "handle": "@meinprofil"
}

Ausgabe (gekürzt)

{
  "platform": "instagram",
  "handle": "meinprofil",
  "url": "https://instagram.com/meinprofil",
  "valid": true
}

render_qr_image

QR-Bild als PNG oder SVG rendern

Rendert den QR-Code direkt: PNG kommt als Base64-Bild zurück, SVG als echte Vektorgrafik. Zusätzlich gibt es eine Download-URL.

Eingabe

{
  "type": "url",
  "fields": {
    "url": "https://qr.aytekin-armutcu.de"
  },
  "format": "png",
  "size": 512,
  "margin": 2,
  "dark": "#0b1220",
  "light": "#ffffff",
  "ecc": "M"
}

Ausgabe (gekürzt)

{
  "content": [
    {
      "type": "image",
      "mimeType": "image/png",
      "data": "iVBORw0KGgoAAAANS… (Base64)"
    }
  ],
  "structuredContent": {
    "format": "png",
    "payload": "https://qr.aytekin-armutcu.de",
    "bytes": 1834,
    "downloadUrl": "https://qr.aytekin-armutcu.de/api/public/qr?data=https%3A%2F%2Fqr.aytekin-armutcu.de&format=png&size=512&download=1"
  }
}

Direkter Bild-Download

Jedes gerenderte Bild gibt es auch als normale URL – ideal zum Einbetten oder Herunterladen. Mit download=1 liefert der Endpunkt eine Datei statt einer Vorschau.

GET /api/public/qr?data=https%3A%2F%2Fexample.com&format=svg&size=512&margin=2&ecc=M&download=1

Parameter: data (Pflicht), format=png|svg, size=64–2048,
margin=0–16, dark=#RRGGBB, light=#RRGGBB, ecc=L|M|Q|H, download=0|1

Rate-Limits & Schutz

Der Server ist öffentlich, deshalb gelten feste Obergrenzen. Wird ein Limit überschritten, antwortet das Tool mit einer Fehlermeldung, der HTTP-Endpunkt mit Status 429 und Retry-After.

Tool-Aufrufe gesamt
60 pro Minute und Client
render_qr_image
20 pro Minute und Client
Download-Endpunkt /api/public/qr
30 pro Minute und IP
Eingabegröße pro Aufruf
max. 8.000 Zeichen
QR-Inhalt
max. 2.000 Zeichen
Bildgröße
64 – 2048 px, Rand max. 16 Module

Es werden keine Nutzerdaten gespeichert: Alle Tools arbeiten ausschließlich mit den übergebenen Eingaben, es gibt keine Datenbank und keine Konten.

Maschinenlesbare Doku & Health-Check

Für Agenten, Clients und Monitoring gibt es die komplette Beschreibung als OpenAPI 3.1 und JSON Schema sowie einen Health-Endpunkt mit der aktuellen Limit-Konfiguration.

curl -s https://qr.aytekin-armutcu.de/mcp/health | jq
curl -s https://qr.aytekin-armutcu.de/mcp/openapi.json > qr-mcp-openapi.json

Zurück zum QR-Code-Generator