Сервер MCP Lulu Print
Сервер Model Context Protocol (MCP), который обеспечивает интеграцию с API Lulu Print для услуг печати по запросу через Claude Desktop и другие клиенты MCP.
Функции
📚 Управление заданиями печати
Создавайте и управляйте заданиями на печать книг и других печатных материалов
Отслеживайте статус заказа от создания до доставки
Рассчитайте стоимость перед размещением заказов
Поддержка нескольких позиций в заказе
📄 Проверка файла
Проверьте внутренние файлы PDF перед печатью
Проверка файлов PDF обложек с проверкой размеров
Рассчитайте необходимые размеры обложки на основе количества страниц
Получите подробный статус проверки и отчеты об ошибках
💰 Расчет стоимости
Рассчитать себестоимость продукции на основе спецификаций
Включить расчеты стоимости доставки и налогов
Поддержка различных уровней доставки (от MAIL до EXPRESS)
Получите подробную разбивку затрат
🚚 Управление доставкой
Получить доступные варианты доставки по месту назначения
Поддержка международной доставки
Различные уровни обслуживания: от стандартной почты до экспресс-доставки
🔔 Вебхуки
Подпишитесь на обновления статуса задания на печать
Управление конечными точками веб-перехвата
Тестовая доставка вебхука
Просмотреть историю отправки вебхуков
Related MCP server: Fused MCP Agents
Установка
Глобальная установка
# 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Установка докера
# 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. Получите учетные данные API Lulu
Зарегистрируйте учетную запись разработчика Lulu на сайте https://developers.lulu.com/
Для тестирования создайте учетную запись sandbox на сайте https://developers.sandbox.lulu.com/
Перейдите на страницу ключей API.
Скопируйте свой клиентский ключ и секретный ключ клиента
2. Настройте переменные среды
# Create a configuration file
cp .env.example .envОтредактируйте файл .env , используя ваши учетные данные API 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Использование с 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-сервер в файл конфигурации курсора:
Откройте настройки курсора (
Cursor → SettingsилиCmd+,на Mac)Перейдите в раздел «Функции».
Найдите настройки «Model Context Protocol»
Добавьте следующую конфигурацию:
{
"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:
Создайте или отредактируйте файл
.windsurf/config.jsonв каталоге вашего проекта.Добавьте следующую конфигурацию:
{
"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получить-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список-webhook-отчетов
Список попыток доставки вебхука:
list-webhook-submissions
webhook_id: Filter by webhook (optional)
page: Page number (optional)
page_size: Results per page (optional)Артикулы продукции Lulu
Для идентификации продукции Lulu использует 27-символьную систему артикулов:
Формат : Trim Size + Color + Print Quality + Bind + Paper + PPI + Finish + Linen + Foil
Распространенные примеры
Артикул | Описание |
| 8,5" x 11" черно-белая стандартная льняная упаковка с темно-синим льном и золотой фольгой |
| 6" x 9" полноцветная стандартная мягкая обложка с глянцевой обложкой |
| 7" x 10" полноцветная книга премиум-класса в рулонном переплете с матовой обложкой |
| 6" x 9" черно-белая стандартная мягкая обложка с матовой обложкой |
Используйте калькулятор цен Lulu для расчета артикулов, соответствующих вашим конкретным потребностям.
Тестирование с помощью песочницы
Чтобы использовать среду песочницы Lulu для тестирования:
Создайте учетную запись sandbox на сайте https://developers.sandbox.lulu.com/
Получите учетные данные API вашей песочницы
Установите
LULU_USE_SANDBOX=trueв вашем.envфайлеИли используйте флаг
--sandboxпри запуске CLI: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.
Проверьте, соответствуют ли количество страниц и размеры спецификациям продукта.
Проблемы с сетью
Проверьте подключение к Интернету
Убедитесь, что настройки брандмауэра разрешают HTTPS-подключения к api.lulu.com.
Включите режим отладки, чтобы увидеть подробные журналы запросов/ответов.
Внося вклад
Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на включение.
Лицензия
Массачусетский технологический институт