打印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文件(推荐)
- 创建一个
.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_tokenWindows(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密钥
- 登录您的Printify帐户
- 前往“设置”>“API”
- 单击“新建API密钥”
- 复制API密钥并将其添加到
.env文件
获取复制API令牌
- 在上创建帐户 复制
- 转到您的帐户设置
- 生成API令牌
- 复制令牌并将其添加到您的
.env文件
用法
启动服务器
npm start这将使用stdio传输启动MCP服务器,使其能够与Claude Desktop等MCP客户端通信。服务器将使用环境变量中的API键自动初始化Printify API客户端。
发展模式
npm run dev这将在开发模式下启动服务器,并在文件更改时自动重新加载。
与Claude Desktop一起使用
有三种方法可以将此MCP服务器与Claude Desktop一起使用:
选项1:从npm安装(推荐)
- 全局安装软件包:
npm install -g @tsavo/printify-mcp- 使用以下任一方法配置环境变量
.env当前目录中的文件或系统环境变量,如中所述 配置 部分。
- 配置Claude桌面:
- 打开克劳德桌面 - 前往“设置”>“MCP服务器” - 点击“添加服务器” - 输入服务器的名称(例如,“Printify MCP”) - 选择“Command”作为传输类型 - 进入 printify-mcp 作为命令 - 不需要争论 - 点击“添加服务器”
- 通过让Claude检查Printify状态来测试连接:
Can you check the status of my Printify connection?这 printify-mcp 命令运行与原始index.ts文件相同的代码,但打包为可直接从命令行运行的可执行文件。
选项2:与npx一起使用
如果你不想全局安装该软件包,可以使用npx:
- 按照中所述配置环境变量 配置 部分。
- 配置Claude桌面:
- 打开克劳德桌面 - 前往“设置”>“MCP服务器” - 点击“添加服务器” - 输入服务器的名称(例如,“Printify MCP”) - 选择“Command”作为传输类型 - 进入 npx 作为命令 - 进入 @tsavo/printify-mcp 作为论点 - 点击“添加服务器”
选项3:使用Docker(建议隔离)
如果你更喜欢在Docker容器中运行服务器,你有两个选择:
选项3A:直接从Docker Hub使用Docker镜像
- 确保你的系统上安装了Docker
- 为您的Printify MCP文件创建一个目录:
mkdir printify-mcp
cd printify-mcp- 创建一个
.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)- 为临时文件创建临时目录:
mkdir temp- 运行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- 配置Claude桌面:
- 打开克劳德桌面 - 前往“设置”>“MCP服务器” - 点击“添加服务器” - 输入服务器的名称(例如,“Printify MCP Docker”) - 选择“Command”作为传输类型 - 进入 docker 作为命令 - 进入 exec -i printify-mcp node dist/index.js 作为论点 - 点击“添加服务器”
选项3B:使用Docker Compose构建和运行
- 确保你的系统上安装了Docker和Docker Compose
- 将此存储库克隆到本地计算机:
git clone https://github.com/tsavo/printify-mcp.git
cd printify-mcp- 配置环境变量(两个选项):
选项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- 构建并启动Docker容器:
docker-compose up -d- 配置Claude桌面:
- 打开克劳德桌面 - 前往“设置”>“MCP服务器” - 点击“添加服务器” - 输入服务器的名称(例如,“Printify MCP Docker”) - 选择“Command”作为传输类型 - 进入 docker 作为命令 - 进入 exec -i printify-mcp node dist/index.js 作为论点 - 点击“添加服务器”
- 通过让Claude检查Printify状态来测试连接:
Can you check the status of my Printify connection?选项4:克隆和设置存储库
如果你更喜欢在没有Docker的情况下直接使用源代码:
- 将此存储库克隆到本地计算机:
git clone https://github.com/tsavo/printify-mcp.git
cd printify-mcp- 安装依赖项并构建项目:
npm install
npm run build- 使用以下任一方法配置环境变量
.env文件或系统环境变量,如 配置 部分。
- 获取编译后的JavaScript文件的完整绝对路径:
窗户:
cd dist
echo %CD%\index.jsmacOS/Linux:
realpath dist/index.js- 配置Claude桌面:
- 打开克劳德桌面 - 前往“设置”>“MCP服务器” - 点击“添加服务器” - 输入服务器的名称(例如,“Printify MCP”) - 选择“Command”作为传输类型 - 输入Node.js的路径作为命令(例如。, node) - 输入 完全绝对路径 以内置服务器作为参数 - 点击“添加服务器”
- 启动服务器:
npm start使用Claude Desktop时,请保持此终端窗口打开。
测试连接
在与Claude的对话中,您可以通过让Claude检查Printify状态来测试服务器是否正常工作:
Can you check the status of my Printify connection?克劳德应该使用 get-printify-status 工具检查连接状态。您还可以要求Claude使用 list-shops 工具。
如果您遇到任何问题:
- 检查启动服务器的控制台输出是否有错误消息
- 验证您的环境变量是否设置正确
- 确保服务器仍在运行
- 确认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(编号):蓝图IDprintProviderId(数字):打印提供商IDvariants(数组):产品变体printAreas(对象,可选):产品的打印区域
update-product
更新Printify商店中的现有产品。
参数:
productId(string):产品IDtitle(字符串,可选):产品标题description(字符串,可选):产品描述variants(数组,可选):产品变体printAreas(对象,可选):产品的打印区域
delete-product
从Printify商店删除产品。
参数:
productId(string):产品ID
publish-product
将产品发布到您连接的销售渠道。
参数:
productId(string):产品IDpublishDetails(对象,可选):发布详细信息
目录工具
get-blueprints
从Printify目录中获取可用蓝图的列表。
参数:
page(数字,可选):页码(默认值:1)limit(数字,可选):每页蓝图数量(默认值:10)
get-blueprint
获取特定蓝图的详细信息。
参数:
blueprintId(字符串):蓝图ID
get-print-providers
获取特定蓝图的打印提供商列表。
参数:
blueprintId(字符串):蓝图ID
get-variants
获取特定蓝图和打印提供商的变体列表。
参数:
blueprintId(字符串):蓝图IDprintProviderId(string):打印提供者ID
图像工具
generate-and-upload-image
使用Replicate的Flux模型生成图像,用Sharp处理,并在一次操作中将其上传到Printify。该工具将AI图像生成与Printify集成相结合,实现了无缝的工作流程。
该工具执行四个步骤:
- 根据您的文本提示,使用Replicate的Flux模型生成图像
- 使用Sharp处理图像,以确保其是具有正确Printify格式的有效图像
- 将处理后的图像上传到您的Printify帐户
- 清理临时文件以避免磁盘空间问题
参数:
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帐户。支持三种类型的输入:
- URL(http://或https://)-直接上传到Printify
- 本地文件路径(例如c:\\path\\to\\image.png)-使用Sharp自动转换以确保兼容性,然后上传到Printify
- 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密钥。以下是如何获取并设置它:
- 登录您的Printify帐户 printify.com
- 转到我的个人资料>连接
- 在“连接”部分,您可以生成个人访问令牌
- 安全地存储API密钥,因为只有在生成后才能立即看到它
- 创建一个
.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令牌。以下是如何获得一个:
- 创建帐户或登录 replicate.com
- 转到您的帐户设置
- 生成API令牌
- 将令牌添加到您的
.env文件如上所示
ImgBB API密钥
如果你想使用Flux 1.1 Pro Ultra模型进行图像生成,你必须有一个ImgBB API密钥。Ultra模型生成的高分辨率图像太大,无法直接将base64上传到Printify,因此我们使用ImgBB作为中介。以下是获取API密钥的方法:
- 创建帐户或登录 imgbb.com
- 首选 api.imgbb.com 获取API密钥
- 将密钥添加到您的
.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服务器由三个主要组件组成:
- MCP服务器(
src/index.ts):使用各种工具设置MCP服务器,以便与Printify的API进行交互。 - Printify API客户端(
src/printify-api.ts):使用官方SDK处理与Printify API的通信。 - 复制客户端(
src/replicate-client.ts):与Replicate的API集成,为产品设计生成图像。
Docker架构
Docker设置由以下组件组成:
- Dockerfile:定义如何构建Docker镜像
- 使用Node.js 22 Alpine作为基础映像,占用空间小 - 安装依赖项并构建TypeScript代码 - 设置环境并运行服务器
- docker-compose.yml:定义服务配置
- 设置环境变量 - 装载.env文件和临时目录的卷 - 为stdio传输配置stdin和tty - 设置重启策略
- 卷:
- .env:作为环境变量的只读卷装载 - temp:作为临时文件(如生成的图像)的卷装载
发布Docker镜像
您可以将Docker镜像发布到Docker Hub或任何其他容器注册表,使其可供他人使用,而无需他们安装Node.js或克隆存储库。
- 构建Docker镜像:
docker build -t tsavo/printify-mcp:latest .- 登录Docker Hub:
docker login- 将镜像推送到Docker Hub:
docker push tsavo/printify-mcp:latest使用Docker镜像而不使用Node.js
用户可以直接使用Docker镜像运行Printify MCP服务器,而无需安装Node.js:
- 安装Docker:用户需要在他们的系统上安装Docker
- 创建临时目录 对于临时文件:
mkdir -p temp- 运行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- 配置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 configurationAPI 文档
有关代码库的详细文档,请参阅以下文件:
故障排除
常见问题
Printify API客户端未初始化
如果您看到错误“Printify API客户端未初始化”,请检查:
- 这
PRINTIFY_API_KEY您的环境变量设置正确.env文件 - API密钥有效并且具有正确的权限
复制API客户端未初始化
如果您看到错误“Replicate API客户端未初始化”,请检查:
- 这
REPLICATE_API_TOKEN您的环境变量设置正确.env文件 - API令牌有效并且具有正确的权限
创建产品时出错
如果在创建产品时遇到错误,请检查:
- 蓝图ID和打印提供商ID有效
- 变量ID对所选蓝图和打印提供程序有效
- 打印区域中的图像ID有效且可访问
- 所有必填字段都包含在请求中
上传图像时出错
如果上传图像时遇到错误,请检查:
- 图像格式有效(PNG、JPEG等)
- 图像不太大(最大大小为10MB)
- 如果使用URL,则可以公开访问
- 如果使用本地文件,则该文件存在并且可读
Docker特定问题
如果您使用Docker设置并遇到问题:
- 容器未启动:使用以下命令检查Docker日志
docker logs printify-mcp - 环境变量不起作用:如果使用.env文件,请确保它与docker-compose.yml文件或运行
docker run命令。如果直接使用设置环境变量-e,检查变量名中的拼写错误 - 临时目录的权限问题:临时目录作为卷装载,请确保它具有正确的权限
- Claude的连接问题:确保Docker容器正在运行
docker ps并且您已正确配置了Claude Desktop - 未找到图像:如果直接使用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贡献
欢迎投稿!请随时提交拉取请求。
许可证
国际学生委员会
