Token导航 LogoToken导航TokenDH.com
Printify MCP Server logo
搜索检索stdio官方级别未说明来源级核验

Printify MCP Server

MCP Server

A Model Context Protocol (MCP) server for integrating AI assistants with Printify's print-on-demand platform

工具数

16

提示词数

0

GitHub Stars

26

资源数

0
产品管理TypeScriptClaude图像生成Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

TSavo

提供方

TSavo

最后核验

2026/5/18 04:55

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -it --name printify-mcp \

详细介绍

打印MCP服务器

用于将AI助手与Printify的按需打印平台集成的模型上下文协议(MCP)服务器。

目录

- 启动服务器 - 与Claude Desktop一起使用 - - - - 发展模式

- 车间管理 - 产品管理 - 蓝图和变量管理 - 图像管理 - 文档 - 提示

- 用AI生成的设计制作T恤 - 管理现有产品

- 主要组件 - - - - 文件结构

- 常见问题 - - 调试

概述

Printify MCP服务器是人工智能助手(如克劳德)和Printify按需打印平台之间的桥梁。它允许AI助手创建和管理按需打印的产品,使用AI生成设计,并通过模型上下文协议(MCP)处理产品管理的各个方面。

MCP是Anthropic开发的一个开放标准,它规范了应用程序如何为大型语言模型(LLM)提供上下文。该服务器实现了MCP规范,以结构化的方式向AI助手公开Printify的功能。

特性

此MCP服务器提供以下功能:

Printify API集成

  • 认证:使用API密钥初始化Printify API客户端
  • 商店:列出并管理Printify商店
  • 产品:创建、读取、更新、删除和发布产品
  • 目录:浏览蓝图、打印提供商和变体
  • 图像:上传用于产品设计的图像

AI图像生成

  • 复制集成:使用Replicate的Flux 1.1 Pro模型生成图像
  • 组合工作流:使用AI生成图像,并一步直接上传到Printify

文档

  • 在工具文档中:产品创建各个方面的综合文档
  • 工作流程指导:创建产品的分步指南

提示

  • 生成产品描述:根据产品细节生成引人注目的产品描述

先决条件

  • Node.js(v18或更高版本)
  • npm(v7或更高版本)
  • Printify API密钥
  • 复制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

配置

您有两个选项来配置服务器所需的环境变量:

选项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. 前往“设置”>“API”
  3. 单击“新建API密钥”
  4. 复制API密钥并将其添加到 .env 文件

获取复制API令牌

  1. 在上创建帐户 复制
  2. 转到您的帐户设置
  3. 生成API令牌
  4. 复制令牌并将其添加到您的 .env 文件

用法

启动服务器

npm start

这将使用stdio传输启动MCP服务器,使其能够与Claude Desktop等MCP客户端通信。服务器将使用环境变量中的API键自动初始化Printify API客户端。

发展模式

npm run dev

这将在开发模式下启动服务器,并在文件更改时自动重新加载。

与Claude Desktop一起使用

有三种方法可以将此MCP服务器与Claude Desktop一起使用:

选项1:从npm安装(推荐)

  1. 全局安装软件包:
   npm install -g @tsavo/printify-mcp
  1. 使用以下任一方法配置环境变量 .env 当前目录中的文件或系统环境变量,如中所述 配置 部分。
  1. 配置Claude桌面:

- 打开克劳德桌面 - 前往“设置”>“MCP服务器” - 点击“添加服务器” - 输入服务器的名称(例如,“Printify MCP”) - 选择“Command”作为传输类型 - 进入 printify-mcp 作为命令 - 不需要争论 - 点击“添加服务器”

  1. 通过让Claude检查Printify状态来测试连接:
   Can you check the status of my Printify connection?

printify-mcp 命令运行与原始index.ts文件相同的代码,但打包为可直接从命令行运行的可执行文件。

选项2:与npx一起使用

如果你不想全局安装该软件包,可以使用npx:

  1. 按照中所述配置环境变量 配置 部分。
  1. 配置Claude桌面:

- 打开克劳德桌面 - 前往“设置”>“MCP服务器” - 点击“添加服务器” - 输入服务器的名称(例如,“Printify MCP”) - 选择“Command”作为传输类型 - 进入 npx 作为命令 - 进入 @tsavo/printify-mcp 作为论点 - 点击“添加服务器”

选项3:使用Docker(建议隔离)

如果你更喜欢在Docker容器中运行服务器,你有两个选择:

选项3A:直接从Docker Hub使用Docker镜像

  1. 确保你的系统上安装了Docker
  1. 为您的Printify MCP文件创建一个目录:
   mkdir printify-mcp
   cd printify-mcp
  1. 创建一个 .env 使用API密钥文件:
   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)
  1. 为临时文件创建临时目录:
   mkdir temp
  1. 运行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

注: 如果要使用图像生成功能(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
  1. 配置Claude桌面:

- 打开克劳德桌面 - 前往“设置”>“MCP服务器” - 点击“添加服务器” - 输入服务器的名称(例如,“Printify MCP Docker”) - 选择“Command”作为传输类型 - 进入 docker 作为命令 - 进入 exec -i printify-mcp node dist/index.js 作为论点 - 点击“添加服务器”

选项3B:使用Docker Compose构建和运行

  1. 确保你的系统上安装了Docker和Docker Compose
  1. 将此存储库克隆到本地计算机:
   git clone https://github.com/tsavo/printify-mcp.git
   cd printify-mcp
  1. 配置环境变量(两个选项):

选项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
  1. 构建并启动Docker容器:
   docker-compose up -d
  1. 配置Claude桌面:

- 打开克劳德桌面 - 前往“设置”>“MCP服务器” - 点击“添加服务器” - 输入服务器的名称(例如,“Printify MCP Docker”) - 选择“Command”作为传输类型 - 进入 docker 作为命令 - 进入 exec -i printify-mcp node dist/index.js 作为论点 - 点击“添加服务器”

  1. 通过让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
  1. 安装依赖项并构建项目:
   npm install
   npm run build
  1. 使用以下任一方法配置环境变量 .env 文件或系统环境变量,如 配置 部分。
  1. 获取编译后的JavaScript文件的完整绝对路径:

窗户:

   cd dist
   echo %CD%\index.js

macOS/Linux:

   realpath dist/index.js
  1. 配置Claude桌面:

- 打开克劳德桌面 - 前往“设置”>“MCP服务器” - 点击“添加服务器” - 输入服务器的名称(例如,“Printify MCP”) - 选择“Command”作为传输类型 - 输入Node.js的路径作为命令(例如。, node) - 输入 完全绝对路径 以内置服务器作为参数 - 点击“添加服务器”

  1. 启动服务器:
   npm start

使用Claude Desktop时,请保持此终端窗口打开。

测试连接

在与Claude的对话中,您可以通过让Claude检查Printify状态来测试服务器是否正常工作:

Can you check the status of my Printify connection?

克劳德应该使用 get-printify-status 工具检查连接状态。您还可以要求Claude使用 list-shops 工具。

如果您遇到任何问题:

  1. 检查启动服务器的控制台输出是否有错误消息
  2. 验证您的环境变量是否设置正确
  3. 确保服务器仍在运行
  4. 确认Claude Desktop中服务器的路径正确

可用工具

车间管理

get-printify-status

获取Printify API客户端的当前状态,包括连接状态和当前商店。

list-shops

列出您Printify帐户中的所有可用商店。当前选定的店铺标有箭头(→)。

switch-shop

切换到其他商店以进行后续API调用。

参数:

  • shopId (string):要切换到的店铺的ID

产品工具

list-products

在您的Printify商店中列出产品。

参数:

  • page (数字,可选):页码(默认值:1)
  • limit (数字,可选):每页产品数量(默认值:10)

get-product

获取特定产品的详细信息。

参数:

  • productId (string):产品ID

create-product

在您的Printify商店创建新产品。

参数:

  • title (string):产品名称
  • description (string):产品描述
  • blueprintId (编号):蓝图ID
  • printProviderId (数字):打印提供商ID
  • variants (数组):产品变体
  • printAreas (对象,可选):产品的打印区域

update-product

更新Printify商店中的现有产品。

参数:

  • productId (string):产品ID
  • title (字符串,可选):产品标题
  • description (字符串,可选):产品描述
  • variants (数组,可选):产品变体
  • printAreas (对象,可选):产品的打印区域

delete-product

从Printify商店删除产品。

参数:

  • productId (string):产品ID

publish-product

将产品发布到您连接的销售渠道。

参数:

  • productId (string):产品ID
  • publishDetails (对象,可选):发布详细信息

目录工具

get-blueprints

从Printify目录中获取可用蓝图的列表。

参数:

  • page (数字,可选):页码(默认值:1)
  • limit (数字,可选):每页蓝图数量(默认值:10)

get-blueprint

获取特定蓝图的详细信息。

参数:

  • blueprintId (字符串):蓝图ID

get-print-providers

获取特定蓝图的打印提供商列表。

参数:

  • blueprintId (字符串):蓝图ID

get-variants

获取特定蓝图和打印提供商的变体列表。

参数:

  • blueprintId (字符串):蓝图ID
  • printProviderId (string):打印提供者ID

图像工具

generate-and-upload-image

使用Replicate的Flux模型生成图像,用Sharp处理,并在一次操作中将其上传到Printify。该工具将AI图像生成与Printify集成相结合,实现了无缝的工作流程。

该工具执行四个步骤:

  1. 根据您的文本提示,使用Replicate的Flux模型生成图像
  2. 使用Sharp处理图像,以确保其是具有正确Printify格式的有效图像
  3. 将处理后的图像上传到您的Printify帐户
  4. 清理临时文件以避免磁盘空间问题

参数:

  • prompt (string):图像生成的文本提示
  • fileName (string):上传图像的文件名
  • model (字符串,可选):覆盖默认模型(例如,“黑森林实验室/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模型生成的高分辨率图像太大,无法直接将base64上传到Printify。您可以从获得免费的API密钥 api.imgbb.com.

generate-image

使用Replicate的Flux模型生成图像,并将其保存到本地文件,而无需上传到Printify。当您想为其他目的生成图像,或者在将图像上传到Printify之前查看和编辑图像时,此工具非常有用。

参数:

  • prompt (string):图像生成的文本提示
  • outputPath (string):生成的图像应保存的完整路径
  • model (字符串,可选):覆盖默认模型(例如,“黑森林实验室/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文件的推荐分辨率为300 DPI
  • 对于较大的产品(紧身裤、毯子、挂毯),120-150 DPI是可以接受的
  • 如果某些图像文件超出大小限制,则可能与Printify的API不兼容
  • 对于大于5MB的文件,建议使用base64编码上传URL

参数:

  • fileName (string):文件名
  • url (string):要上传的图像的URL、本地文件的路径或base64编码的图像数据

提示

generate-product-description

生成一个引人注目的产品描述。

参数:

  • productName (string):产品名称
  • category (string):产品类别
  • targetAudience (字符串,可选):产品的目标受众
  • keyFeatures (字符串,可选):以逗号分隔的关键产品功能列表

设置API密钥

Printify API密钥

要使用此MCP服务器的Printify功能,您需要一个Printify API密钥。以下是如何获取并设置它:

  1. 登录您的Printify帐户 printify.com
  1. 转到我的个人资料>连接
  1. 在“连接”部分,您可以生成个人访问令牌
  1. 安全地存储API密钥,因为只有在生成后才能立即看到它
  1. 创建一个 .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模型生成的高分辨率图像太大,无法直接将base64上传到Printify,因此我们使用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服务器由三个主要组件组成:

  1. MCP服务器(src/index.ts):使用各种工具设置MCP服务器,以便与Printify的API进行交互。
  2. Printify API客户端(src/printify-api.ts):使用官方SDK处理与Printify API的通信。
  3. 复制客户端(src/replicate-client.ts):与Replicate的API集成,为产品设计生成图像。

Docker架构

Docker设置由以下组件组成:

  1. Dockerfile:定义如何构建Docker镜像

- 使用Node.js 22 Alpine作为基础映像,占用空间小 - 安装依赖项并构建TypeScript代码 - 设置环境并运行服务器

  1. docker-compose.yml:定义服务配置

- 设置环境变量 - 装载.env文件和临时目录的卷 - 为stdio传输配置stdin和tty - 设置重启策略

  1. :

- .env:作为环境变量的只读卷装载 - temp:作为临时文件(如生成的图像)的卷装载

发布Docker镜像

您可以将Docker镜像发布到Docker Hub或任何其他容器注册表,使其可供他人使用,而无需他们安装Node.js或克隆存储库。

  1. 构建Docker镜像:
   docker build -t tsavo/printify-mcp:latest .
  1. 登录Docker Hub:
   docker login
  1. 将镜像推送到Docker Hub:
   docker push tsavo/printify-mcp:latest

使用Docker镜像而不使用Node.js

用户可以直接使用Docker镜像运行Printify MCP服务器,而无需安装Node.js:

  1. 安装Docker:用户需要在他们的系统上安装Docker
  1. 创建临时目录 对于临时文件:
   mkdir -p temp
  1. 运行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

注: 如果他们想使用图像生成功能(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
  1. 配置Claude桌面版:

- 打开克劳德桌面 - 前往“设置”>“MCP服务器” - 点击“添加服务器” - 输入服务器的名称(例如,“Printify MCP Docker”) - 选择“Command”作为传输类型 - 进入 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客户端未初始化

如果您看到错误“Replicate 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日志 docker logs printify-mcp
  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时重新启动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

贡献

欢迎投稿!请随时提交拉取请求。

许可证

国际学生委员会

目录标签

目录标签

产品管理TypeScriptClaude图像生成research-and-dataprintifymcpai-integrationAI集成本地部署按需打印MCP协议

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

16

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP