printful-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PRINTFUL_API_KEY | Yes | Your Printful API key. Get it from Printful Settings. | |
| PRINTFUL_STORE_ID | No | Optional store ID to use a specific store. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| getProductsA | Get list of all printable products in the Printful catalog (t-shirts, mugs, posters, etc) |
| getProductA | Get detailed info about a specific product including all variants (sizes, colors) |
| getProductVariantB | Get info about a specific product variant |
| getCategoriesA | Get list of product categories |
| getPrintfilesA | Get printfile info for a product (dimensions, DPI, placement areas) |
| uploadFileA | Upload a design file (image) to Printful. Returns file ID to use when creating products. |
| uploadFileFromUrlB | Add a file to Printful library from a URL |
| getFileB | Get info about a previously uploaded file |
| getFilesB | Get list of all files in your Printful library |
| getSyncProductsB | Get list of all sync products (your created products) in your Printful store |
| getSyncProductA | Get a single sync product with all its variants |
| createSyncProductA | Create a new sync product with variants. This creates a listing draft in your Printful store. |
| updateSyncProductB | Update an existing sync product |
| deleteSyncProductB | Delete a sync product from your store |
| getSyncVariantB | Get a single sync variant |
| updateSyncVariantC | Update a sync variant (price, files, etc) |
| deleteSyncVariantB | Delete a sync variant |
| createMockupTaskA | Generate product mockup images with your design. Returns a task ID to check status. |
| getMockupTaskA | Check status of a mockup generation task and get result URLs |
| getMockupTemplatesA | Get available mockup templates for a product |
| getStoreA | Get information about your Printful store |
| getStoresA | Get list of all stores linked to your Printful account |
| changeStoreB | Switch to a different store (for accounts with multiple stores) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 23 tools
Each tool targets a distinct resource and action. Catalog, file, sync product, mockup, and store tools are clearly separated. There is no overlap between tools like getProducts (catalog) and getSyncProducts (store products).
Tool names follow a consistent verb_noun pattern (e.g., getProducts, createSyncProduct, updateSyncVariant, deleteSyncProduct). All use camelCase with descriptive verbs, and even uploadFileFromUrl is predictable. No mixed naming conventions.
23 tools is on the higher end but appropriate for the broad scope of Printful's API: catalog browsing, file management, product lifecycle, mockups, and store management. Each tool covers a distinct function, so the count feels justified rather than excessive.
The tool set covers the core workflow: browse catalog, upload designs, create/update/delete sync products and variants, generate mockups, and manage stores. Minor gaps exist, such as no file deletion or order management tools, but the primary product creation and management lifecycle is well covered.