printify_create_ productCreate a product from a catalog blueprint + print provider: choose variants, set their prices (in CENTS), and place uploaded images into print areas.
Price a blueprint across print providers, build products from uploaded artwork and publish them to a connected store, then approve, track, or cancel the orders that come back.
PopMCPPrintify
Every catalog, product, order, upload, webhook and shop call PopMCP exposes, plus the order and publishing events it can watch for.
printify_create_ productCreate a product from a catalog blueprint + print provider: choose variants, set their prices (in CENTS), and place uploaded images into print areas.
printify_delete_ productDelete a product from the shop.
printify_get_ productRetrieve a single product by id.
printify_list_ productsList a shop's products, paginated.
printify_publish_ productStart publishing a product to its connected sales channel.
printify_update_ productUpdate a product.
printify_calculate_ order_ shippingCalculate shipping cost for a would-be order WITHOUT creating it (synchronous quote, persists nothing — usable read-only).
printify_cancel_ orderCancel an order.
printify_get_ blueprintRetrieve a single blueprint by id.
printify_get_ orderGet full details of one order: address_to, line_items (metadata, cost, shipping_cost, per-item status), metadata (order_type, shop_order_id, shop_order_label), total_price, total_shipping, total_tax (all in CENTS), status, and shipments (carrier, number, url) once fulfilled.
printify_get_ shipping_ infoRetrieve shipping cost + handling time for all variants of a blueprint from a specific print provider.
printify_list_ blueprint_ print_ providersList the print providers (factories) that can fulfil a specific blueprint.
printify_list_ blueprintsList every blueprint (blank product, e.g.
printify_list_ ordersList a shop's orders, paginated.
printify_list_ variantsList every variant (color/size combination) of a blueprint offered by a specific print provider.
printify_send_ order_ to_ productionApprove an on-hold order and send it to production.
printify_submit_ orderSubmit (create) an order.
printify_list_ shipping_ methodsCatalog V2 shipping summary (beta): which shipping tiers a blueprint+print-provider offers.
printify_archive_ uploadArchive an uploaded image, removing it from the active media library.
printify_create_ webhookSubscribe a webhook for ONE event topic on a shop.
printify_get_ uploadRetrieve a single uploaded image by id.
printify_list_ uploadsList images in the account's media library, paginated.
printify_list_ webhooksList all webhooks configured for a shop.
printify_upload_ imageUpload an image to the media library.
printify_list_ shopsList every shop (sales channel) connected to the authenticated Printify account.
printify_get_ product_ gpsrRetrieve a product's GPSR (EU General Product Safety Regulation) safety information — the structured responsible-person/manufacturer/safety record.
printify_notify_ unpublishNotify Printify that a product was unpublished (removed) from an external/CUSTOM sales channel, so Printify updates its publish state.
printify_set_ publishing_ failedReport that publishing to a CUSTOM/external sales channel failed.
printify_set_ publishing_ succeededReport that publishing to a CUSTOM/external sales channel succeeded.
printify_get_ print_ providerRetrieve a single print provider plus the blueprints it offers.
printify_list_ print_ providersList every print provider in the Printify system (not scoped to any blueprint).
printify_submit_ express_ orderSubmit a Printify Express (expedited) order.
printify_get_ economy_ shippingCatalog V2 ECONOMY shipping cost lookup (beta) for a blueprint+print-provider.
printify_get_ express_ shippingCatalog V2 EXPRESS shipping cost lookup (beta) for a blueprint+print-provider.
printify_get_ priority_ shippingCatalog V2 PRIORITY shipping cost lookup (beta) for a blueprint+print-provider.
printify_get_ standard_ shippingCatalog V2 STANDARD shipping cost lookup (beta) for a blueprint+print-provider.
printify_delete_ webhookDelete (unsubscribe) a webhook by id.
printify_update_ webhookUpdate a webhook (primarily its target `url`, optionally rotate its `secret`).
printify_disconnect_ shopDisconnect a shop from the Printify account.
Credentials off one Printify screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.
Paste a Personal Access Token from Printify's dashboard (My Profile → Connections) — no OAuth popup or refresh to manage. Then choose which shops to connect and the workspace each belongs in — that sets shop_id.
••••••••••••3f7aRead-only keeps it to quotes and reports; full access with approval-required writes means sending an order to production, canceling one, or deleting a live product waits for you. The full-catalog toggle adds the rest.
Drop the PopMCP URL into Claude, ChatGPT, Codex or any other supported client. It signs in through PopMCP with OAuth, so your Printify credential never leaves the server.
app.popmcp.com/mcp/…Ask for something harmless before you turn writes on. Once it comes back clean, widen the tool set or switch the connection to full access.
Show me every on-hold order in my Etsy shop and what's blocking it
printify_list_shopsok
Then just ask for the work
“Show me every on-hold order in my Etsy shop and what's blocking it”
“Bump prices 10% on every hoodie variant in my main shop”
“Upload this logo and build a black tee product priced at $28, then publish it”
“Compare shipping to Germany across the print providers for this tee”
One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.
Add the PopMCP URL under Settings → Connectors and the tools appear in every chat.
The same endpoint, registered in the browser. Nothing to install on the machine you are working from.
Register PopMCP as a custom connector, then let ChatGPT read and update the account.
Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.
Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.
Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.
FAQ
What teams ask before putting Printify behind an AI client.
A Personal Access Token, not OAuth. Printify shows it on one screen — dashboard, then My Profile → Connections — and you paste it into the Personal Access Token field on the connect form. There is no redirect URL to register and no token refresh to manage; the token is sent server-side over HTTPS as an Authorization: Bearer header. After that you pick which shops to connect and which workspace each belongs in, and shop_id is filled in from that choice.
It maps 39 operations across seven modules: shops, the product catalog (blueprints, print providers, variants, shipping), Catalog v2's beta shipping lookups, products, image uploads, orders, and webhooks. That splits 22 read to 17 write, and includes narrower records like get_product_gpsr for a product's EU safety information. Twenty-five tools load by default and the rest stay searchable, so the full surface is reachable without filling your client's context.
Yes, if you let it. submit_order creates an order and submit_express_order does the Printify Express version; send_order_to_production approves an on-hold order and hands it to the print provider; cancel_order stops one. Those calls commit real production work at the print provider, so keep the connection read-only if you only want quotes and reports, or turn on approval-required writes and review each one before it goes through.
Printify works in cents. create_product takes each variant's price in cents, so a $24.99 tee is 2499, and get_order returns total_price, total_shipping, and total_tax in cents too, alongside per-line-item cost and shipping_cost. Tell your agent the unit up front, or ask it to divide by 100 when reporting figures back to you — it is the single most common source of a wrong-looking number.
calculate_order_shipping returns a synchronous quote for an order that does not exist yet and persists nothing, so it works on a read-only connection. get_shipping_info gives cost and handling time for every variant of a blueprint from a specific print provider. Catalog v2 adds beta per-tier lookups — get_standard_shipping, get_express_shipping, get_priority_shipping, get_economy_shipping — plus list_shipping_methods for which tiers a blueprint and provider actually offer.
publish_product starts publishing to whichever sales channel the shop is connected to, and the Product publishing started, Product published, and Product publishing failed triggers tell you how it ended. If the shop is a CUSTOM or external channel, Printify expects the outcome reported back: set_publishing_succeeded, set_publishing_failed, and notify_unpublish when the product is removed at the other end. Skip those calls and Printify's publish state stops matching what is actually live.
No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.
Any client that supports a remote Streamable HTTP MCP server — Claude Desktop, Claude Web, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.
Loading 39 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 25-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. You can switch a connection to the full catalog at any time.
A tool is something your AI calls — there are 39 here. A trigger is something PopMCP watches for you: 14 Printify events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Printify.
Launch a hosted MCP endpoint for Printify, keep tool access under control, and start testing real workflow prompts right away.