Printify MCP Server

ISC License
  • Linux
  • Apple

Integrations

  • Supports configuration through .env files to manage API keys and settings for Printify, Replicate, and other services.

  • Enables browsing and selection of product blueprints from the Printify catalog for creating print-on-demand items.

  • Provides containerized deployment options with pre-built Docker images that can be pulled from Docker Hub, along with Docker Compose configurations for easier setup.

Printify MCP 서버

AI 어시스턴트를 Printify의 주문형 인쇄 플랫폼과 통합하기 위한 MCP(모델 컨텍스트 프로토콜) 서버입니다.

목차

개요

Printify MCP 서버는 Claude와 같은 AI 비서와 Printify의 주문형 인쇄 플랫폼을 연결하는 다리 역할을 합니다. AI 비서가 주문형 인쇄 제품을 제작 및 관리하고, AI를 사용하여 디자인을 생성하고, 모델 컨텍스트 프로토콜(MCP)을 통해 제품 관리의 모든 측면을 처리할 수 있도록 지원합니다.

MCP는 Anthropic에서 개발한 개방형 표준으로, 애플리케이션이 대규모 언어 모델(LLM)에 컨텍스트를 제공하는 방식을 표준화합니다. 이 서버는 Printify의 기능을 AI 비서에 체계적으로 제공하기 위해 MCP 사양을 구현합니다.

특징

이 MCP 서버는 다음과 같은 기능을 제공합니다.

Printify API 통합

  • 인증 : API 키로 Printify API 클라이언트를 초기화합니다.
  • 상점 : Printify 상점을 나열하고 관리하세요
  • 제품 : 제품 생성, 읽기, 업데이트, 삭제 및 게시
  • 카탈로그 : 청사진, 인쇄 제공업체 및 변형을 탐색합니다.
  • 이미지 : 제품 디자인에 사용할 이미지를 업로드하세요

AI 이미지 생성

  • Replicate 통합 : Replicate의 Flux 1.1 Pro 모델을 사용하여 이미지 생성
  • 결합된 워크플로 : AI로 이미지를 생성하고 한 단계로 Printify에 직접 업로드

선적 서류 비치

  • 도구 내 문서 : 제품 생성의 모든 측면에 대한 포괄적인 문서
  • 워크플로우 지침 : 제품 생성을 위한 단계별 가이드

프롬프트

  • 제품 설명 생성 : 제품 세부 정보를 기반으로 매력적인 제품 설명을 생성합니다.

필수 조건

  • Node.js(v18 이상)
  • npm(v7 이상)
  • Printify API 키
  • API 토큰 복제(AI 이미지 생성용)
  • ImgBB API 키(Flux 1.1 Pro Ultra 모델을 사용하는 경우 필요)

설치

지엑스피1

구성

서버에 필요한 환경 변수를 구성하는 데는 두 가지 옵션이 있습니다.

옵션 1: .env 파일 사용(권장)

  1. 프로젝트의 루트 디렉토리에 다음 변수를 사용하여 .env 파일을 만듭니다.
# Required for all functionality PRINTIFY_API_KEY=your_printify_api_key # Required if using the Flux 1.1 Pro Ultra model for image generation # The Ultra model generates high-resolution images that are too large for direct base64 upload IMGBB_API_KEY=your_imgbb_api_key # Optional: If not provided, the first shop in your account will be used PRINTIFY_SHOP_ID=your_shop_id # Optional: Only needed if you want to use image generation features REPLICATE_API_TOKEN=your_replicate_api_token

다음과 같이 .env.example 파일을 복사하여 템플릿으로 사용할 수 있습니다.

cp .env.example .env # Then edit the .env file with your actual API keys

옵션 2: 시스템 환경 변수 사용

또는 시스템 환경에서 이러한 변수를 직접 설정할 수 있습니다.

Windows(명령 프롬프트):

:: Required set PRINTIFY_API_KEY=your_printify_api_key :: Optional set PRINTIFY_SHOP_ID=your_shop_id :: Optional - only for image generation set REPLICATE_API_TOKEN=your_replicate_api_token

윈도우(PowerShell):

# Required $env:PRINTIFY_API_KEY = "your_printify_api_key" # Optional $env:PRINTIFY_SHOP_ID = "your_shop_id" # Optional - only for image generation $env:REPLICATE_API_TOKEN = "your_replicate_api_token"

macOS/Linux:

# Required export PRINTIFY_API_KEY=your_printify_api_key # Optional export PRINTIFY_SHOP_ID=your_shop_id # Optional - only for image generation export REPLICATE_API_TOKEN=your_replicate_api_token

서버는 이러한 환경 변수가 .env 파일에 설정되어 있든, 시스템 환경에 설정되어 있든 관계없이 시작 시 해당 환경 변수를 확인합니다.

Printify API 키 받기

  1. Printify 계정에 로그인하세요
  2. 설정 > API로 이동하세요
  3. "새 API 키 만들기"를 클릭하세요
  4. API 키를 복사하여 .env 파일에 추가하세요.

복제 API 토큰 얻기

  1. Replicate 에 계정을 만드세요
  2. 계정 설정으로 이동하세요
  3. API 토큰 생성
  4. 토큰을 복사하여 .env 파일에 추가하세요.

용법

서버 시작

npm start

이렇게 하면 stdio 전송을 사용하여 MCP 서버가 시작되어 Claude Desktop과 같은 MCP 클라이언트와 통신할 수 있습니다. 서버는 환경 변수의 API 키를 사용하여 Printify API 클라이언트를 자동으로 초기화합니다.

개발 모드

npm run dev

이렇게 하면 파일이 변경되면 자동으로 다시 로드되는 개발 모드로 서버가 시작됩니다.

Claude Desktop과 함께 사용

Claude Desktop과 함께 이 MCP 서버를 사용하는 방법은 세 가지가 있습니다.

옵션 1: npm에서 설치(권장)

  1. 패키지를 전역으로 설치합니다.
    npm install -g @tsavo/printify-mcp
  2. 구성 섹션에 설명된 대로 현재 디렉토리의 .env 파일을 사용하거나 시스템 환경 변수를 사용하여 환경 변수를 구성합니다.
  3. Claude Desktop 구성:
    • 클로드 데스크톱 열기
    • 설정 > MCP 서버로 이동하세요
    • "서버 추가"를 클릭하세요
    • 서버 이름을 입력하세요(예: "Printify MCP")
    • 전송 유형으로 "명령"을 선택하세요
    • 명령으로 printify-mcp 입력하세요.
    • 인수가 필요하지 않습니다
    • "서버 추가"를 클릭하세요
  4. Claude에게 Printify 상태를 확인하도록 요청하여 연결을 테스트합니다.
    Can you check the status of my Printify connection?
    printify-mcp 명령은 원래 index.ts 파일과 동일한 코드를 실행하지만, 명령줄에서 직접 실행할 수 있는 실행 파일로 패키징되었습니다.

옵션 2: npx와 함께 사용

패키지를 전역적으로 설치하지 않으려면 npx를 사용할 수 있습니다.

  1. 구성 섹션에 설명된 대로 환경 변수를 구성합니다.
  2. Claude Desktop 구성:
    • 클로드 데스크톱 열기
    • 설정 > MCP 서버로 이동하세요
    • "서버 추가"를 클릭하세요
    • 서버 이름을 입력하세요(예: "Printify MCP")
    • 전송 유형으로 "명령"을 선택하세요
    • 명령어로 npx 입력하세요
    • 인수로 @tsavo/printify-mcp 입력하세요.
    • "서버 추가"를 클릭하세요

옵션 3: Docker 사용(격리에 권장)

Docker 컨테이너에서 서버를 실행하려면 두 가지 옵션이 있습니다.

옵션 3A: Docker Hub에서 직접 Docker 이미지 사용
  1. 시스템에 Docker가 설치되어 있는지 확인하세요
  2. Printify MCP 파일을 위한 디렉토리를 만드세요.
    mkdir printify-mcp cd printify-mcp
  3. API 키로 .env 파일을 만듭니다.
    PRINTIFY_API_KEY=your_printify_api_key PRINTIFY_SHOP_ID=your_shop_id (optional) REPLICATE_API_TOKEN=your_replicate_api_token IMGBB_API_KEY=your_imgbb_api_key (required for Flux 1.1 Pro Ultra model)
  4. 임시 파일을 위한 임시 디렉토리를 만듭니다.
    mkdir temp
  5. Docker 컨테이너 실행(두 가지 옵션):옵션 A: 환경 변수를 직접 사용(권장)
    # For Linux/macOS/Windows PowerShell: docker run -it --name printify-mcp \ -e PRINTIFY_API_KEY=your_printify_api_key \ -e PRINTIFY_SHOP_ID=your_shop_id_optional \ -v $(pwd)/temp:/app/temp \ tsavo/printify-mcp:latest # For Windows Command Prompt: docker run -it --name printify-mcp ^ -e PRINTIFY_API_KEY=your_printify_api_key ^ -e PRINTIFY_SHOP_ID=your_shop_id_optional ^ -v %cd%/temp:/app/temp ^ tsavo/printify-mcp:latest
    참고: 이미지 생성 기능(이미지 생성 및 업로드 도구)을 사용하려면 Replicate API 토큰을 추가하세요.
    -e REPLICATE_API_TOKEN=your_replicate_api_token \
    중요: Flux 1.1 Pro Ultra 모델을 사용하여 이미지 생성을 원하는 경우 ImgBB API 키도 반드시 추가해야 합니다.
    -e IMGBB_API_KEY=your_imgbb_api_key \
    옵션 B: .env 파일 사용
    # For Linux/macOS: docker run -it --name printify-mcp \ -v $(pwd)/.env:/app/.env:ro \ -v $(pwd)/temp:/app/temp \ tsavo/printify-mcp:latest # For Windows PowerShell: docker run -it --name printify-mcp -v ${PWD}/.env:/app/.env:ro -v ${PWD}/temp:/app/temp tsavo/printify-mcp:latest # For Windows Command Prompt: docker run -it --name printify-mcp -v %cd%/.env:/app/.env:ro -v %cd%/temp:/app/temp tsavo/printify-mcp:latest
  6. Claude Desktop 구성:
    • 클로드 데스크톱 열기
    • 설정 > MCP 서버로 이동하세요
    • "서버 추가"를 클릭하세요
    • 서버 이름을 입력하세요(예: "Printify MCP Docker")
    • 전송 유형으로 "명령"을 선택하세요
    • 명령어로 docker 입력하세요
    • 인수로 exec -i printify-mcp node dist/index.js 입력합니다.
    • "서버 추가"를 클릭하세요
옵션 3B: Docker Compose로 빌드 및 실행
  1. 시스템에 Docker와 Docker Compose가 설치되어 있는지 확인하세요.
  2. 이 저장소를 로컬 컴퓨터에 복제하세요.
    git clone https://github.com/tsavo/printify-mcp.git cd printify-mcp
  3. 환경 변수 구성(두 가지 옵션):옵션 A: docker-compose.yml을 직접 편집합니다(권장) docker-compose.yml을 열고 환경 변수의 주석 처리를 제거하거나 편집합니다.
    environment: - NODE_ENV=production # Option 1: Set environment variables directly (recommended) - PRINTIFY_API_KEY=your_printify_api_key - PRINTIFY_SHOP_ID=your_shop_id_optional # Optional: Only needed if you want to use image generation features - REPLICATE_API_TOKEN=your_replicate_api_token # Required if using the Flux 1.1 Pro Ultra model for image generation - IMGBB_API_KEY=your_imgbb_api_key
    옵션 B: .env 파일 만들기
    PRINTIFY_API_KEY=your_printify_api_key PRINTIFY_SHOP_ID=your_shop_id (optional) # Optional: Only needed if you want to use image generation features REPLICATE_API_TOKEN=your_replicate_api_token # Required if using the Flux 1.1 Pro Ultra model for image generation IMGBB_API_KEY=your_imgbb_api_key
    그런 다음 docker-compose.yml에서 .env 볼륨 마운트의 주석 처리를 제거합니다.
    volumes: # Option 2: Mount a .env file for environment variables - ./.env:/app/.env:ro
  4. Docker 컨테이너를 빌드하고 시작합니다.
    docker-compose up -d
  5. Claude Desktop 구성:
    • 클로드 데스크톱 열기
    • 설정 > MCP 서버로 이동하세요
    • "서버 추가"를 클릭하세요
    • 서버 이름을 입력하세요(예: "Printify MCP Docker")
    • 전송 유형으로 "명령"을 선택하세요
    • 명령어로 docker 입력하세요
    • 인수로 exec -i printify-mcp node dist/index.js 입력합니다.
    • "서버 추가"를 클릭하세요
  6. Claude에게 Printify 상태를 확인하도록 요청하여 연결을 테스트합니다.
    Can you check the status of my Printify connection?

옵션 4: 저장소 복제 및 설정

Docker 없이 소스 코드로 직접 작업하고 싶다면:

  1. 이 저장소를 로컬 컴퓨터에 복제하세요.
    git clone https://github.com/tsavo/printify-mcp.git cd printify-mcp
  2. 종속성을 설치하고 프로젝트를 빌드합니다.
    npm install npm run build
  3. 구성 섹션에 설명된 대로 .env 파일이나 시스템 환경 변수를 사용하여 환경 변수를 구성합니다.
  4. 컴파일된 JavaScript 파일의 전체 절대 경로를 가져옵니다.윈도우:
    cd dist echo %CD%\index.js
    macOS/Linux:
    realpath dist/index.js
  5. Claude Desktop 구성:
    • 클로드 데스크톱 열기
    • 설정 > MCP 서버로 이동하세요
    • "서버 추가"를 클릭하세요
    • 서버 이름을 입력하세요(예: "Printify MCP")
    • 전송 유형으로 "명령"을 선택하세요
    • 명령어로 Node.js 경로를 입력하세요(예: node )
    • 인수로 빌드된 서버의 전체 절대 경로를 입력하세요.
    • "서버 추가"를 클릭하세요
  6. 서버를 시작합니다:
    npm start
    Claude Desktop을 사용하는 동안 이 터미널 창을 열어 두세요.

연결 테스트

Claude와 대화할 때 Claude에게 Printify 상태를 확인하도록 요청하여 서버가 작동하는지 테스트할 수 있습니다.

Can you check the status of my Printify connection?

Claude는 get-printify-status 도구를 사용하여 연결 상태를 확인해야 합니다. 또한 list-shops 도구를 사용하여 Claude에게 Printify 상점 목록을 요청하실 수도 있습니다.

문제가 발생할 경우:

  1. 서버를 시작한 콘솔 출력에서 오류 메시지를 확인하세요.
  2. 환경 변수가 올바르게 설정되었는지 확인하세요
  3. 서버가 계속 실행 중인지 확인하세요
  4. Claude Desktop의 서버 경로가 올바른지 확인하세요.

사용 가능한 도구

매장 관리

get-printify-status

연결 상태와 현재 매장을 포함하여 Printify API 클라이언트의 현재 상태를 가져옵니다.

list-shops

Printify 계정에서 이용 가능한 모든 매장을 나열합니다. 현재 선택된 매장은 화살표(→)로 표시됩니다.

switch-shop

이후 API 호출 시 다른 상점으로 전환하세요.

매개변수:

  • shopId (문자열): 전환할 상점의 ID

제품 도구

list-products

Printify 상점에 제품을 나열하세요.

매개변수:

  • page (번호, 선택 사항): 페이지 번호(기본값: 1)
  • limit (숫자, 선택): 페이지당 제품 수(기본값: 10)
get-product

특정 제품에 대한 세부 정보를 얻으세요.

매개변수:

  • productId (문자열): 제품 ID
create-product

Printify 숍에서 새로운 제품을 만들어보세요.

매개변수:

  • title (문자열): 제품 제목
  • description (문자열): 제품 설명
  • blueprintId (숫자): 청사진 ID
  • printProviderId (숫자): 인쇄 제공자 ID
  • variants (배열): 제품 변형
  • printAreas (객체, 선택 사항): 제품의 인쇄 영역
update-product

Printify 숍에서 기존 제품을 업데이트하세요.

매개변수:

  • productId (문자열): 제품 ID
  • title (문자열, 선택 사항): 제품 제목
  • description (문자열, 선택 사항): 제품 설명
  • variants (배열, 선택 사항): 제품 변형
  • printAreas (객체, 선택 사항): 제품의 인쇄 영역
delete-product

Printify 숍에서 제품을 삭제합니다.

매개변수:

  • productId (문자열): 제품 ID
publish-product

연결된 판매 채널에 제품을 게시합니다.

매개변수:

  • productId (문자열): 제품 ID
  • publishDetails (객체, 선택 사항): 게시 세부 정보

카탈로그 도구

get-blueprints

Printify 카탈로그에서 사용 가능한 청사진 목록을 받으세요.

매개변수:

  • page (번호, 선택 사항): 페이지 번호(기본값: 1)
  • limit (숫자, 선택 사항): 페이지당 청사진 수(기본값: 10)
get-blueprint

특정 청사진의 세부 정보를 얻으세요.

매개변수:

  • blueprintId (문자열): 청사진 ID
get-print-providers

특정 청사진에 대한 인쇄 공급업체 목록을 받으세요.

매개변수:

  • blueprintId (문자열): 청사진 ID
get-variants

특정 청사진과 인쇄 공급업체에 대한 변형 목록을 가져옵니다.

매개변수:

  • blueprintId (문자열): 청사진 ID
  • printProviderId (문자열): 인쇄 공급자 ID

이미지 도구

generate-and-upload-image

Replicate의 Flux 모델을 사용하여 이미지를 생성하고 Sharp로 처리한 후 Printify에 한 번에 업로드하세요. 이 도구는 AI 이미지 생성 기능과 Printify 통합 기능을 결합하여 원활한 워크플로를 제공합니다.

이 도구는 4단계를 수행합니다.

  1. 텍스트 프롬프트를 기반으로 Replicate의 Flux 모델을 사용하여 이미지를 생성합니다.
  2. Printify에 적합한 형식을 갖춘 유효한 이미지인지 확인하기 위해 Sharp로 이미지를 처리합니다.
  3. 처리된 이미지를 Printify 계정에 업로드합니다.
  4. 디스크 공간 문제를 방지하기 위해 임시 파일을 정리합니다.

매개변수:

  • prompt (문자열): 이미지 생성을 위한 텍스트 프롬프트
  • fileName (문자열): 업로드된 이미지의 파일 이름
  • model (문자열, 선택 사항): 기본 모델을 재정의합니다(예: "black-forest-labs/flux-1.1-pro-ultra")
  • width (숫자, 선택 사항): 픽셀 단위의 이미지 너비(기본값: 1024)
  • height (숫자, 선택 사항): 픽셀 단위의 이미지 높이(기본값: 1024)
  • aspectRatio (문자열, 선택 사항): 종횡비(예: '16:9', '4:3', '1:1'). 이 값을 지정하면 너비와 높이가 재정의됩니다.
  • outputFormat (문자열, 선택 사항): 출력 형식("jpeg", "png", "webp")(기본값: "png")
  • numInferenceSteps (숫자, 선택 사항): 추론 단계 수(기본값: 25)
  • guidanceScale (숫자, 선택 사항): 안내 척도(기본값: 7.5)
  • negativePrompt (문자열, 선택 사항): 부정적 프롬프트(기본값: "낮은 품질, 나쁜 품질, 스케치")
  • seed (숫자, 선택 사항): 재현 가능한 생성을 위한 난수 시드
  • raw (부울, 선택 사항): 처리가 덜 된 자연스러운 이미지를 생성합니다(기본값: Flux 1.1 Pro Ultra의 경우 true)

참고: 이 도구를 사용하려면 REPLICATE_API_TOKEN 환경 변수에 유효한 Replicate API 토큰을 설정해야 합니다. 토큰은 replicate.com 에서 얻을 수 있습니다.

중요: Flux 1.1 Pro Ultra 모델을 사용하려면 IMGBB_API_KEY 환경 변수도 반드시 설정해야 합니다. Ultra 모델은 Printify에 직접 base64로 업로드하기에는 너무 큰 고해상도 이미지를 생성합니다. api.imgbb.com 에서 무료 API 키를 받을 수 있습니다.

generate-image

Replicate의 Flux 모델을 사용하여 이미지를 생성하고 Printify에 업로드하지 않고 로컬 파일에 저장할 수 있습니다. 이 도구는 다른 용도로 이미지를 생성하거나 Printify에 업로드하기 전에 이미지를 검토하고 편집하려는 경우에 유용합니다.

매개변수:

  • prompt (문자열): 이미지 생성을 위한 텍스트 프롬프트
  • outputPath (문자열): 생성된 이미지가 저장되어야 하는 전체 경로
  • model (문자열, 선택 사항): 기본 모델을 재정의합니다(예: "black-forest-labs/flux-1.1-pro-ultra")
  • width (숫자, 선택 사항): 픽셀 단위의 이미지 너비(기본값: 1024)
  • height (숫자, 선택 사항): 픽셀 단위의 이미지 높이(기본값: 1024)
  • aspectRatio (문자열, 선택 사항): 종횡비(예: '16:9', '4:3', '1:1'). 이 값을 지정하면 너비와 높이가 재정의됩니다.
  • outputFormat (문자열, 선택 사항): 출력 형식("jpeg", "png", "webp")(기본값: "png")
  • numInferenceSteps (숫자, 선택 사항): 추론 단계 수(기본값: 25)
  • guidanceScale (숫자, 선택 사항): 안내 척도(기본값: 7.5)
  • negativePrompt (문자열, 선택 사항): 부정적 프롬프트(기본값: "낮은 품질, 나쁜 품질, 스케치")
  • seed (숫자, 선택 사항): 재현 가능한 생성을 위한 난수 시드
  • raw (부울, 선택 사항): 처리가 덜 된 자연스러운 이미지 생성(Flux 1.1 Pro Ultra만 해당)

참고: 이 도구를 사용하려면 REPLICATE_API_TOKEN 환경 변수에 유효한 Replicate API 토큰을 설정해야 합니다. 토큰은 replicate.com 에서 얻을 수 있습니다.

generate-and-upload-image 도구와 달리 이 도구는 로컬 파일에 직접 저장하므로 ImgBB API 키가 필요하지 않습니다.

upload-image

Printify 계정에 이미지를 업로드하세요. 세 가지 유형의 입력을 지원합니다.

  1. URL(http:// 또는 https://) - Printify에 직접 업로드
  2. 로컬 파일 경로(예: c:\path\to\image.png) - 호환성을 보장하기 위해 Sharp를 사용하여 자동으로 변환한 다음 Printify에 업로드됨
  3. Base64로 인코딩된 이미지 문자열 - Printify에 직접 업로드

파일 형식에 대한 참고사항:

  • 지원되는 형식: PNG, JPEG 및 SVG
  • JPEG/PNG 파일의 권장 해상도는 300DPI입니다.
  • 더 큰 제품(레깅스, 담요, 태피스트리)의 경우 120-150 DPI가 허용됩니다.
  • 일부 이미지 파일은 크기 제한을 초과할 경우 Printify API와 호환되지 않을 수 있습니다.
  • 5MB보다 큰 파일의 경우 base64 인코딩보다 URL 업로드가 권장됩니다.

매개변수:

  • fileName (문자열): 파일 이름
  • url (문자열): 업로드할 이미지의 URL, 로컬 파일 경로 또는 base64로 인코딩된 이미지 데이터

프롬프트

generate-product-description

설득력 있는 제품 설명을 작성하세요.

매개변수:

  • productName (문자열): 제품 이름
  • category (문자열): 제품 카테고리
  • targetAudience (문자열, 선택 사항): 제품의 대상 고객
  • keyFeatures (문자열, 선택 사항): 주요 제품 기능의 쉼표로 구분된 목록

API 키 설정

Printify API 키

이 MCP 서버의 Printify 기능을 사용하려면 Printify API 키가 필요합니다. 키를 생성하고 설정하는 방법은 다음과 같습니다.

  1. printify.com 에서 Printify 계정에 로그인하세요
  2. 내 프로필 > 연결로 이동
  3. 연결 섹션에서 개인 액세스 토큰을 생성할 수 있습니다.
  4. API 키는 생성된 직후에만 표시되므로 안전하게 보관하세요.
  5. 프로젝트 루트에 다음 내용으로 .env 파일을 만듭니다.
    PRINTIFY_API_KEY=your_api_key_here # Optional: Set a default shop ID # PRINTIFY_SHOP_ID=your_shop_id_here # For image generation with Replicate REPLICATE_API_TOKEN=your_replicate_token_here # Required if using the Flux 1.1 Pro Ultra model for image generation IMGBB_API_KEY=your_imgbb_api_key_here
    서버는 환경 변수의 API 키를 사용하여 Printify API 클라이언트를 자동으로 초기화합니다. 상점 ID를 지정하지 않으면 서버는 계정의 첫 번째 상점을 기본값으로 사용합니다.환경 변수를 직접 설정할 수도 있습니다.
    # On Windows set PRINTIFY_API_KEY=your_api_key_here set REPLICATE_API_TOKEN=your_replicate_token_here set IMGBB_API_KEY=your_imgbb_api_key_here npm start # On macOS/Linux export PRINTIFY_API_KEY=your_api_key_here export REPLICATE_API_TOKEN=your_replicate_token_here export IMGBB_API_KEY=your_imgbb_api_key_here npm start

API 토큰 복제

이 MCP 서버의 이미지 생성 기능을 사용하려면 Replicate API 토큰이 필요합니다. 토큰을 얻는 방법은 다음과 같습니다.

  1. replicate.com 에서 계정을 만들거나 로그인하세요
  2. 계정 설정으로 이동하세요
  3. API 토큰 생성
  4. 위에 표시된 대로 .env 파일에 토큰을 추가하세요.

ImgBB API 키

Flux 1.1 Pro Ultra 모델을 사용하여 이미지를 생성하려면 ImgBB API 키가 반드시 있어야 합니다. Ultra 모델은 Printify에 직접 Base64로 업로드하기에는 너무 큰 고해상도 이미지를 생성하므로, ImgBB를 중개자로 사용합니다. API 키를 얻는 방법은 다음과 같습니다.

  1. imgbb.com 에서 계정을 생성하거나 로그인하세요
  2. API 키를 받으려면 api.imgbb.com 으로 이동하세요.
  3. 위에 표시된 대로 .env 파일에 키를 추가하세요.

워크플로우 예제

AI가 생성한 디자인으로 티셔츠 만들기

앞면과 뒷면에 디자인이 있는 티셔츠를 만드는 완전한 예는 다음과 같습니다.

// Step 1: Get blueprints and choose one get-blueprints_printify() // Selected blueprint ID 12 (Unisex Jersey Short Sleeve Tee) // Step 2: Get print providers for this blueprint get-print-providers_printify({ blueprintId: "12" }) // Selected print provider ID 29 (Monster Digital) // Step 3: Get variants for this blueprint and print provider get-variants_printify({ blueprintId: "12", printProviderId: "29" }) // Selected variant IDs 18100 (Black / S), 18101 (Black / M), 18102 (Black / L) // Step 4: Generate and upload front image const frontImage = await generate-and-upload-image_printify({ prompt: "A futuristic cityscape with neon lights and tall skyscrapers, horizon city logo design", fileName: "horizon-city-front" }) // Got image ID: 68032b22ae74bf725ed406ec // Step 4b: Generate and upload back image const backImage = await generate-and-upload-image_printify({ prompt: "A minimalist 'Horizon City' text logo with futuristic font, suitable for the back of a t-shirt", fileName: "horizon-city-back" }) // Got image ID: 68032b377e36fbdd32791027 // Step 5: Create the product create-product_printify({ title: "Horizon City Skyline T-Shirt", description: "Step into the future with our Horizon City Skyline T-Shirt. This premium unisex tee features a stunning futuristic cityscape with neon lights and towering skyscrapers on the front, and a sleek minimalist Horizon City logo on the back.", blueprintId: 12, printProviderId: 29, variants: [ { variantId: 18100, price: 2499 }, { variantId: 18101, price: 2499 }, { variantId: 18102, price: 2499 } ], printAreas: { "front": { position: "front", imageId: "68032b22ae74bf725ed406ec" }, "back": { position: "back", imageId: "68032b377e36fbdd32791027" } } }) // Product created with ID: 68032b43a24efbac6502b6f7

기존 제품 관리

// List products list-products_printify() // Get details of a specific product get-product_printify({ productId: "68032b43a24efbac6502b6f7" }) // Update a product update-product_printify({ productId: "68032b43a24efbac6502b6f7", title: "Updated Horizon City Skyline T-Shirt", description: "Updated description...", variants: [ { variantId: 18100, price: 2999 }, { variantId: 18101, price: 2999 }, { variantId: 18102, price: 2999 } ] }) // Publish a product to external sales channels publish-product_printify({ productId: "68032b43a24efbac6502b6f7", publishDetails: { title: true, description: true, images: true, variants: true, tags: true } }) // Delete a product delete-product_printify({ productId: "68032b43a24efbac6502b6f7" })

건축학

주요 구성 요소

Printify MCP 서버는 세 가지 주요 구성 요소로 구성됩니다.

  1. MCP 서버( src/index.ts ) : Printify API와 상호 작용하기 위한 다양한 도구로 MCP 서버를 설정합니다.
  2. Printify API 클라이언트( src/printify-api.ts ) : 공식 SDK를 사용하여 Printify API와의 통신을 처리합니다.
  3. Replicate Client( src/replicate-client.ts ) : Replicate API와 통합되어 제품 디자인에 대한 이미지를 생성합니다.

도커 아키텍처

Docker 설정은 다음 구성 요소로 구성됩니다.

  1. Dockerfile : Docker 이미지를 빌드하는 방법을 정의합니다.
    • 작은 공간을 위한 기본 이미지로 Node.js 22 Alpine을 사용합니다.
    • 종속성을 설치하고 TypeScript 코드를 빌드합니다.
    • 환경을 설정하고 서버를 실행합니다.
  2. docker-compose.yml : 서비스 구성을 정의합니다.
    • 환경 변수를 설정합니다
    • .env 파일 및 임시 디렉토리에 대한 볼륨을 마운트합니다.
    • stdio 전송을 위해 stdin과 tty를 구성합니다.
    • 재시작 정책 설정
  3. 볼륨 :
    • .env : 환경 변수에 대한 읽기 전용 볼륨으로 마운트됨
    • temp : 임시 파일(생성된 이미지 등)을 위한 볼륨으로 마운트됨

Docker 이미지 게시

Docker 이미지를 Docker Hub나 다른 컨테이너 레지스트리에 게시하면 다른 사람들이 Node.js를 설치하거나 저장소를 복제하지 않고도 사용할 수 있습니다.

  1. Docker 이미지 빌드 :
    docker build -t tsavo/printify-mcp:latest .
  2. Docker Hub에 로그인하세요 :
    docker login
  3. Docker Hub에 이미지를 푸시합니다 .
    docker push tsavo/printify-mcp:latest

Node.js 없이 Docker 이미지 사용하기

사용자는 Docker 이미지를 직접 사용하여 Node.js를 설치하지 않고도 Printify MCP 서버를 실행할 수 있습니다.

  1. Docker 설치 : 사용자는 시스템에 Docker를 설치해야 합니다.
  2. 임시 파일을 위한 임시 디렉토리를 만듭니다 .
    mkdir -p temp
  3. Docker 컨테이너 실행 (두 가지 옵션):옵션 A: 환경 변수를 직접 사용(권장)
    docker run -it --name printify-mcp \ -e PRINTIFY_API_KEY=their_printify_api_key \ -e PRINTIFY_SHOP_ID=their_shop_id_optional \ -v $(pwd)/temp:/app/temp \ tsavo/printify-mcp:latest
    참고: 이미지 생성 기능(이미지 생성 및 업로드 도구)을 사용하려면 Replicate API 토큰을 추가하세요.
    -e REPLICATE_API_TOKEN=their_replicate_api_token \
    중요: Flux 1.1 Pro Ultra 모델을 사용하여 이미지 생성을 원하는 경우 ImgBB API 키도 추가해야 합니다.
    -e IMGBB_API_KEY=their_imgbb_api_key \
    옵션 B: .env 파일 사용 먼저 API 키로 .env 파일을 만듭니다.
    PRINTIFY_API_KEY=their_printify_api_key PRINTIFY_SHOP_ID=their_shop_id (optional) # Optional: Only needed if they want to use image generation features REPLICATE_API_TOKEN=their_replicate_api_token # Required if using the Flux 1.1 Pro Ultra model for image generation IMGBB_API_KEY=their_imgbb_api_key
    그런 다음 컨테이너를 실행합니다.
    docker run -it --name printify-mcp \ -v $(pwd)/.env:/app/.env:ro \ -v $(pwd)/temp:/app/temp \ tsavo/printify-mcp:latest
  4. Claude Desktop 구성 :
    • 클로드 데스크톱 열기
    • 설정 > MCP 서버로 이동하세요
    • "서버 추가"를 클릭하세요
    • 서버 이름을 입력하세요(예: "Printify MCP Docker")
    • 전송 유형으로 "명령"을 선택하세요
    • 명령어로 docker 입력하세요
    • 인수로 exec -i printify-mcp node dist/index.js 입력합니다.
    • "서버 추가"를 클릭하세요

이 접근 방식을 사용하면 사용자는 Node.js나 다른 종속성을 설치하지 않고도 Printify MCP 서버를 실행할 수 있습니다. Docker만 있으면 됩니다.

파일 구조

printify-mcp/ ├── dist/ # Compiled JavaScript files ├── docs/ # Documentation │ ├── index.ts.md # Documentation for index.ts │ ├── printify-api.ts.md # Documentation for printify-api.ts │ └── replicate-client.ts.md # Documentation for replicate-client.ts ├── node_modules/ # Node.js dependencies ├── src/ # Source code │ ├── index.ts # Main MCP server │ ├── printify-api.ts # Printify API client │ └── replicate-client.ts # Replicate API client ├── temp/ # Temporary directory for generated images ├── .dockerignore # Files to exclude from Docker build ├── .env # Environment variables (not in repo) ├── .env.example # Example environment variables ├── .gitignore # Git ignore file ├── docker-compose.yml # Docker Compose configuration ├── Dockerfile # Docker build instructions ├── package.json # Node.js package configuration ├── package-lock.json # Node.js package lock ├── README.md # This file └── tsconfig.json # TypeScript configuration

API 문서

코드베이스에 대한 자세한 설명서는 다음 파일을 참조하세요.

문제 해결

일반적인 문제

Printify API 클라이언트가 초기화되지 않았습니다.

"Printify API 클라이언트가 초기화되지 않았습니다" 오류가 표시되면 다음 사항을 확인하세요.

  1. PRINTIFY_API_KEY 환경 변수가 .env 파일에 올바르게 설정되어 있습니다.
  2. API 키는 유효하며 올바른 권한이 있습니다.
API 클라이언트 복제가 초기화되지 않았습니다.

"복제 API 클라이언트가 초기화되지 않았습니다" 오류가 표시되면 다음을 확인하세요.

  1. REPLICATE_API_TOKEN 환경 변수가 .env 파일에 올바르게 설정되어 있습니다.
  2. API 토큰은 유효하며 올바른 권한이 있습니다.
제품 생성 오류

제품을 만들 때 오류가 발생하면 다음 사항을 확인하세요.

  1. 청사진 ID와 인쇄 공급자 ID가 유효합니다.
  2. 변형 ID는 선택된 청사진 및 인쇄 공급자에 유효합니다.
  3. 인쇄 영역의 이미지 ID는 유효하고 접근 가능합니다.
  4. 모든 필수 필드가 요청에 포함되어 있습니다.
이미지 업로드 오류

이미지를 업로드하는 중 오류가 발생하면 다음 사항을 확인하세요.

  1. 이미지는 유효한 형식(PNG, JPEG 등)입니다.
  2. 이미지가 너무 크지 않습니다(최대 크기는 10MB입니다)
  3. URL을 사용하는 경우 공개적으로 접근 가능합니다.
  4. 로컬 파일을 사용하는 경우 해당 파일이 존재하고 읽을 수 있습니다.
Docker 관련 문제

Docker 설정을 사용 중 문제가 발생하는 경우:

  1. 컨테이너가 시작되지 않음 : docker logs printify-mcp 로 Docker 로그를 확인하세요.
  2. 환경 변수가 작동하지 않음 : .env 파일을 사용하는 경우, docker-compose.yml 파일이나 docker run 명령을 실행하는 디렉터리와 같은 디렉터리에 있는지 확인하세요. -e 옵션을 사용하여 환경 변수를 직접 설정하는 경우, 변수 이름에 오타가 있는지 확인하세요.
  3. 임시 디렉토리에 대한 권한 문제 : 임시 디렉토리가 볼륨으로 마운트되어 있으므로 올바른 권한이 있는지 확인하세요.
  4. Claude의 연결 문제 : Docker 컨테이너가 docker ps 로 실행 중인지 확인하고 Claude Desktop을 올바르게 구성했는지 확인하세요.
  5. 이미지를 찾을 수 없습니다 . Docker Hub 이미지를 직접 사용하는 경우 docker pull tsavo/printify-mcp:latest 로 이미지를 끌어왔는지 확인하세요.

docker-compose를 사용할 때 Docker 컨테이너를 다시 시작하려면:

docker-compose down docker-compose up -d

docker run을 사용하여 Docker 컨테이너를 다시 시작하려면:

docker stop printify-mcp docker rm printify-mcp docker run -it --name printify-mcp -v $(pwd)/.env:/app/.env:ro -v $(pwd)/temp:/app/temp tsavo/printify-mcp:latest

Docker 이미지와 함께 PowerShell을 직접 사용하는 Windows 사용자의 경우:

docker run -it --name printify-mcp -v ${PWD}/.env:/app/.env:ro -v ${PWD}/temp:/app/temp tsavo/printify-mcp:latest

Docker 이미지와 함께 명령 프롬프트를 직접 사용하는 Windows 사용자의 경우:

docker run -it --name printify-mcp -v %cd%/.env:/app/.env:ro -v %cd%/temp:/app/temp tsavo/printify-mcp:latest

디버깅

서버에는 문제 해결에 도움이 되는 자세한 로깅 기능이 포함되어 있습니다. 콘솔 출력에서 오류 메시지와 디버깅 정보를 확인하세요.

Docker 배포의 경우 다음을 사용하여 로그를 볼 수 있습니다.

docker logs printify-mcp

실시간으로 로그를 추적하려면:

docker logs -f printify-mcp

기여하다

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

특허

아이에스씨

ID: b8ap8e8n8v