mcpField
P
Printify MCP Server

Printify MCP Server

ローカル
github.com/TSavoビジネス・マーケティング4580 週間前に更新

Printify MCP Server について

Printify MCP サーバーは、AI アシスタントをプリント・オン・デマンドプラットフォームの Printify と接続し、ショップ、商品、ブループリント、バリアントを管理します。Replicate の Flux 1.1 Pro で画像を生成し、Printify へ一括でアップロードすることもできるため、商品作成を自動化したい利用者に適しています。

主な機能

  1. 01ショップの一覧と管理
  2. 02商品の作成、取得、更新、削除、公開
  3. 03ブループリント、プリントプロバイダー、バリアントの参照
  4. 04商品デザイン用の画像アップロード
  5. 05Replicate による AI 画像生成

活用シーン

  1. 01AI アシスタントによる生成デザインを使用した Tシャツ商品の作成
  2. 02ショップ内の既存商品の確認と管理
  3. 03Printify カタログのブループリントとバリアントの参照

MCP 対応

本プロジェクトは MCP サーバーであり、Printify のショップ、商品、カタログ、画像の操作を Claude などの MCP クライアント向けツールとして提供します。ドキュメントとプロンプトも含まれます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"printify": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"\\"
]
}
}
}
起動コマンドdocker run -i --rm '\'

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
oci\

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Printify MCP サーバー

AI アシスタントをPrintifyのプリントオンデマンドプラットフォームと連携するためのModel Context Protocol(MCP)サーバーです。

目次

概要

Printify MCP Serverは、AIアシスタント(Claudeなど)とPrintifyのプリントオンデマンドプラットフォームをつなぐブリッジです。AIアシスタントがModel Context Protocol(MCP)を通じて、プリントオンデマンド商品の作成や管理、AIを使ったデザインの生成、商品管理に関するあらゆる作業を行えるようにします。

MCPは、アプリケーションが大規模言語モデル(LLM)にコンテキストを提供する方法を標準化するためにAnthropicが開発したオープン標準です。このサーバーはMCP仕様を実装し、Printifyの機能を構造化された方法でAIアシスタントに公開します。

機能

このMCPサーバーでは、次の機能を利用できます。

Printify APIとの連携
  • 認証:APIキーを使ってPrintify APIクライアントを初期化します
  • ショップ:Printifyのショップを一覧表示して管理します
  • 商品:商品の作成、読み取り、更新、削除、公開を行います
  • カタログ:ブループリント、プリントプロバイダー、バリアントを閲覧します
  • 画像:商品デザインに使用する画像をアップロードします
AI画像生成
  • Replicateとの連携:ReplicateのFlux 1.1 Proモデルを使って画像を生成します
  • 統合ワークフロー:AIで画像を生成し、1回の操作でPrintifyに直接アップロードします
ドキュメント
  • ツール内ドキュメント:商品作成に関するあらゆる項目を網羅した包括的なドキュメント
  • ワークフローガイド:商品の作成方法を順を追って説明するガイド
プロンプト
  • 商品説明の生成:商品の詳細に基づいて、魅力的な商品説明を生成します

前提条件

  • Node.js(v18以降)
  • npm(v7以降)
  • Printify APIキー
  • Replicate APIトークン(AI画像生成に必要)
  • ImgBB APIキー(Flux 1.1 Pro Ultraモデルを使用する場合に必要)

インストール

# Clone the repository
git clone https://github.com/tsavo/printify-mcp.git
cd printify-mcp

# Install dependencies
npm install

# Build the project
npm run build

設定

サーバーに必要な環境変数を設定する方法は2つあります。

オプション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

Windows(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. Settings > API に移動します
  3. 「Create New API Key」をクリックします
  4. API キーをコピーして、.env ファイルに追加します
Replicate API トークンの取得
  1. Replicate でアカウントを作成します
  2. アカウント設定に移動します
  3. API トークンを生成します
  4. トークンをコピーして、.env ファイルに追加します

使用方法

サーバーの起動
npm start

これにより、stdio トランスポートを使用する MCP サーバーが起動し、Claude Desktop などの MCP クライアントと通信できるようになります。サーバーは、環境変数の API キーを使用して Printify API クライアントを自動的に初期化します。

開発モード
npm run dev

これにより、ファイルの変更時に自動で再読み込みする開発モードでサーバーが起動します。

Claude Desktop での使用

この MCP サーバーを Claude Desktop で使用する方法は 3 つあります。

オプション 1:npm からインストールする(推奨)
  1. パッケージをグローバルにインストールします。

    npm install -g @tsavo/printify-mcp
    
  2. 設定セクションの説明に従い、現在のディレクトリにある .env ファイルまたはシステム環境変数を使って環境変数を設定します。

  3. Claude Desktop を設定します。

    • Claude Desktop を開きます
    • Settings > MCP Servers に移動します
    • 「Add Server」をクリックします
    • サーバー名を入力します(例:「Printify MCP」)
    • トランスポートタイプとして「Command」を選択します
    • コマンドに printify-mcp と入力します
    • 引数は必要ありません
    • 「Add Server」をクリックします
  4. Claude に Printify のステータスを確認するよう依頼して、接続をテストします。

    Can you check the status of my Printify connection?
    

    printify-mcp コマンドは元の index.ts ファイルと同じコードを実行しますが、コマンドラインから直接実行できる実行ファイルとしてパッケージ化されています。

オプション 2:npx で使用する

パッケージをグローバルにインストールしたくない場合は、npx を使用できます。

  1. 設定セクションの説明に従って、環境変数を設定します。

  2. Claude Desktop を設定します。

    • Claude Desktop を開きます
    • Settings > MCP Servers に移動します
    • 「Add Server」をクリックします
    • サーバー名を入力します(例:「Printify MCP」)
    • トランスポートタイプとして「Command」を選択します
    • コマンドに npx と入力します
    • 引数に @tsavo/printify-mcp と入力します
    • 「Add Server」をクリックします
オプション 3:Docker を使用する(分離環境での実行に推奨)

Docker コンテナでサーバーを実行する場合、2 つの方法があります。

オプション 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 コンテナを実行します(方法は 2 つあります)。

    オプション 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
    

    注: 画像生成機能(generate-and-upload-image ツール)を使用する場合は、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 を設定します。

    • Claude Desktop を開きます
    • Settings > MCP Servers に移動します
    • 「Add Server」をクリックします
    • サーバー名を入力します(例:「Printify MCP Docker」)
    • トランスポートタイプとして「Command」を選択します
    • コマンドに docker と入力します
    • 引数に exec -i printify-mcp node dist/index.js と入力します
    • 「Add Server」をクリックします
オプション 3B:Docker Compose でビルドして実行する
  1. システムに Docker と Docker Compose がインストールされていることを確認します

  2. このリポジトリをローカルマシンにクローンします:

    git clone https://github.com/tsavo/printify-mcp.git
    cd printify-mcp
    
  3. 環境変数を設定します(次の 2 つの方法があります):

    オプション 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 を設定します:

    • Claude Desktop を開きます
    • Settings > MCP Servers に移動します
    • 「Add Server」をクリックします
    • サーバー名を入力します(例:「Printify MCP Docker」)
    • トランスポートタイプとして「Command」を選択します
    • コマンドとして docker を入力します
    • 引数として exec -i printify-mcp node dist/index.js を入力します
    • 「Add Server」をクリックします
  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 ファイルの完全な絶対パスを取得します:

    Windows:

    cd dist
    echo %CD%\index.js
    

    macOS/Linux:

    realpath dist/index.js
    
  5. Claude Desktop を設定します:

    • Claude Desktop を開きます
    • Settings > MCP Servers に移動します
    • 「Add Server」をクリックします
    • サーバー名を入力します(例:「Printify MCP」)
    • トランスポートタイプとして「Command」を選択します
    • コマンドとして Node.js のパスを入力します(例:node)
    • 引数として、ビルド済みサーバーの完全な絶対パスを入力します
    • 「Add Server」をクリックします
  6. サーバーを起動します:

    npm start
    

    Claude Desktop を使用している間は、このターミナルウィンドウを開いたままにしてください。

接続のテスト

Claude との会話中に、Printify のステータスを確認するよう Claude に依頼すると、サーバーが動作しているかテストできます:

Can you check the status of my Printify connection?

Claude は接続ステータスの確認に get-printify-status ツールを使用するはずです。また、list-shops ツールを使って、Printify のショップ一覧を表示するよう Claude に依頼することもできます。

問題が発生した場合:

  1. サーバーを起動したときのコンソール出力にエラーメッセージがないか確認します
  2. 環境変数が正しく設定されていることを確認します
  3. サーバーが引き続き実行中であることを確認します
  4. Claude Desktop に設定したサーバーへのパスが正しいことを確認します

利用可能なツール

ショップ管理
get-printify-status

接続ステータスや現在のショップなど、Printify API クライアントの現在のステータスを取得します。

list-shops

Printify アカウントで利用可能なすべてのショップを一覧表示します。現在選択されているショップには矢印(→)が付きます。

switch-shop

以降の API 呼び出しで使用するショップを切り替えます。

パラメーター:

  • shopId(string):切り替え先のショップの ID
商品ツール
list-products

Printify ショップの商品を一覧表示します。

パラメーター:

  • page(number、任意):ページ番号(デフォルト:1)
  • limit(number、任意):1 ページあたりの商品数(デフォルト:10)
get-product

特定の商品詳細を取得します。

パラメーター:

  • productId(string):商品 ID
create-product

Printify ショップに新しい商品を作成します。

パラメーター:

  • title(string):商品タイトル
  • description(string):商品説明
  • blueprintId(number):ブループリント ID
  • printProviderId(number):プリントプロバイダー ID
  • variants(array):商品のバリエーション
  • printAreas(object、任意):商品の印刷領域
update-product

Printify ショップ内の既存の商品を更新します。

Parameters:

  • productId (string): 商品 ID
  • title (string, optional): 商品タイトル
  • description (string, optional): 商品説明
  • variants (array, optional): 商品バリエーション
  • printAreas (object, optional): 商品のプリント領域
delete-product

Printify ショップから商品を削除します。

Parameters:

  • productId (string): 商品 ID
publish-product

接続済みの販売チャネルに商品を公開します。

Parameters:

  • productId (string): 商品 ID
  • publishDetails (object, optional): 公開の詳細
カタログツール
get-blueprints

Printify カタログから利用可能なブループリントの一覧を取得します。

Parameters:

  • page (number, optional): ページ番号(デフォルト:1)
  • limit (number, optional): 1 ページあたりのブループリント数(デフォルト:10)
get-blueprint

特定のブループリントの詳細を取得します。

Parameters:

  • blueprintId (string): ブループリント ID
get-print-providers

特定のブループリントのプリントプロバイダー一覧を取得します。

Parameters:

  • blueprintId (string): ブループリント ID
get-variants

特定のブループリントとプリントプロバイダーのバリエーション一覧を取得します。

Parameters:

  • blueprintId (string): ブループリント ID
  • printProviderId (string): プリントプロバイダー ID
画像ツール
generate-and-upload-image

Replicate の Flux モデルを使って画像を生成し、Sharp で処理して Printify にアップロードする操作を一度に実行します。このツールは AI による画像生成と Printify の連携を組み合わせ、シームレスなワークフローを実現します。

このツールは次の 4 つの手順を実行します。

  1. テキストプロンプトに基づいて Replicate の Flux モデルを使って画像を生成します
  2. Sharp で画像を処理し、Printify に適した形式の有効な画像であることを確認します
  3. 処理した画像を Printify アカウントにアップロードします
  4. ディスク容量の問題を防ぐため、一時ファイルを削除します

Parameters:

  • prompt (string): 画像生成用のテキストプロンプト
  • fileName (string): アップロードする画像のファイル名
  • model (string, optional): デフォルトモデルを上書きします(例:"black-forest-labs/flux-1.1-pro-ultra")
  • width (number, optional): 画像の幅(ピクセル単位。デフォルト:1024)
  • height (number, optional): 画像の高さ(ピクセル単位。デフォルト:1024)
  • aspectRatio (string, optional): アスペクト比(例:'16:9'、'4:3'、'1:1')。指定すると、幅と高さより優先されます
  • outputFormat (string, optional): 出力形式("jpeg"、"png"、"webp")(デフォルト:"png")
  • numInferenceSteps (number, optional): 推論ステップ数(デフォルト:25)
  • guidanceScale (number, optional): ガイダンススケール(デフォルト:7.5)
  • negativePrompt (string, optional): ネガティブプロンプト(デフォルト:"low quality, bad quality, sketches")
  • seed (number, optional): 再現可能な生成のための乱数シード
  • raw (boolean, optional): 処理を抑えた、より自然な画像を生成します(Flux 1.1 Pro Ultra のデフォルト:true)

Note: このツールを使うには、有効な Replicate API トークンを設定した環境変数 REPLICATE_API_TOKEN が必要です。トークンは replicate.com から取得できます。

Important: Flux 1.1 Pro Ultra モデルを使う場合は、環境変数 IMGBB_API_KEY も必ず設定してください。Ultra モデルは高解像度の画像を生成するため、Printify に直接 base64 でアップロードするにはサイズが大きすぎます。無料の API キーは api.imgbb.com から取得できます。

generate-image

Replicate の Flux モデルを使用して画像を生成し、Printify にアップロードせずにローカルファイルへ保存します。このツールは、ほかの目的で使用する画像を生成したい場合や、Printify にアップロードする前に画像を確認して、必要に応じて編集したい場合に便利です。

パラメーター:

  • prompt(string):画像生成用のテキストプロンプト
  • outputPath(string):生成した画像を保存する完全なパス
  • model(string、任意):デフォルトのモデルを上書きします(例:「black-forest-labs/flux-1.1-pro-ultra」)
  • width(number、任意):画像の幅(ピクセル単位。デフォルト:1024)
  • height(number、任意):画像の高さ(ピクセル単位。デフォルト:1024)
  • aspectRatio(string、任意):アスペクト比(例:'16:9'、'4:3'、'1:1')。指定した場合、幅と高さを上書きします
  • outputFormat(string、任意):出力形式(「jpeg」、「png」、「webp」。デフォルト:「png」)
  • numInferenceSteps(number、任意):推論ステップ数(デフォルト:25)
  • guidanceScale(number、任意):ガイダンススケール(デフォルト:7.5)
  • negativePrompt(string、任意):ネガティブプロンプト(デフォルト:「low quality, bad quality, sketches」)
  • seed(number、任意):再現可能な生成のためのランダムシード
  • raw(boolean、任意):加工を抑え、より自然な見た目の画像を生成します(Flux 1.1 Pro Ultra のみ)

注: このツールを使用するには、有効な Replicate API トークンを設定した REPLICATE_API_TOKEN 環境変数が必要です。トークンは replicate.com から取得できます。

generate-and-upload-image ツールとは異なり、このツールはローカルファイルに直接保存するため、ImgBB API キーは必要ありません。

upload-image

Printify アカウントに画像をアップロードします。次の 3 種類の入力に対応しています:

  1. URL(http:// または https://)- Printify に直接アップロード
  2. ローカルファイルのパス(例:c:\path\to\image.png)- 互換性を確保するため、Sharp で自動変換してから Printify にアップロード
  3. Base64 エンコードされた画像文字列 - Printify に直接アップロード

ファイル形式に関する注意:

  • 対応形式:PNG、JPEG、SVG
  • JPEG/PNG ファイルの推奨解像度は 300 DPI です
  • レギンス、ブランケット、タペストリーなどの大型製品では、120~150 DPI でも問題ありません
  • サイズ制限を超える画像ファイルは、Printify の API で使用できない場合があります
  • 5MB を超えるファイルでは、Base64 エンコードより URL アップロードを推奨します

パラメーター:

  • fileName(string):ファイル名
  • url(string):アップロードする画像の URL、ローカルファイルのパス、または Base64 エンコードされた画像データ
プロンプト
generate-product-description

魅力的な商品説明を生成します。

パラメーター:

  • productName(string):商品の名前
  • category(string):商品カテゴリ
  • targetAudience(string、任意):商品のターゲット層
  • keyFeatures(string、任意):主な商品の特徴をカンマ区切りで並べたリスト

API キーの設定

Printify API キー

この MCP サーバーの Printify 機能を使用するには、Printify API キーが必要です。取得して設定する手順は次のとおりです。

  1. printify.com で Printify アカウントにログインします

  2. [My Profile]>[Connections]に移動します

  3. [Connections]セクションで、Personal Access Tokens を生成できます

  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
    
Replicate 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.imgbb.com にアクセスして API キーを取得します
  3. 上記の手順に従って、キーを .env ファイルに追加します

ワークフローの例

AI 生成デザインを使った T シャツの作成

表と裏のデザインを使って T シャツを作成する完全な例を紹介します。

// 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 サーバーは、次の 3 つの主要コンポーネントで構成されています。

  1. MCP サーバー(src/index.ts):Printify の API と連携するための各種ツールを備えた MCP サーバーをセットアップします。
  2. Printify API クライアント(src/printify-api.ts):公式 SDK を使用して、Printify の API との通信を処理します。
  3. Replicate クライアント(src/replicate-client.ts):Replicate の API と連携して、商品デザイン用の画像を生成します。
Docker アーキテクチャ

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. 一時ファイル用の temp ディレクトリを作成します:

    mkdir -p temp
    
  3. Docker コンテナを実行します(次の 2 つの方法があります):

    オプション 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
    

    注: 画像生成機能(generate-and-upload-image ツール)を使用する場合は、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 を設定します:

    • Claude Desktop を開きます
    • Settings > MCP Servers に移動します
    • 「Add Server」をクリックします
    • サーバー名(例:「Printify MCP Docker」)を入力します
    • トランスポートの種類として「Command」を選択します
    • コマンドとして docker を入力します
    • 引数として exec -i printify-mcp node dist/index.js を入力します
    • 「Add Server」をクリックします

この方法を使えば、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 client is not initialized」というエラーが表示された場合は、次の点を確認してください。

  1. .env ファイルで環境変数 PRINTIFY_API_KEY が正しく設定されている
  2. API キーが有効で、適切な権限がある
Replicate API クライアントが初期化されていない

「Replicate API client is not initialized」というエラーが表示された場合は、次の点を確認してください。

  1. .env ファイルで環境変数 REPLICATE_API_TOKEN が正しく設定されている
  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 ps で Docker コンテナが実行中であることを確認し、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

コントリビューション

コントリビューションを歓迎します!お気軽にプルリクエストを送信してください。

ライセンス

ISC

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。