printify
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
@artisanxl/printify-mcp
MCP server for the Printify API. It exposes every Printify Public API Operation as a Tool (53 in total), safely read-only by default.
Setup
Create a Printify personal access token, then register the server under the name printify.
Claude Code:
claude mcp add printify --env PRINTIFY_API_TOKEN=<your-token> -- npx -y @artisanxl/printify-mcpClaude Desktop (claude_desktop_config.json) or any client using mcpServers:
{
"mcpServers": {
"printify": {
"command": "npx",
"args": ["-y", "@artisanxl/printify-mcp"],
"env": { "PRINTIFY_API_TOKEN": "<your-token>" }
}
}
}To also allow Write Tools, add "PRINTIFY_READ_ONLY": "false" to env.
Related MCP server: Printify MCP
Environment variables
Variable | Default | Meaning |
| none (required) | Printify personal access token. The server exits if it is missing. |
| on | Read-only Mode. Only |
| all | Comma-separated Toolset names to offer (case-insensitive, whitespace trimmed). An unknown name is a startup error that lists the valid ones. |
|
| API base URL, without a version prefix. Whitespace and trailing slashes are trimmed. |
See .env.example.
Tool naming
Each Tool exposes exactly one Operation and is named as the snake_case form of its operationId in Printify's OpenAPI document, for example retrieve_list_of_shops_in_a_printify_account or retrieve_a_list_of_products.
MCP clients prefix Tool names with the server name (for example mcp__printify__<tool>) and limit the result to 64 characters. Tool names are therefore kept to 49 characters or fewer, assuming the server is registered as printify. If you register it under a longer name, long Tools may exceed your client's limit. Two Operations have names that are too long, so they are overridden:
Tool | Operation |
|
|
|
|
Tools are generated from a committed Spec Snapshot (spec/openapi.json); see docs/adr/.
Read-only Mode
By default only read-only Tools (28) are offered; Write Tools are not registered at all. Set PRINTIFY_READ_ONLY=false to offer all 53. Every Tool carries MCP annotations: readOnlyHint is true for read-only Tools, and destructiveHint is true for deletes, cancellations, archiving, disconnecting a shop, and Paid Tools. calculate_the_shipping_cost_of_an_order is a POST but changes nothing, so it stays available in Read-only Mode.
Toolsets
PRINTIFY_TOOLSETS limits which Toolsets are offered, for example PRINTIFY_TOOLSETS=catalog,products,uploads. It combines with Read-only Mode: a Tool must be in an enabled Toolset and, in Read-only Mode, be read-only.
Toolset | Contents |
| Blueprints, print providers, variants, size guides and shipping information |
| Listing, details, submitting (including Printify Express), sending to production, cancelling, address changes and shipping-cost calculation for orders, plus the refund, reprint and address-change support-request POSTs |
| Personalization options, configuration and previews |
| Listing, retrieving, creating, updating, deleting and publishing products, and GPSR information |
| Listing shops and disconnecting a shop |
| Reading order support requests (the creating POSTs are in |
| Listing, retrieving, uploading and archiving images |
| Listing, creating, modifying, deleting and simulating webhooks |
Paid Tools
These Write Tools can charge your Printify account:
submit_an_ordersubmit_a_printify_express_ordersend_an_existing_order_to_production
Their descriptions start with PAID: this call can charge your Printify account. and they have destructiveHint: true, so clients can ask for confirmation. They are only available with PRINTIFY_READ_ONLY=false.
Sales-channel-only Tools
set_product_publish_status_to_succeeded, set_product_publish_status_to_failed and notify_that_a_product_has_been_unpublished are for custom sales channel integrations. Their descriptions say that regular merchants should not call them. They are Write Tools.
Uploading an image from a file path
upload_an_image takes url, contents (base64) or file_path in its body; exactly one is required. file_path must be an absolute path on the machine running the server, or start with ~/ (expanded to the home directory). The file is read and sent base64-encoded, and file_name defaults to the file's basename. With url or contents, file_name is required.
Development
npm install
npm run refresh-spec # re-download spec/openapi.json
npm run generate # regenerate src/generated/tools.ts (deterministic)
npm run typecheck && npm run build && npm test
PRINTIFY_API_TOKEN=... npm startHand-maintained naming, Toolset, destructive and Paid Tool decisions live in scripts/generate/overrides.ts. See CONTRIBUTING.md.
License
MIT
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Every Canopy public API operation as a tool, run as you after a browser sign-in or on an API key.
Discover, inspect and run 63,000+ agent tools from one balance. Pay per call, no subscriptions.
AI-callable tools for API mocking, testing, monitoring, security, and automation.
660+ data tools for agents: TikTok, Douyin, Instagram, YouTube, X, weather, GitHub. Pay per call.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables to create print-on-demand products using the Printful API, allowing users to browse catalog, upload designs, create products, and generate mockups.23-
- FlicenseNot gradedqualityNot gradedmaintenanceEnables Claude to create, update, and publish print-on-demand products on Printify directly from chat, including managing shops, products, and orders.-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to read and manage PrestaShop catalogs via the legacy WebService API, covering products, categories, stock, and more across PrestaShop 1.6-9. Provides 45 tools for CRUD operations and read-only generic access.2MIT
- AlicenseAqualityCmaintenanceEnables natural language access to the full Printify API, including managing products, orders, uploads, and shipping costs.916 npmMIT