printful-mcp-server logo

printful-mcp-server

Jasuni69/printful-mcp
0 starsUpdated 2026-01-12Community

Is this your server?

Add your score badge to your README and get your server in front of 45k+ builders a month.

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Enables to create print-on-demand products using the Printful API, allowing users to browse catalog, upload designs, create products, and generate mockups.

README.md

Printful MCP Server

MCP server for Printful API. Create print-on-demand products with your designs.

Setup

  1. Get API key from Printful Settings
  1. Create config file:
cp printful_mcp_settings.example.json printful_mcp_settings.json
  1. Add your API key to the config
  1. Install and build:
npm install
npm run build

Usage

With Claude Desktop

Add to claude_desktop_config.json: ``json { "mcpServers": { "printful": { "command": "node", "args": ["path/to/printful-mcp-server/build/index.js"] } } } ``

Test with MCP Inspector

npm run inspector

Available Tools

Catalog

  • getProducts - Browse all printable products (shirts, mugs, etc)
  • getProduct - Get product details with all variants (sizes, colors)
  • getProductVariant - Get specific variant info
  • getCategories - List product categories
  • getPrintfiles - Get print area dimensions for a product

Files

  • uploadFile - Upload design from local file
  • uploadFileFromUrl - Upload design from URL
  • getFile - Get file info
  • getFiles - List all files in library

Sync Products (Your Listings)

  • getSyncProducts - List your created products
  • getSyncProduct - Get product with variants
  • createSyncProduct - Create new product listing
  • updateSyncProduct - Update product
  • deleteSyncProduct - Delete product
  • getSyncVariant - Get variant details
  • updateSyncVariant - Update variant (price, files)
  • deleteSyncVariant - Delete variant

Mockups

  • createMockupTask - Generate mockup images
  • getMockupTask - Check mockup generation status
  • getMockupTemplates - Get available mockup styles

Store

  • getStore - Get current store info
  • getStores - List all stores
  • changeStore - Switch to different store

Workflow Example

  1. Browse catalog:
getProducts → find product ID (e.g. 71 for Unisex Staple T-Shirt)
getProduct(71) → find variant IDs for sizes/colors you want
  1. Upload design:
uploadFileFromUrl({ url: "https://example.com/my-design.png" })
→ returns file ID
  1. Create product:
createSyncProduct({
  name: "My Awesome Shirt",
  variants: [
    {
      variant_id: 4012,
      retail_price: "24.99",
      files: [{ type: "front", url: "https://example.com/my-design.png" }]
    }
  ]
})
  1. Generate mockups (optional):
createMockupTask({
  product_id: 71,
  files: [{ placement: "front", image_url: "https://..." }]
})
getMockupTask({ task_key: "..." }) → get mockup image URLs

Environment Variables

Alternative to config file:

  • PRINTFUL_API_KEY - Your API key
  • PRINTFUL_STORE_ID - Optional store ID

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use Other servers.