Skip to main content
Glama
Jasuni69

printful-mcp-server

by Jasuni69

Printful MCP Server

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

Setup

  1. Get API key from Printful Settings

  2. Create config file:

cp printful_mcp_settings.example.json printful_mcp_settings.json
  1. Add your API key to the config

  2. Install and build:

npm install
npm run build

Related MCP server: Printful MCP Server

Usage

With Claude Desktop

Add to claude_desktop_config.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

Install Server
F
license - not found
A
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Sync Lightroom, Figma, Dropbox & Canva assets to WordPress and Shopify via natural language.

  • Sync Lightroom, Figma, Dropbox & Canva assets to WordPress and Shopify via natural language.

  • Run GenflowAI templates and AI creative workflows for ecommerce visuals, UGC ads, and videos.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Jasuni69/printful-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server