home / mcp / lulu print mcp server

Lulu Print MCP Server

MCP server for lulu-print-mcp - Part of the master-mcps collection

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "devlimelabs-lulu-print-mcp": {
      "command": "lulu-print-mcp",
      "args": [],
      "env": {
        "DEBUG": "false",
        "LULU_CLIENT_KEY": "your_client_key_here",
        "LULU_USE_SANDBOX": "false",
        "LULU_CLIENT_SECRET": "your_client_secret_here"
      }
    }
  }
}

Lulu Print MCP Server enables seamless integration with Lulu Print API for print-on-demand workflows. You can manage print jobs, validate files, calculate costs, handle shipping, and subscribe to status Webhooks from a single MCP server reachable by Claude Desktop, Cursor, Windsurf, or other MCP clients.

How to use

You connect an MCP client to the Lulu Print MCP Server to create and manage print jobs, validate interior and cover PDFs, estimate costs, and obtain shipping options. You can set up webhooks to receive status updates and test deliveries to ensure your integration behaves as expected. Use environment variables for credentials and toggle sandbox mode for safe testing.

How to install

Prerequisites: you need Node.js installed on your system. If you plan to run Docker, ensure Docker and Docker Compose are available.

# Global installation
npm install -g @devlimelabs/lulu-print-mcp

# Start the server
lulu-print-mcp

Local development flow: clone the project, install dependencies, set up the development environment, and run the dev server.

# 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 usage: you can build and run with Docker Compose or run the image directly.

# 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

Configuration and startup details

Configure your Lulu API credentials in a configuration file. Create a copy of the example config and edit it with your keys and endpoints.

# Create a configuration file
cp .env.example .env
```
```bash
# Edit the .env file with your Lulu API credentials
LULU_CLIENT_KEY=your_client_key_here
LULU_CLIENT_SECRET=your_client_secret_here

# Optional 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

Usage with MCP clients

Add the MCP server to your client configuration so it can communicate with Lulu Print APIs. You will typically provide the server command and required environment variables.

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

Security and environment variables

Protect your API credentials. Store keys in a secure environment file and ensure the file is not committed to version control. Use sandbox mode for development to avoid affecting real orders.

Environment variables shown here are required for running the MCP server with Lulu Print integration.

Troubleshooting

If you encounter authentication issues, verify your client key and secret and ensure you are using the correct environment (production vs sandbox). Check that your API credentials have the necessary permissions.

For file validation errors, confirm that PDFs are publicly accessible via URL and that page counts and dimensions match product specifications.

If you experience network issues, ensure a stable internet connection and that HTTPS connections to the Lulu API are not blocked. Enable debug mode to see more detailed logs.

Notes

Webhooks are available to subscribe to print job status changes and to test webhook delivery. You can manage webhook endpoints and view delivery history.

Available tools

calculate-print-job-cost

Calculate the cost of a print job without creating it, including line items and shipping options.

create-print-job

Create a new print job with details such as titles, PDFs for cover/interior, shipping address, and options.

list-print-jobs

List existing print jobs with filters like status and date range.

get-print-job

Retrieve details for a specific print job by ID.

update-print-job

Update details of a print job before payment is completed.

cancel-print-job

Cancel an unpaid print job by ID.

get-print-job-status

Get the current status of a print job.

get-print-job-costs

Obtain a detailed cost breakdown for a print job.

get-print-job-statistics

Get aggregated statistics for print jobs over a time period.

validate-interior-file

Validate an interior PDF for print readiness.

validate-cover-file

Validate a cover PDF and check required dimensions.

calculate-cover-dimensions

Compute required cover dimensions based on interior pages.

get-shipping-options

Retrieve available shipping options by destination and product.

create-webhook

Subscribe to webhook events for status changes.

list-webhooks

List configured webhook subscriptions.

get-webhook

Retrieve details for a specific webhook.

update-webhook

Update webhook configuration.

delete-webhook

Remove a webhook subscription.

test-webhook

Send a test webhook delivery for a given topic.

list-webhook-submissions

List delivery attempts for webhook endpoints.