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 服务器是 AI 助手(例如 Claude)与 Printify 按需印刷平台之间的桥梁。它允许 AI 助手创建和管理按需印刷产品,使用 AI 生成设计,并通过模型上下文协议 (MCP) 处理产品管理的各个方面。
MCP 是由 Anthropic 开发的一项开放标准,它规范了应用程序向大型语言模型 (LLM) 提供上下文的方式。该服务器实现了 MCP 规范,以结构化的方式向 AI 助手开放 Printify 的功能。
特征
该 MCP 服务器提供以下功能:
Printify API 集成
- 身份验证:使用您的 API 密钥初始化 Printify API 客户端
- 商店:列出并管理 Printify 商店
- 产品:创建、读取、更新、删除和发布产品
- 目录:浏览蓝图、打印提供商和变体
- 图片:上传用于产品设计的图片
AI图像生成
- Replicate Integration :使用 Replicate 的 Flux 1.1 Pro 模型生成图像
- 组合工作流程:使用 AI 生成图像,一步即可将其直接上传至 Printify
文档
- 工具内文档:产品创建各个方面的综合文档
- 工作流程指南:创建产品的分步指南
提示
- 生成产品描述:根据产品详细信息生成引人注目的产品描述
先决条件
- Node.js(v18 或更高版本)
- npm(v7 或更高版本)
- Printify API 密钥
- 复制 API 令牌(用于 AI 图像生成)
- ImgBB API 密钥(使用 Flux 1.1 Pro Ultra 型号时需要)
安装
配置
您有两种选择来配置服务器所需的环境变量:
选项 1:使用 .env 文件(推荐)
- 在项目根目录中创建一个
.env
文件,其中包含以下变量:
您可以通过复制.env.example
文件将其用作模板:
选项 2:使用系统环境变量
或者,您可以直接在系统环境中设置这些变量:
Windows(命令提示符):
Windows(PowerShell):
macOS/Linux:
服务器将在启动时检查这些环境变量,无论它们是在.env
文件中还是在系统环境中设置的。
获取 Printify API 密钥
- 登录您的 Printify 帐户
- 转到“设置”>“API”
- 点击“创建新的 API 密钥”
- 复制 API 密钥并将其添加到您的
.env
文件
获取复制 API 令牌
- 在Replicate上创建帐户
- 前往您的帐户设置
- 生成 API 令牌
- 复制令牌并将其添加到您的
.env
文件中
用法
启动服务器
这将使用 stdio 传输启动 MCP 服务器,使其能够与 Claude Desktop 等 MCP 客户端通信。服务器将使用环境变量中的 API 密钥自动初始化 Printify API 客户端。
开发模式
这将以开发模式启动服务器,并在文件更改时自动重新加载。
与 Claude Desktop 一起使用
有三种方法可以将此 MCP 服务器与 Claude Desktop 一起使用:
选项 1:从 npm 安装(推荐)
- 全局安装包:Copy
- 按照配置部分中的说明,使用当前目录中的
.env
文件或系统环境变量配置环境变量。 - 配置Claude桌面:
- 打开 Claude 桌面
- 前往“设置”>“MCP 服务器”
- 点击“添加服务器”
- 输入服务器名称(例如“Printify MCP”)
- 选择“命令”作为传输类型
- 输入
printify-mcp
作为命令 - 无需争论
- 点击“添加服务器”
- 通过让 Claude 检查 Printify 状态来测试连接:Copy
printify-mcp
命令运行与原始 index.ts 文件相同的代码,但打包为可执行文件,可以直接从命令行运行。
选项 2:与 npx 一起使用
如果您不想全局安装包,您可以使用 npx:
- 按照配置部分所述配置您的环境变量。
- 配置Claude桌面:
- 打开 Claude 桌面
- 前往“设置”>“MCP 服务器”
- 点击“添加服务器”
- 输入服务器名称(例如“Printify MCP”)
- 选择“命令”作为传输类型
- 输入
npx
作为命令 - 输入
@tsavo/printify-mcp
作为参数 - 点击“添加服务器”
选项 3:使用 Docker(推荐用于隔离)
如果您希望在 Docker 容器中运行服务器,则有两个选择:
选项 3A:直接从 Docker Hub 使用 Docker 镜像
- 确保你的系统上安装了 Docker
- 为您的 Printify MCP 文件创建一个目录:Copy
- 使用您的 API 密钥创建一个
.env
文件:Copy - 为临时文件创建临时目录:Copy
- 运行 Docker 容器(两个选项):选项 A:直接使用环境变量(推荐)**注意:**如果您想使用图像生成功能(generate-and-upload-image 工具),请添加 Replicate API 令牌:Copy**重要提示:**如果您想使用 Flux 1.1 Pro Ultra 模型生成图像,您还必须添加 ImgBB API 密钥:Copy选项 B:使用 .env 文件CopyCopy
- 配置Claude桌面:
- 打开 Claude 桌面
- 前往“设置”>“MCP 服务器”
- 点击“添加服务器”
- 输入服务器名称(例如“Printify MCP Docker”)
- 选择“命令”作为传输类型
- 输入
docker
作为命令 - 输入
exec -i printify-mcp node dist/index.js
作为参数 - 点击“添加服务器”
选项 3B:使用 Docker Compose 构建并运行
- 确保您的系统上安装了 Docker 和 Docker Compose
- 将此存储库克隆到您的本地机器:Copy
- 配置环境变量(两种选择):**选项 A:直接编辑 docker-compose.yml(推荐)**打开 docker-compose.yml 并取消注释/编辑环境变量:选项 B:创建Copy
.env
文件然后取消注释docker-compose.yml中的.env卷挂载:CopyCopy - 构建并启动 Docker 容器:Copy
- 配置Claude桌面:
- 打开 Claude 桌面
- 前往“设置”>“MCP 服务器”
- 点击“添加服务器”
- 输入服务器名称(例如“Printify MCP Docker”)
- 选择“命令”作为传输类型
- 输入
docker
作为命令 - 输入
exec -i printify-mcp node dist/index.js
作为参数 - 点击“添加服务器”
- 通过让 Claude 检查 Printify 状态来测试连接:Copy
选项 4:克隆并设置存储库
如果您希望不使用 Docker 直接使用源代码:
- 将此存储库克隆到您的本地机器:Copy
- 安装依赖项并构建项目:Copy
- 按照配置部分中的说明,使用
.env
文件或系统环境变量配置环境变量。 - 获取已编译 JavaScript 文件的完整绝对路径:视窗:macOS/Linux:CopyCopy
- 配置Claude桌面:
- 打开 Claude 桌面
- 前往“设置”>“MCP 服务器”
- 点击“添加服务器”
- 输入服务器名称(例如“Printify MCP”)
- 选择“命令”作为传输类型
- 输入 Node.js 的路径作为命令(例如,
node
) - 输入构建服务器的完整绝对路径作为参数
- 点击“添加服务器”
- 启动服务器:使用 Claude Desktop 时保持此终端窗口打开。Copy
测试连接
在与 Claude 的对话中,您可以通过要求 Claude 检查 Printify 状态来测试服务器是否正常工作:
Claude 应该使用get-printify-status
工具来检查连接状态。您也可以让 Claude 使用list-shops
工具列出您的 Printify 商店。
如果您遇到任何问题:
- 检查启动服务器的控制台输出是否有错误消息
- 验证环境变量是否设置正确
- 确保服务器仍在运行
- 确认 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
(数字):蓝图IDprintProviderId
(数字):打印提供商IDvariants
(数组):产品变体printAreas
(对象,可选):产品的打印区域
update-product
更新 Printify 商店中的现有产品。
参数:
productId
(字符串):产品 IDtitle
(字符串,可选):产品标题description
(字符串,可选):产品描述variants
(数组,可选):产品变体printAreas
(对象,可选):产品的打印区域
delete-product
从您的 Printify 商店中删除产品。
参数:
productId
(字符串):产品 ID
publish-product
将产品发布到您关联的销售渠道。
参数:
productId
(字符串):产品 IDpublishDetails
(对象,可选):发布详细信息
目录工具
get-blueprints
从 Printify 目录中获取可用蓝图的列表。
参数:
page
(数字,可选):页码(默认值:1)limit
(数字,可选):每页蓝图数量(默认值:10)
get-blueprint
获取特定蓝图的详细信息。
参数:
blueprintId
(字符串): 蓝图 ID
get-print-providers
获取特定蓝图的打印提供商列表。
参数:
blueprintId
(字符串): 蓝图 ID
get-variants
获取特定蓝图和打印提供商的变体列表。
参数:
blueprintId
(字符串): 蓝图 IDprintProviderId
(字符串):打印提供商 ID
图像工具
generate-and-upload-image
使用 Replicate 的 Flux 模型生成图像,使用 Sharp 进行处理,然后一次性上传至 Printify。此工具将 AI 图像生成与 Printify 集成相结合,实现无缝衔接的工作流程。
该工具执行四个步骤:
- 根据您的文本提示,使用 Replicate 的 Flux 模型生成图像
- 使用 Sharp 处理图像以确保它是有效的图像,并且具有适合 Printify 的正确格式
- 将处理后的图像上传到您的 Printify 帐户
- 清理临时文件以避免磁盘空间问题
参数:
prompt
(字符串):图像生成的文本提示fileName
(字符串):上传图像的文件名model
(字符串,可选):覆盖默认模型(例如“black-forest-labs/flux-1.1-pro-ultra”)width
(数字,可选):图像宽度(以像素为单位)(默认值:1024)height
(数字,可选):图像高度(以像素为单位)(默认值:1024)aspectRatio
(string, 可选): 宽高比 (例如 '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 令牌设置REPLICATE_API_TOKEN
环境变量。您可以从replicate.com获取令牌。
**重要提示:**如果您想使用 Flux 1.1 Pro Ultra 模型,还必须设置IMGBB_API_KEY
环境变量。Ultra 模型生成的高分辨率图像过大,无法直接通过 Base64 编码上传到 Printify。您可以从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
(string, 可选): 宽高比 (例如 '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 令牌设置REPLICATE_API_TOKEN
环境变量。您可以从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 的文件,建议使用 URL 上传,而不是 base64 编码
参数:
fileName
(字符串):文件名url
(字符串):要上传的图像的 URL、本地文件的路径或 base64 编码的图像数据
提示
generate-product-description
生成引人注目的产品描述。
参数:
productName
(字符串):产品名称category
(字符串):产品类别targetAudience
(字符串,可选):产品的目标受众keyFeatures
(字符串,可选):以逗号分隔的关键产品功能列表
设置 API 密钥
Printify API 密钥
要使用此 MCP 服务器的 Printify 功能,您需要一个 Printify API 密钥。获取和设置密钥的方法如下:
- 在printify.com登录您的 Printify 帐户
- 前往“我的个人资料”>“联系人”
- 在“连接”部分,您可以生成您的个人访问令牌
- 安全存储您的 API 密钥,因为它仅在生成后立即可见
- 在项目根目录中创建一个
.env
文件,其内容如下:服务器将使用环境变量中的 API 密钥自动初始化 Printify API 客户端。如果您未指定商店 ID,服务器将使用您帐户中的第一个商店作为默认商店。您也可以直接设置环境变量:CopyCopy
复制 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
文件中,如上所示
工作流程示例
利用人工智能设计制作T恤
以下是创建具有正面和背面设计的 T 恤的完整示例:
管理现有产品
建筑学
主要部件
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 文件和临时目录挂载卷
- 配置 stdin 和 tty 以进行 stdio 传输
- 设置重启策略
- 卷数:
.env
:作为环境变量的只读卷安装temp
:作为临时文件(如生成的图像)的卷安装
发布 Docker 镜像
您可以将 Docker 镜像发布到 Docker Hub 或任何其他容器注册表,以供其他人使用,而无需他们安装 Node.js 或克隆存储库。
- 构建 Docker 镜像:Copy
- 登录 Docker Hub :Copy
- 将镜像推送到 Docker Hub :Copy
使用不带 Node.js 的 Docker 镜像
用户可以直接使用 Docker 镜像运行 Printify MCP 服务器,而无需安装 Node.js:
- 安装 Docker :用户需要在其系统上安装 Docker
- 为临时文件创建临时目录:Copy
- 运行 Docker 容器(两个选项):选项 A:直接使用环境变量(推荐)**注意:**如果他们想要使用图像生成功能(generate-and-upload-image 工具),请添加 Replicate API 令牌:Copy**重要提示:**如果他们想使用 Flux 1.1 Pro Ultra 模型来生成图像,他们还必须添加 ImgBB API 密钥:Copy选项 B:使用 .env 文件首先,创建一个包含其 API 密钥的 .env 文件:Copy然后运行容器:CopyCopy
- 配置Claude桌面:
- 打开 Claude 桌面
- 前往“设置”>“MCP 服务器”
- 点击“添加服务器”
- 输入服务器名称(例如“Printify MCP Docker”)
- 选择“命令”作为传输类型
- 输入
docker
作为命令 - 输入
exec -i printify-mcp node dist/index.js
作为参数 - 点击“添加服务器”
这种方法允许用户运行 Printify MCP 服务器而无需安装 Node.js 或任何其他依赖项 - 他们只需要 Docker。
文件结构
API 文档
有关代码库的详细文档,请参阅以下文件:
故障排除
常见问题
Printify API 客户端未初始化
如果您看到错误“Printify API 客户端未初始化”,请检查:
- 您的
.env
文件中的PRINTIFY_API_KEY
环境变量已正确设置 - API 密钥有效且具有正确的权限
复制 API 客户端未初始化
如果看到错误“复制 API 客户端未初始化”,请检查:
- 您的
.env
文件中的REPLICATE_API_TOKEN
环境变量已正确设置 - API 令牌有效且具有正确的权限
创建产品时出错
如果在创建产品时遇到错误,请检查:
- 蓝图 ID 和打印提供商 ID 有效
- 变体 ID 对所选蓝图和打印提供商有效
- 打印区域中的图像 ID 有效且可访问
- 所有必填字段均包含在请求中
上传图片错误
如果上传图片时遇到错误,请检查:
- 图像是有效格式(PNG、JPEG 等)
- 图像不太大(最大尺寸为 10MB)
- 如果使用 URL,则可以公开访问
- 如果使用本地文件,则该文件存在且可读
Docker 特定问题
如果您在使用 Docker 设置时遇到问题:
- 容器未启动:使用
docker logs printify-mcp
检查 Docker 日志 - 环境变量不起作用:如果使用 .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 run 时重新启动 Docker 容器:
对于直接使用 PowerShell 和 Docker 映像的 Windows 用户:
对于直接使用命令提示符和 Docker 映像的 Windows 用户:
调试
服务器包含详细的日志记录,可帮助您解决问题。请检查控制台输出以获取错误消息和调试信息。
对于 Docker 部署,您可以使用以下命令查看日志:
要实时跟踪日志:
贡献
欢迎贡献代码!欢迎提交 Pull 请求。
执照
国际学习中心
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
模型上下文协议服务器允许像 Claude 这样的 AI 助手与 Printify 的按需打印平台集成,从而通过自然语言命令实现产品创建、管理和 AI 生成的设计上传。