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

Servidor MCP de impresión Lulu

Un servidor de Protocolo de contexto de modelo (MCP) que proporciona integración con Lulu Print API para servicios de impresión a pedido a través de Claude Desktop y otros clientes MCP.

Características

📚 Gestión de trabajos de impresión

  • Crear y administrar trabajos de impresión para libros y otros materiales impresos
  • Seguimiento del estado del pedido desde su creación hasta la entrega
  • Calcular los costes antes de realizar pedidos
  • Admite múltiples líneas de artículos por pedido

📄 Validación de archivos

  • Validar los archivos PDF interiores antes de imprimir
  • Validar archivos PDF de portada con verificación de dimensiones
  • Calcular las dimensiones de la cubierta requeridas según el número de páginas
  • Obtenga el estado de validación detallado y los informes de errores

💰 Cálculo de costos

  • Calcular los costos del producto según las especificaciones
  • Incluir cálculos de envío e impuestos
  • Soporte para diferentes niveles de envío (CORREO a EXPRESS)
  • Obtenga desgloses detallados de costos

🚚 Gestión de envíos

  • Recuperar opciones de envío disponibles por destino
  • Soporte para envíos internacionales
  • Diferentes niveles de servicio desde correo estándar hasta entrega exprés

🔔 Webhooks

  • Suscribirse a los cambios de estado del trabajo de impresión
  • Administrar puntos finales de webhook
  • Prueba de entrega de webhook
  • Ver el historial de envío de webhooks

Instalación

Instalación global

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

Desarrollo local

# 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

Instalación de Docker

# 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

Configuración

1. Obtenga las credenciales de la API de Lulu

  1. Regístrese para obtener una cuenta de desarrollador de Lulu en https://developers.lulu.com/
  2. Para realizar pruebas, cree una cuenta sandbox en https://developers.sandbox.lulu.com/
  3. Vaya a su página de claves API
  4. Copia tu clave de cliente y tu secreto de cliente

2. Configurar variables de entorno

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

Edite el archivo .env con sus credenciales de API de Lulu:

# 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

Uso con Claude Desktop

Agregue este servidor MCP a su archivo de configuración de Claude Desktop:

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

Sigue las instrucciones para actualizar el archivo de configuración de Claude Desktop. El script generará una configuración similar a la siguiente:

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

Uso con cursor

Agregue este servidor MCP a su archivo de configuración de Cursor:

  1. Abra la configuración del cursor ( Cursor → Settings o Cmd+, en Mac)
  2. Vaya a la sección Características
  3. Busque la configuración del "Protocolo de contexto del modelo"
  4. Agregue la siguiente configuración:
{ "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" } } } }

O si se instala globalmente:

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

Uso con Windsurf

Añade este servidor MCP a tu configuración de Windsurf:

  1. Cree o edite el archivo .windsurf/config.json en el directorio de su proyecto
  2. Agregue la siguiente configuración:
{ "mcpServers": { "lulu-print": { "command": "lulu-print-mcp", "env": { "LULU_CLIENT_KEY": "your_client_key", "LULU_CLIENT_SECRET": "your_client_secret" } } } }

Para la configuración de desarrollo con 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" } } } }

Herramientas disponibles

Cálculo de costos

calcular el coste del trabajo de impresión

Calcular el coste de un trabajo de impresión sin crearlo:

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

Gestión de trabajos de impresión

crear-trabajo-de-impresión

Crear una nueva orden de trabajo de impresión:

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)
lista-impresión-trabajos

Lista de trabajos de impresión con filtros opcionales:

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)
obtener-trabajo-de-impresión

Obtener detalles de un trabajo de impresión específico:

get-print-job id: Print job ID
actualizar-trabajo-de-impresión

Actualizar un trabajo de impresión (solo antes del pago):

update-print-job id: Print job ID external_id: New reference (optional) contact_email: New email (optional)
cancelar trabajo de impresión

Cancelar un trabajo de impresión (solo si no se ha pagado):

cancel-print-job id: Print job ID
obtener el estado del trabajo de impresión

Obtener el estado actual de un trabajo de impresión:

get-print-job-status id: Print job ID
costos de obtener trabajos de impresión

Obtenga los costos detallados de un trabajo de impresión:

get-print-job-costs id: Print job ID
obtener estadísticas del trabajo de impresión

Obtener estadísticas de trabajos de impresión durante un período de tiempo:

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)

Validación de archivos

validar archivo interior

Validar un archivo PDF interior:

validate-interior-file file_url: URL to interior PDF pod_package_id: Product SKU (optional, for normalization)
obtener validación interior

Comprobar el estado de la validación:

get-interior-validation validation_id: ID from validate-interior-file
calcular-dimensiones-de-cobertura

Calcular las dimensiones de la cubierta requerida:

calculate-cover-dimensions pod_package_id: Product SKU page_count: Number of interior pages unit: IN | MM | PT (optional, default: PT)
validar archivo de portada

Validar un archivo PDF de portada:

validate-cover-file file_url: URL to cover PDF pod_package_id: Product SKU page_count: Number of interior pages
validación de obtención de cobertura

Comprobar el estado de validación de la portada:

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

Envío

obtener opciones de envío

Obtenga las opciones de envío disponibles:

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

crear-webhook

Crear una suscripción de webhook:

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

Listar todas las suscripciones de webhook:

list-webhooks
obtener-webhook

Obtener detalles del webhook:

get-webhook id: Webhook ID
actualización-webhook

Actualizar un webhook:

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

Eliminar un webhook:

delete-webhook id: Webhook ID
prueba-webhook

Enviar un webhook de prueba:

test-webhook id: Webhook ID topic: PRINT_JOB_STATUS_CHANGED
envíos de lista de webhooks

Lista de intentos de entrega de webhook:

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

SKU de productos Lulu

Lulu utiliza un sistema SKU de 27 caracteres para identificar los productos:

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

Ejemplos comunes

Código SKUDescripción
0850X1100BWSTDLW060UW444MNGEnvoltura de lino estándar en blanco y negro de 8,5" x 11" con lino azul marino y lámina dorada
0600X0900FCSTDPB080CW444GXXLibro de bolsillo estándar a todo color de 6" x 9" con cubierta brillante
0700X1000FCPRECO060UC444MXXEncuadernación en espiral premium a todo color de 7" x 10" con cubierta mate
0600X0900BWSTDPB060UW444MXXLibro de bolsillo estándar en blanco y negro de 6" x 9" con cubierta mate

Utilice la calculadora de precios de Lulu para generar SKU para sus necesidades específicas.

Pruebas con Sandbox

Para utilizar el entorno sandbox de Lulu para realizar pruebas:

  1. Crea una cuenta sandbox en https://developers.sandbox.lulu.com/
  2. Obtenga sus credenciales de API de sandbox
  3. Establezca LULU_USE_SANDBOX=true en su archivo .env
  4. O utilice el indicador --sandbox al ejecutar la CLI: lulu-print-mcp --sandbox

En modo sandbox:

  • Utilice números de tarjetas de crédito de prueba para los pagos
  • Los pedidos no se enviarán a producción real.
  • Perfecto para desarrollo y pruebas.

Opciones de línea de comandos

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

Solución de problemas

Problemas de autenticación

  • Verifique que su clave de cliente y su secreto sean correctos
  • Comprueba si estás utilizando el entorno adecuado (producción vs. sandbox)
  • Asegúrese de que sus credenciales de API tengan los permisos necesarios

Errores de validación de archivos

  • Asegúrese de que los archivos PDF sean accesibles públicamente a través de URL
  • Consulte los requisitos de formato de archivo en la documentación de Lulu
  • Verifique que el número de páginas y las dimensiones coincidan con las especificaciones del producto

Problemas de red

  • Comprueba tu conexión a Internet
  • Verifique que la configuración del firewall permita conexiones HTTPS a api.lulu.com
  • Habilite el modo de depuración para ver registros detallados de solicitudes y respuestas

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

Licencia

Instituto Tecnológico de Massachusetts (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.

Proporciona integración con Lulu Print API para servicios de impresión bajo demanda a través de Claude Desktop y otros clientes MCP, lo que permite a los usuarios crear y administrar trabajos de impresión, validar archivos, calcular costos y gestionar el envío de libros y materiales impresos.

  1. Características
    1. 📚 Gestión de trabajos de impresión
    2. 📄 Validación de archivos
    3. 💰 Cálculo de costos
    4. 🚚 Gestión de envíos
    5. 🔔 Webhooks
  2. Instalación
    1. Instalación global
    2. Desarrollo local
    3. Instalación de Docker
  3. Configuración
    1. Obtenga las credenciales de la API de Lulu
    2. Configurar variables de entorno
  4. Uso con Claude Desktop
    1. Uso con cursor
      1. Uso con Windsurf
        1. Herramientas disponibles
          1. Cálculo de costos
          2. Gestión de trabajos de impresión
          3. Validación de archivos
          4. Envío
          5. Webhooks
        2. SKU de productos Lulu
          1. Ejemplos comunes
        3. Pruebas con Sandbox
          1. Opciones de línea de comandos
            1. Solución de problemas
              1. Problemas de autenticación
              2. Errores de validación de archivos
              3. Problemas de red
            2. Contribuyendo
              1. Licencia

                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