返回市场
印艺-MCP

印艺-MCP

作者:TSavo17 星标更新:2025-04-20

项目介绍

Printify MCP Server

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

目录

概述

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

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

特性

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

Printify API集成

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

AI图像生成

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

文档

  • 内置文档:全面的产品创建文档
  • 工作流程指导:分步指南以创建产品

提示

  • 生成产品描述:基于产品详情生成引人入胜的产品描述

前提条件

  • Node.js(v18或更高)
  • npm(v7或更高)
  • Printify API密钥
  • Replicate API令牌(用于AI图像生成)
  • ImgBB API密钥(如果使用Flux 1.1 Pro Ultra模型)

安装

# 克隆仓库
git clone https://github.com/tsavo/printify-mcp.git
cd printify-mcp

# 安装依赖
npm install

# 构建项目
npm run build

配置

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

选项1:使用.env文件(推荐)

  1. 在项目的根目录下创建一个.env文件,包含以下变量:
# 所有功能都需要
PRINTIFY_API_KEY=your_printify_api_key

# 如果使用Flux 1.1 Pro Ultra模型进行图像生成,则需要
# Ultra模型生成的高分辨率图像太大,无法直接进行base64上传
IMGBB_API_KEY=your_imgbb_api_key

# 可选:如果没有提供,将使用账户中的第一个店铺
PRINTIFY_SHOP_ID=your_shop_id

# 可选:仅在需要使用图像生成功能时才需要
REPLICATE_API_TOKEN=your_replicate_api_token

您可以复制.env.example文件作为模板:

cp .env.example .env
# 然后编辑`.env`文件,添加实际的API密钥

选项2:使用系统环境变量

或者,您可以在系统环境中直接设置这些变量:

Windows(命令提示符):

:: 必需
set PRINTIFY_API_KEY=your_printify_api_key

:: 可选
set PRINTIFY_SHOP_ID=your_shop_id

:: 可选 - 仅用于图像生成
set REPLICATE_API_TOKEN=your_replicate_api_token

Windows(PowerShell):

# 必需
$env:PRINTIFY_API_KEY = "your_printify_api_key"

# 可选
$env:PRINTIFY_SHOP_ID = "your_shop_id"

# 可选 - 仅用于图像生成
$env:REPLICATE_API_TOKEN = "your_replicate_api_token"

macOS/Linux:

# 必需
export PRINTIFY_API_KEY=your_printify_api_key

# 可选
export PRINTIFY_SHOP_ID=your_shop_id

# 可选 - 仅用于图像生成
export REPLICATE_API_TOKEN=

无论是在.env文件中还是在系统环境中设置,服务器启动时都会检查这些环境变量。

获取Printify API密钥

  1. 登录到您的Printify账户
  2. 转到设置 > API
  3. 点击“创建新API密钥”
  4. 复制API密钥并将其添加到您的.env文件中

获取Replicate API令牌

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

使用方法

启动服务器

npm start

这将使用stdio传输启动MCP服务器,允许其与MCP客户端(如Claude Desktop)通信。服务器将自动使用环境变量中的API密钥初始化Printify API客户端。

开发模式

npm run dev

这将以开发模式启动服务器,当文件更改时会自动重新加载。

与Claude Desktop一起使用

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

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

  1. 全局安装该包:

    npm install -g @tsavo/printify-mcp
    
  2. 根据配置部分所述,使用当前目录下的.env文件或系统环境变量配置环境变量。

  3. 配置Claude Desktop:

    • 打开Claude Desktop
    • 转到设置 > MCP服务器
    • 点击“添加服务器”
    • 输入服务器名称(例如,“Printify MCP”)
    • 选择“命令”作为传输类型
    • 输入printify-mcp作为命令
    • 不需要参数
    • 点击“添加服务器”
  4. 通过让Claude检查Printify状态来测试连接:

    你能检查我的Printify连接状态吗?
    

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

选项2:使用npx

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

  1. 根据配置部分所述配置环境变量。

  2. 配置Claude Desktop:

    • 打开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 (可选)
    REPLICATE_API_TOKEN=your_replicate_api_token
    IMGBB_API_KEY=your_imgbb_api_key (使用Flux 1.1 Pro Ultra模型时必需)
    
  4. 创建一个临时目录用于临时文件:

    mkdir temp
    
  5. 运行Docker容器(两个选项):

    选项A:直接使用环境变量(推荐)

    # 对于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
    
    # 对于Windows命令提示符:
    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文件

    # 对于Linux/macOS:
    docker run -it --name printify-mcp \
      -v $(pwd)/.env:/app/.env:ro \
      -v $(pwd)/temp:/app/temp \
      tsavo/printify-mcp:latest
    
    # 对于Windows PowerShell:
    docker run -it --name printify-mcp -v ${PWD}/.env:/app/.env:ro -v ${PWD}/temp:/app/temp tsavo/print
    
  6. 配置Claude Desktop:

    • 打开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
      # 选项1:直接设置环境变量(推荐)
      - PRINTIFY_API_KEY=your_printify_api_key
      - PRINTIFY_SHOP_ID=your_shop_id_optional
      # 可选:仅在需要使用图像生成功能时才需要
      - REPLICATE_API_TOKEN=your_replicate_api_token
      # 使用Flux 1.1 Pro Ultra模型进行图像生成时必需
      - IMGBB_API_KEY=your_imgbb_api_key
    

    选项B:创建一个.env文件

    PRINTIFY_API_KEY=your_printify_api_key
    PRINTIFY_SHOP_ID=your_shop_id (可选)
    # 可选:仅在需要使用图像生成功能时才需要
    REPLICATE_API_TOKEN=your_replicate_api_token
    # 使用Flux 1
    
  4. 构建并启动Docker容器:

    docker-compose up -d
    
  5. 配置Claude Desktop:

    • 打开Claude Desktop
    • 转到设置 > MCP服务器
    • 点击“添加服务器”
    • 输入服务器名称(例如,“Printify MCP Docker”)
    • 选择“命令”作为传输类型
    • 输入docker作为命令
    • 输入exec -i printify-mcp node dist/index.js作为参数
    • 点击“添加服务器”
  6. 通过让Claude检查Printify状态来测试连接:

    你能检查我的Printify连接状态吗?
    

选项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
    • 转到设置 > MCP服务器
    • 点击“添加服务器”
    • 输入服务器名称(例如,“Printify MCP”)
    • 选择“命令”作为传输类型
    • 输入Node.js的路径作为命令(例如,node
    • 输入编译后的服务器的完整绝对路径作为参数
    • 点击“添加服务器”
  6. 启动服务器:

    npm start
    

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

测试连接

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

你能检查我的Printify连接状态吗?

Claude应该使用get-printify-status工具来检查连接状态。您也可以请求Claude使用list-shops工具列出您的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