printify-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_READ_ONLY | No | Set to '1' to refuse operations that change state | |
| PRINTIFY_API_KEY | Yes | Your Printify API token | |
| PRINTIFY_SHOP_ID | No | Your Printify shop ID, used when not supplied per-request (optional but recommended) | |
| MCP_NO_DESTRUCTIVE | No | Set to '1' to allow writes but refuse irreversible or chargeable operations |
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 |
|---|---|
| printify_list_operationsA | Browse all 49 operations in the Printify API. Every one is reachable — Printify's API is entirely merchant-facing, so unlike most providers there is nothing here an ordinary token cannot call. Use this to find an operation id for printify_call. |
| printify_callC | Call any Printify operation by id. shop_id is filled in from PRINTIFY_SHOP_ID when you leave it out. |
| printify_get_shopsB | The shops connected to this Printify account, with their ids. |
| printify_list_productsC | Products in a shop, paginated. |
| printify_get_productA | One product in full, including variants, images and print areas. |
| printify_upload_imageA | Upload artwork to the Printify media library so it can be placed on a product. Takes a publicly reachable URL — Printify fetches it server-side, so a local file path will not work. |
| printify_list_ordersC | Orders in a shop, most recent first. |
| printify_publish_productA | Mark a product as published to its connected sales channel. Note this tells Printify the product is live; the storefront itself is updated by whatever integration owns that channel. |
| printify_get_shipping_costC | What an order would cost to ship, before placing it. Worth calling first — placing an order is chargeable and cannot be undone. |
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 9 tools
Most tools map cleanly to distinct actions such as shipping quotes, image upload, product retrieval, and order listing. printify_call and printify_list_operations form a clear discovery-plus-execution pair, but printify_call can technically overlap with every dedicated tool, creating mild ambiguity.
All tools consistently use a printify_ prefix with snake_case verb_noun names, such as list_products, get_product, upload_image, and publish_product. The sole outlier, printify_call, is still verb-first and fits the overall pattern well.
Nine tools is a well-scoped count for this server's purpose. It covers shops, products, orders, shipping, image upload, publishing, and includes a generic API call mechanism without feeling bloated.
Core read operations and several key actions are provided as first-class tools, while all 49 API operations are reachable through printify_list_operations and printify_call. The main gap is that a high-value action like creating an order lacks a dedicated wrapper, though it can be worked around through the generic call path.