Printful Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Printful Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
MCP server for Printful API. Create print-on-demand products with your designs.
cp printful_mcp_settings.example.json printful_mcp_settings.jsonnpm install
npm run buildAdd to claude_desktop_config.json:
{
"mcpServers": {
"printful": {
"command": "node",
"args": ["path/to/printful-mcp-server/build/index.js"]
}
}
}npm run inspectorgetProducts - Browse all printable products (shirts, mugs, etc)getProduct - Get product details with all variants (sizes, colors)getProductVariant - Get specific variant infogetCategories - List product categoriesgetPrintfiles - Get print area dimensions for a productuploadFile - Upload design from local fileuploadFileFromUrl - Upload design from URLgetFile - Get file infogetFiles - List all files in librarygetSyncProducts - List your created productsgetSyncProduct - Get product with variantscreateSyncProduct - Create new product listingupdateSyncProduct - Update productdeleteSyncProduct - Delete productgetSyncVariant - Get variant detailsupdateSyncVariant - Update variant (price, files)deleteSyncVariant - Delete variantcreateMockupTask - Generate mockup imagesgetMockupTask - Check mockup generation statusgetMockupTemplates - Get available mockup stylesgetStore - Get current store infogetStores - List all storeschangeStore - Switch to different storegetProducts → find product ID (e.g. 71 for Unisex Staple T-Shirt)
getProduct(71) → find variant IDs for sizes/colors you wantuploadFileFromUrl({ url: "https://example.com/my-design.png" })
→ returns file IDcreateSyncProduct({
name: "My Awesome Shirt",
variants: [
{
variant_id: 4012,
retail_price: "24.99",
files: [{ type: "front", url: "https://example.com/my-design.png" }]
}
]
})createMockupTask({
product_id: 71,
files: [{ placement: "front", image_url: "https://..." }]
})
getMockupTask({ task_key: "..." }) → get mockup image URLsAlternative to config file:
PRINTFUL_API_KEY - Your API keyPRINTFUL_STORE_ID - Optional store ID~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.