Lulu Print MCP Server

by devlimelabs
Integrations
  • Used for environment variable configuration to store Lulu API credentials and other settings

  • Provides containerized deployment of the Lulu Print MCP server through Docker and Docker Compose

  • Repository hosting for the Lulu Print MCP code, allowing cloning for local development

Lulu Print MCP Server

Ein Model Context Protocol (MCP)-Server, der die Integration mit der Lulu Print API für Print-on-Demand-Dienste über Claude Desktop und andere MCP-Clients ermöglicht.

Merkmale

📚 Druckauftragsverwaltung

  • Erstellen und verwalten Sie Druckaufträge für Bücher und andere Druckerzeugnisse
  • Verfolgen Sie den Bestellstatus von der Erstellung bis zur Lieferung
  • Berechnen Sie die Kosten, bevor Sie Bestellungen aufgeben
  • Unterstützung mehrerer Positionen pro Bestellung

📄 Dateivalidierung

  • Validieren Sie die PDF-Dateien vor dem Drucken
  • Validieren Sie Cover-PDF-Dateien mit Dimensionsprüfung
  • Berechnen Sie die erforderlichen Cover-Abmessungen basierend auf der Seitenanzahl
  • Erhalten Sie detaillierte Validierungsstatus- und Fehlerberichte

💰 Kostenberechnung

  • Berechnen Sie die Produktkosten anhand der Spezifikationen
  • Versand- und Steuerberechnungen einschließen
  • Unterstützung verschiedener Versandstufen (MAIL bis EXPRESS)
  • Erhalten Sie detaillierte Kostenaufschlüsselungen

🚚 Versandmanagement

  • Verfügbare Versandoptionen nach Zielort abrufen
  • Unterstützung für den internationalen Versand
  • Verschiedene Service-Levels vom Standardbrief bis zum Expressversand

🔔 Webhooks

  • Abonnieren Sie Statusänderungen von Druckaufträgen
  • Verwalten von Webhook-Endpunkten
  • Testen der Webhook-Übermittlung
  • Webhook-Übermittlungsverlauf anzeigen

Installation

Globale Installation

# Install the package globally npm install -g @devlimelabs/lulu-print-mcp # Start the server lulu-print-mcp

Lokale Entwicklung

# Clone the repository git clone https://github.com/devlimelabs/lulu-print-mcp.git cd lulu-print-mcp # Install dependencies npm install # Set up development environment npm run setup:dev # Start the development server npm run dev

Docker-Installation

# Build and run with Docker Compose docker-compose up -d # Or build and run the Docker image directly docker build -t lulu-print-mcp . docker run -p 3000:3000 lulu-print-mcp

Konfiguration

1. Holen Sie sich die Lulu API-Anmeldeinformationen

  1. Registrieren Sie sich für ein Lulu-Entwicklerkonto unter https://developers.lulu.com/
  2. Erstellen Sie zum Testen ein Sandbox-Konto unter https://developers.sandbox.lulu.com/
  3. Navigieren Sie zu Ihrer API-Schlüsselseite
  4. Kopieren Sie Ihren Client-Schlüssel und Ihr Client-Geheimnis

2. Umgebungsvariablen konfigurieren

# Create a configuration file cp .env.example .env

Bearbeiten Sie die .env Datei mit Ihren Lulu-API-Anmeldeinformationen:

# Required: Your Lulu API credentials LULU_CLIENT_KEY=your_client_key_here LULU_CLIENT_SECRET=your_client_secret_here # Optional: API endpoints (defaults are provided) LULU_API_URL=https://api.lulu.com LULU_SANDBOX_API_URL=https://api.sandbox.lulu.com LULU_AUTH_URL=https://api.lulu.com/auth/realms/glasstree/protocol/openid-connect/token LULU_SANDBOX_AUTH_URL=https://api.sandbox.lulu.com/auth/realms/glasstree/protocol/openid-connect/token # Use sandbox environment for testing (default: false) LULU_USE_SANDBOX=false # Enable debug logging (default: false) DEBUG=false

Verwendung mit Claude Desktop

Fügen Sie diesen MCP-Server zu Ihrer Claude Desktop-Konfigurationsdatei hinzu:

# Run the Claude Desktop setup script npm run setup:claude

Folgen Sie den Anweisungen, um Ihre Claude Desktop-Konfigurationsdatei zu aktualisieren. Das Skript generiert eine Konfiguration ähnlich der folgenden:

{ "mcpServers": { "lulu-print": { "command": "lulu-print-mcp", "env": { "LULU_CLIENT_KEY": "your_client_key", "LULU_CLIENT_SECRET": "your_client_secret" } } } }

Verwendung mit Cursor

Fügen Sie diesen MCP-Server zu Ihrer Cursor-Konfigurationsdatei hinzu:

  1. Öffnen Sie die Cursoreinstellungen ( Cursor → Settings oder Cmd+, auf dem Mac).
  2. Navigieren Sie zum Abschnitt „Funktionen“
  3. Suchen Sie nach den Einstellungen für „Model Context Protocol“
  4. Fügen Sie die folgende Konfiguration hinzu:
{ "mcpServers": { "lulu-print": { "command": "node", "args": ["/path/to/global/lulu-print-mcp/dist/index.js"], "env": { "LULU_CLIENT_KEY": "your_client_key", "LULU_CLIENT_SECRET": "your_client_secret" } } } }

Oder bei globaler Installation:

{ "mcpServers": { "lulu-print": { "command": "lulu-print-mcp", "env": { "LULU_CLIENT_KEY": "your_client_key", "LULU_CLIENT_SECRET": "your_client_secret" } } } }

Verwendung mit Windsurf

Fügen Sie diesen MCP-Server zu Ihrer Windsurf-Konfiguration hinzu:

  1. Erstellen oder bearbeiten Sie die Datei .windsurf/config.json in Ihrem Projektverzeichnis
  2. Fügen Sie die folgende Konfiguration hinzu:
{ "mcpServers": { "lulu-print": { "command": "lulu-print-mcp", "env": { "LULU_CLIENT_KEY": "your_client_key", "LULU_CLIENT_SECRET": "your_client_secret" } } } }

Für das Entwicklungs-Setup mit Windsurf:

{ "mcpServers": { "lulu-print": { "command": "tsx", "args": ["src/index.ts"], "cwd": "/path/to/lulu-print-mcp", "env": { "LULU_CLIENT_KEY": "your_client_key", "LULU_CLIENT_SECRET": "your_client_secret" } } } }

Verfügbare Tools

Kostenberechnung

Druckauftragskosten berechnen

Berechnen Sie die Kosten eines Druckauftrags, ohne ihn zu erstellen:

calculate-print-job-cost line_items: Array of items to price - pod_package_id: Product SKU (e.g., "0600X0900BWSTDPB060UW444MXX") - page_count: Number of pages - quantity: Number of copies shipping_address: Delivery address - street1: Street address - city: City name - country_code: 2-letter ISO country code - postcode: Postal code - phone_number: Contact phone shipping_option: MAIL | PRIORITY_MAIL | GROUND | EXPEDITED | EXPRESS

Druckauftragsverwaltung

Druckauftrag erstellen

Erstellen Sie einen neuen Druckauftrag:

create-print-job line_items: Array of books to print - title: Book title - cover_url: URL to cover PDF - interior_url: URL to interior PDF - pod_package_id: Product SKU - quantity: Number of copies shipping_address: Delivery address - name: Recipient name - street1: Street address - city: City - country_code: 2-letter ISO code - postcode: Postal code - phone_number: Phone contact_email: Email for order communication shipping_level: MAIL | PRIORITY_MAIL | GROUND | EXPEDITED | EXPRESS external_id: Your order reference (optional)
Liste-Druckaufträge

Druckaufträge mit optionalen Filtern auflisten:

list-print-jobs page: Page number (optional) page_size: Results per page (optional) status: Filter by status (optional) created_after: Filter by creation date (optional) created_before: Filter by creation date (optional)
Druckauftrag abrufen

Erhalten Sie Details zu einem bestimmten Druckauftrag:

get-print-job id: Print job ID
Druckauftrag aktualisieren

Aktualisieren eines Druckauftrags (nur vor der Zahlung):

update-print-job id: Print job ID external_id: New reference (optional) contact_email: New email (optional)
Druckauftrag abbrechen

Druckauftrag stornieren (nur wenn unbezahlt):

cancel-print-job id: Print job ID
Druckauftragsstatus abrufen

Aktuellen Status eines Druckauftrags abrufen:

get-print-job-status id: Print job ID
Kosten für Druckaufträge abrufen

Erhalten Sie detaillierte Kosten für einen Druckauftrag:

get-print-job-costs id: Print job ID
Druckauftragsstatistiken abrufen

Erhalten Sie Statistiken zu Druckaufträgen über einen bestimmten Zeitraum:

get-print-job-statistics start_date: Start date (YYYY-MM-DD) (optional) end_date: End date (YYYY-MM-DD) (optional) group_by: DAY | WEEK | MONTH (optional)

Dateivalidierung

Validieren der inneren Datei

Validieren Sie eine interne PDF-Datei:

validate-interior-file file_url: URL to interior PDF pod_package_id: Product SKU (optional, for normalization)
get-interior-validation

Validierungsstatus prüfen:

get-interior-validation validation_id: ID from validate-interior-file
Deckungsmaße berechnen

Benötigte Deckelmaße berechnen:

calculate-cover-dimensions pod_package_id: Product SKU page_count: Number of interior pages unit: IN | MM | PT (optional, default: PT)
Cover-Datei validieren

Validieren Sie eine Cover-PDF-Datei:

validate-cover-file file_url: URL to cover PDF pod_package_id: Product SKU page_count: Number of interior pages
Get-Cover-Validierung

Überprüfen Sie den Status der Cover-Validierung:

get-cover-validation validation_id: ID from validate-cover-file

Versand

Versandoptionen erhalten

Erhalten Sie verfügbare Versandoptionen:

get-shipping-options country_code: 2-letter ISO country code state_code: State/province code (optional) quantity: Number of items (optional) pod_package_id: Product SKU (optional) page_count: Number of pages (optional) level: Filter by specific level (optional)

Webhooks

Webhook erstellen

Erstellen Sie ein Webhook-Abonnement:

create-webhook url: Webhook endpoint URL topics: Array of events (currently supports ["PRINT_JOB_STATUS_CHANGED"])
Liste-Webhooks

Alle Webhook-Abonnements auflisten:

list-webhooks
Webhook abrufen

Webhook-Details abrufen:

get-webhook id: Webhook ID
Update-Webhook

Aktualisieren Sie einen Webhook:

update-webhook id: Webhook ID url: New URL (optional) topics: New topics (optional) is_active: Enable/disable (optional)
Webhook löschen

Löschen Sie einen Webhook:

delete-webhook id: Webhook ID
Test-Webhook

Senden Sie einen Test-Webhook:

test-webhook id: Webhook ID topic: PRINT_JOB_STATUS_CHANGED
Liste-Webhook-Einreichungen

Listen Sie die Webhook-Übermittlungsversuche auf:

list-webhook-submissions webhook_id: Filter by webhook (optional) page: Page number (optional) page_size: Results per page (optional)

Lulu-Produkt-SKUs

Lulu verwendet ein 27-stelliges SKU-System zur Identifizierung von Produkten:

Format : Trim Size + Color + Print Quality + Bind + Paper + PPI + Finish + Linen + Foil

Häufige Beispiele

ArtikelnummerBeschreibung
0850X1100BWSTDLW060UW444MNG8,5 x 11 Zoll großes schwarz-weißes Standard-Leinenpapier mit marineblauem Leinen und Goldfolie
0600X0900FCSTDPB080CW444GXX6" x 9" Standard-Taschenbuch in Farbe mit Hochglanzeinband
0700X1000FCPRECO060UC444MXX7" x 10" Vollfarbe Premium Spiralbindung mit mattem Einband
0600X0900BWSTDPB060UW444MXX6 x 9 Zoll großes Schwarzweiß-Taschenbuch mit mattem Einband

Verwenden Sie den Lulu-Preisrechner, um SKUs für Ihre spezifischen Anforderungen zu generieren.

Testen mit Sandbox

So verwenden Sie die Lulu-Sandbox-Umgebung zum Testen:

  1. Erstellen Sie ein Sandbox-Konto unter https://developers.sandbox.lulu.com/
  2. Holen Sie sich Ihre Sandbox-API-Anmeldeinformationen
  3. Setzen Sie LULU_USE_SANDBOX=true in Ihrer .env Datei
  4. Oder verwenden Sie das Flag --sandbox , wenn Sie die CLI ausführen: lulu-print-mcp --sandbox

Im Sandbox-Modus:

  • Test-Kreditkartennummern für Zahlungen verwenden
  • Bestellungen werden nicht an die eigentliche Produktion gesendet
  • Perfekt für Entwicklung und Tests

Befehlszeilenoptionen

lulu-print-mcp [options] Options: -s, --sandbox Use Lulu sandbox environment instead of production -d, --debug Enable debug logging -h, --help Display help -V, --version Display version

Fehlerbehebung

Authentifizierungsprobleme

  • Überprüfen Sie, ob Ihr Client-Schlüssel und Ihr Geheimnis korrekt sind
  • Überprüfen Sie, ob Sie die richtige Umgebung verwenden (Produktion vs. Sandbox).
  • Stellen Sie sicher, dass Ihre API-Anmeldeinformationen über die erforderlichen Berechtigungen verfügen

Dateivalidierungsfehler

  • Stellen Sie sicher, dass PDF-Dateien über eine URL öffentlich zugänglich sind
  • Überprüfen Sie die Dateiformatanforderungen in der Dokumentation von Lulu
  • Überprüfen Sie, ob die Seitenanzahl und Abmessungen den Produktspezifikationen entsprechen

Netzwerkprobleme

  • Überprüfen Sie Ihre Internetverbindung
  • Überprüfen Sie, ob die Firewall-Einstellungen HTTPS-Verbindungen zu api.lulu.com zulassen
  • Aktivieren Sie den Debug-Modus, um detaillierte Anforderungs-/Antwortprotokolle anzuzeigen

Beitragen

Beiträge sind willkommen! Senden Sie gerne einen Pull Request.

Lizenz

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Bietet Integration mit der Lulu Print API für Print-on-Demand-Dienste über Claude Desktop und andere MCP-Clients, sodass Benutzer Druckaufträge erstellen und verwalten, Dateien validieren, Kosten berechnen und den Versand von Büchern und Druckmaterialien abwickeln können.

  1. Merkmale
    1. 📚 Druckauftragsverwaltung
    2. 📄 Dateivalidierung
    3. 💰 Kostenberechnung
    4. 🚚 Versandmanagement
    5. 🔔 Webhooks
  2. Installation
    1. Globale Installation
    2. Lokale Entwicklung
    3. Docker-Installation
  3. Konfiguration
    1. Holen Sie sich die Lulu API-Anmeldeinformationen
    2. Umgebungsvariablen konfigurieren
  4. Verwendung mit Claude Desktop
    1. Verwendung mit Cursor
      1. Verwendung mit Windsurf
        1. Verfügbare Tools
          1. Kostenberechnung
          2. Druckauftragsverwaltung
          3. Dateivalidierung
          4. Versand
          5. Webhooks
        2. Lulu-Produkt-SKUs
          1. Häufige Beispiele
        3. Testen mit Sandbox
          1. Befehlszeilenoptionen
            1. Fehlerbehebung
              1. Authentifizierungsprobleme
              2. Dateivalidierungsfehler
              3. Netzwerkprobleme
            2. Beitragen
              1. Lizenz

                Related MCP Servers

                • A
                  security
                  A
                  license
                  A
                  quality
                  Enables interaction with 3D printer management systems through an MCP server, supporting STL file manipulation, slicing, and control of printers like OctoPrint, Klipper, Duet, and more.
                  Last updated -
                  11
                  33
                  48
                  TypeScript
                  GPL 2.0
                  • Linux
                  • Apple
                • A
                  security
                  A
                  license
                  A
                  quality
                  MCP server that integrates with Shopify API, allowing Claude Desktop users to retrieve and manipulate product information from Shopify stores.
                  Last updated -
                  5
                  Python
                  MIT License
                  • Apple
                • A
                  security
                  A
                  license
                  A
                  quality
                  Integrates Inkdrop note-taking app with Claude AI through Model Context Protocol, allowing Claude to search, read, create, and update notes in your Inkdrop database.
                  Last updated -
                  5
                  58
                  16
                  JavaScript
                  Apache 2.0
                  • Apple
                • -
                  security
                  A
                  license
                  -
                  quality
                  An unofficial MCP server that provides an interface to access the Autumn pricing API for managing customers, entitlements, invoices, and generating billing portal links.
                  Last updated -
                  5
                  TypeScript
                  MIT License

                View all related MCP servers

                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/devlimelabs/lulu-print-mcp'

                If you have feedback or need assistance with the MCP directory API, please join our Discord server