Skip to main content
Glama
devlimelabs

Lulu Print MCP Server

by devlimelabs

Lulu Print MCP 서버

Claude Desktop 및 기타 MCP 클라이언트를 통한 주문형 인쇄 서비스를 위한 Lulu Print API와의 통합을 제공하는 MCP(Model Context Protocol) 서버입니다.

특징

📚 인쇄 작업 관리

  • 책 및 기타 인쇄물에 대한 인쇄 작업을 만들고 관리합니다.

  • 주문 생성부터 배송까지 주문 상태를 추적하세요

  • 주문하기 전에 비용을 계산하세요

  • 주문당 여러 라인 항목 지원

📄 파일 검증

  • 인쇄하기 전에 내부 PDF 파일을 검증하세요

  • 치수 검사를 통해 표지 PDF 파일 검증

  • 페이지 수를 기준으로 필요한 표지 크기를 계산합니다.

  • 자세한 검증 상태 및 오류 보고 받기

💰 비용 계산

  • 사양에 따라 제품 비용을 계산합니다.

  • 배송비와 세금 계산 포함

  • 다양한 배송 레벨 지원(MAIL에서 EXPRESS까지)

  • 자세한 비용 내역을 확인하세요

🚚 배송 관리

  • 목적지별로 사용 가능한 배송 옵션을 검색합니다.

  • 국제 배송 지원

  • 표준 우편부터 익스프레스 배송까지 다양한 서비스 수준

🔔 웹훅

  • 인쇄 작업 상태 변경 구독

  • 웹훅 엔드포인트 관리

  • 웹훅 전달 테스트

  • 웹훅 제출 내역 보기

Related MCP server: Fused MCP Agents

설치

글로벌 설치

지엑스피1

지역 개발

# 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

도커 설치

# 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

구성

1. Lulu API 자격 증명 받기

  1. https://developers.lulu.com/ 에서 Lulu 개발자 계정에 가입하세요

  2. 테스트를 위해 https://developers.sandbox.lulu.com/ 에서 샌드박스 계정을 만드세요.

  3. API 키 페이지로 이동하세요

  4. 클라이언트 키와 클라이언트 비밀번호를 복사하세요

2. 환경 변수 구성

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

Lulu API 자격 증명으로 .env 파일을 편집합니다.

# 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

Claude Desktop과 함께 사용

Claude Desktop 구성 파일에 이 MCP 서버를 추가하세요.

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

지침에 따라 Claude Desktop 구성 파일을 업데이트하세요. 스크립트는 다음과 유사한 구성을 생성합니다.

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

커서를 사용한 사용

커서 구성 파일에 이 MCP 서버를 추가합니다.

  1. 커서 설정 열기( Cursor → Settings 또는 Mac에서는 Cmd+, )

  2. 기능 섹션으로 이동

  3. "모델 컨텍스트 프로토콜" 설정 찾기

  4. 다음 구성을 추가합니다.

{
  "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"
      }
    }
  }
}

또는 글로벌하게 설치된 경우:

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

Windsurf와 함께 사용

Windsurf 구성에 이 MCP 서버를 추가하세요:

  1. 프로젝트 디렉토리에서 .windsurf/config.json 파일을 생성하거나 편집하세요.

  2. 다음 구성을 추가합니다.

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

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"
      }
    }
  }
}

사용 가능한 도구

비용 계산

인쇄 작업 비용 계산

인쇄 작업을 생성하지 않고도 인쇄 작업 비용을 계산합니다.

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

인쇄 작업 관리

인쇄 작업 생성

새로운 인쇄 작업 주문을 만듭니다.

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)

목록 인쇄 작업

선택적 필터를 사용하여 인쇄 작업 나열:

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)

인쇄 작업 가져오기

특정 인쇄 작업에 대한 세부 정보를 얻으세요:

get-print-job
  id: Print job ID

업데이트-인쇄-작업

인쇄 작업 업데이트(결제 전에만):

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

인쇄 작업 취소

인쇄 작업 취소(미납인 경우에만):

cancel-print-job
  id: Print job ID

인쇄 작업 상태 가져오기

인쇄 작업의 현재 상태를 가져옵니다.

get-print-job-status
  id: Print job ID

인쇄 작업 비용 가져오기

인쇄 작업에 대한 자세한 비용을 알아보세요.

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

인쇄 작업 통계 가져오기

특정 기간 동안의 인쇄 작업에 대한 통계를 얻으세요.

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)

파일 검증

내부 파일 검증

내부 PDF 파일 검증:

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

내부 검증 받기

유효성 검사 상태 확인:

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

덮개 치수 계산

필요한 커버 치수를 계산하세요:

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

검증-커버-파일

표지 PDF 파일 검증:

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

커버 검증 받기

커버 유효성 검사 상태 확인:

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

해운

배송 옵션 받기

이용 가능한 배송 옵션을 확인하세요:

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)

웹훅

웹훅 생성

웹훅 구독 만들기:

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

웹훅 목록

모든 웹훅 구독 나열:

list-webhooks

get-webhook

웹훅 세부 정보 받기:

get-webhook
  id: Webhook ID

업데이트-웹훅

웹훅 업데이트:

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

웹훅 삭제

웹훅 삭제:

delete-webhook
  id: Webhook ID

테스트 웹훅

테스트 웹훅 보내기:

test-webhook
  id: Webhook ID
  topic: PRINT_JOB_STATUS_CHANGED

웹훅 제출 목록

웹훅 전달 시도 목록:

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

Lulu 제품 SKU

Lulu는 27자로 구성된 SKU 시스템을 사용하여 제품을 식별합니다.

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

일반적인 예

상품코드

설명

0850X1100BWSTDLW060UW444MNG

네이비 리넨과 골드 호일이 들어간 8.5" x 11" 흑백 표준 리넨 랩

0600X0900FCSTDPB080CW444GXX

광택 커버가 있는 6" x 9" 풀컬러 표준 페이퍼백

0700X1000FCPRECO060UC444MXX

매트 커버가 있는 7" x 10" 풀컬러 프리미엄 코일 바인딩

0600X0900BWSTDPB060UW444MXX

6" x 9" 흑백 표준 페이퍼백, 매트 커버 포함

Lulu 가격 계산기를 사용하여 귀하의 특정 요구 사항에 맞는 SKU를 생성하세요.

샌드박스로 테스트하기

테스트를 위해 Lulu 샌드박스 환경을 사용하려면:

  1. https://developers.sandbox.lulu.com/ 에서 샌드박스 계정을 만드세요

  2. 샌드박스 API 자격 증명을 받으세요

  3. .env 파일에서 LULU_USE_SANDBOX=true 설정하세요.

  4. 또는 CLI를 실행할 때 --sandbox 플래그를 사용하세요: lulu-print-mcp --sandbox

샌드박스 모드에서:

  • 결제 시 테스트 신용 카드 번호를 사용하세요

  • 주문은 실제 생산으로 전송되지 않습니다.

  • 개발 및 테스트에 적합합니다

명령줄 옵션

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

문제 해결

인증 문제

  • 클라이언트 키와 비밀번호가 올바른지 확인하세요.

  • 올바른 환경(프로덕션 대 샌드박스)을 사용하고 있는지 확인하세요.

  • API 자격 증명에 필요한 권한이 있는지 확인하세요.

파일 유효성 검사 오류

  • URL을 통해 PDF 파일에 공개적으로 액세스할 수 있는지 확인하세요.

  • Lulu 문서에서 파일 형식 요구 사항을 확인하세요.

  • 페이지 수와 치수가 제품 사양과 일치하는지 확인하세요.

네트워크 문제

  • 인터넷 연결을 확인하세요

  • 방화벽 설정이 api.lulu.com에 대한 HTTPS 연결을 허용하는지 확인하세요.

  • 자세한 요청/응답 로그를 보려면 디버그 모드를 활성화하세요.

기여하다

기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.

특허

MIT

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

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