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 サーバー

Claude Desktop やその他の MCP クライアントを通じてオンデマンド印刷サービス用の Lulu Print API との統合を提供するモデル コンテキスト プロトコル (MCP) サーバー。

特徴

📚 印刷ジョブ管理

  • 書籍やその他の印刷物の印刷ジョブの作成と管理
  • 注文の作成から配送までのステータスを追跡
  • 注文前にコストを計算する
  • 注文ごとに複数の明細項目をサポート

📄 ファイル検証

  • 印刷前に内部PDFファイルを検証する
  • 寸法チェックで表紙PDFファイルを検証
  • ページ数に基づいて必要な表紙の寸法を計算する
  • 詳細な検証ステータスとエラーレポートを取得する

💰 コスト計算

  • 仕様に基づいて製品コストを計算する
  • 送料と税金の計算を含める
  • さまざまな配送レベル(メール便から速達便まで)をサポート
  • 詳細なコストの内訳を取得する

🚚 配送管理

  • 目的地別に利用可能な配送オプションを取得する
  • 国際配送のサポート
  • 通常郵便から速達便まで、さまざまなサービスレベル

🔔 ウェブフック

  • 印刷ジョブのステータス変更を購読する
  • Webhookエンドポイントを管理する
  • Webhook配信のテスト
  • Webhook の送信履歴を表示する

インストール

グローバルインストール

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

地域開発

# 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のインストール

# 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での使用

この MCP サーバーを Claude Desktop 構成ファイルに追加します。

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

ウィンドサーフィンでの使用

この MCP サーバーを Windsurf 構成に追加します。

  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)

ウェブフック

ウェブフックの作成

Webhook サブスクリプションを作成します。

create-webhook url: Webhook endpoint URL topics: Array of events (currently supports ["PRINT_JOB_STATUS_CHANGED"])
ウェブフック一覧

すべての Webhook サブスクリプションを一覧表示します。

list-webhooks
ウェブフックを取得する

Webhook の詳細を取得します。

get-webhook id: Webhook ID
更新ウェブフック

Webhook を更新します。

update-webhook id: Webhook ID url: New URL (optional) topics: New topics (optional) is_active: Enable/disable (optional)
ウェブフックの削除

Webhook を削除します。

delete-webhook id: Webhook ID
テストウェブフック

テスト Webhook を送信します。

test-webhook id: Webhook ID topic: PRINT_JOB_STATUS_CHANGED
Webhook 送信リスト

Webhook 配信の試行を一覧表示します。

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

一般的な例

SKU説明
0850X1100BWSTDLW060UW444MNG8.5インチ x 11インチの白黒標準リネンラップ。ネイビーのリネンとゴールドの箔を使用。
0600X0900FCSTDPB080CW444GXX6インチ×9インチのフルカラー標準ペーパーバック(光沢カバー付き)
0700X1000FCPRECO060UC444MXX7インチ×10インチのフルカラープレミアムコイル綴じ、マットカバー付き
0600X0900BWSTDPB060UW444MXX6インチ×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認証情報に必要な権限があることを確認する

ファイル検証エラー

  • PDFファイルがURL経由で公開されていることを確認する
  • Luluのドキュメントでファイル形式の要件を確認してください
  • ページ数と寸法が製品仕様と一致していることを確認します

ネットワークの問題

  • インターネット接続を確認してください
  • ファイアウォール設定でapi.lulu.comへのHTTPS接続が許可されていることを確認します。
  • 詳細なリクエスト/レスポンスログを表示するにはデバッグモードを有効にします

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

ライセンス

マサチューセッツ工科大学

-
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.

Claude Desktop やその他の MCP クライアントを通じてオンデマンド印刷サービス用の Lulu Print API との統合を提供し、ユーザーが印刷ジョブの作成と管理、ファイルの検証、コストの計算、書籍や印刷物の発送処理を行えるようにします。

  1. 特徴
    1. 📚 印刷ジョブ管理
    2. 📄 ファイル検証
    3. 💰 コスト計算
    4. 🚚 配送管理
    5. 🔔 ウェブフック
  2. インストール
    1. グローバルインストール
    2. 地域開発
    3. Dockerのインストール
  3. 構成
    1. Lulu API認証情報を取得する
    2. 環境変数を設定する
  4. Claude Desktopでの使用
    1. カーソルとの使用
      1. ウィンドサーフィンでの使用
        1. 利用可能なツール
          1. コスト計算
          2. 印刷ジョブ管理
          3. ファイル検証
          4. 配送
          5. ウェブフック
        2. Lulu製品SKU
          1. 一般的な例
        3. サンドボックスでのテスト
          1. コマンドラインオプション
            1. トラブルシューティング
              1. 認証の問題
              2. ファイル検証エラー
              3. ネットワークの問題
            2. 貢献
              1. ライセンス

                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