Printful MCP by usefulapi
Browse the Printful catalog, orders, shipping quotes and stats, and create draft orders and mockups.
Connect it
Settings → Connectors → Add custom connector
URL: https://printful.usefulapi.io/mcpSettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://printful.usefulapi.io/mcp{
"mcpServers": {
"printful": {
"url": "https://printful.usefulapi.io/mcp"
}
}
}claude mcp add --transport http printful https://printful.usefulapi.io/mcp{
"servers": {
"printful": {
"type": "http",
"url": "https://printful.usefulapi.io/mcp"
}
}
}20 tools, verified live
printful_list_storesread-onlyList the stores this token can reach (id, name, platform type). A cheap way to confirm the token works, and where to find the store_id an ACCOUNT-level token needs. Printful: GET /stores.
printful_list_catalog_categoriesread-onlyList Printful's catalog categories (T-shirts, Mugs, Posters…) with their ids and parent ids — the filter for printful_list_catalog_products. Printful: GET /categories.
printful_list_catalog_productsread-onlyList the blank products Printful can print on (id, title, brand, model, variant count, print-file placements), optionally filtered by category. Printful: GET /products.
printful_get_catalog_productread-onlyFetch one catalog product with ALL its variants (size, color, variant_id, price, stock). Use the variant_id values when quoting shipping or building an order. Printful: GET /products/{id}.
printful_get_catalog_variantread-onlyFetch one catalog variant and its parent product. Printful: GET /products/variant/{id}.
printful_list_store_productsread-onlyList the Sync Products in a Manual-order / API store. For a Shopify, Etsy, WooCommerce or other integrated store use printful_list_sync_products instead. Printful: GET /store/products.
printful_get_store_productread-onlyFetch one Sync Product with all its Sync Variants — catalog variant, print files, retail price. Works for any store type. Printful: GET /store/products/{id}.
printful_list_sync_productsread-onlyList the products Printful has imported from an integrated store (Shopify, Etsy, WooCommerce…), with how many variants are synced. Filter by status=unsynced to find products that still need a design or catalog variant. Printful: GET /sync/products.
printful_list_ordersread-onlyList the store's orders, newest first, optionally by status (draft, pending, failed, canceled, inprocess, onhold, partial, fulfilled, archived). Printful: GET /orders.
printful_get_orderread-onlyFetch one order: status, recipient, items, costs, and shipments with carrier and tracking links — the answer to 'where is my order?'. Printful: GET /orders/{id}.
printful_calculate_shipping_ratesread-onlyQuote the shipping options (method id, name, rate, delivery-day estimate) for a set of items to an address. Only country_code is required (plus state_code for US/CA/AU). Changes nothing. Printful: POST /shipping/rates.
printful_estimate_order_costsread-onlyPrice an order WITHOUT creating it: item, print, shipping and tax costs, plus retail totals. Same item shape as printful_create_draft_order. Changes nothing. Printful: POST /orders/estimate-costs.
printful_get_fileread-onlyFetch one File Library entry — processing status (ok / waiting / failed), dimensions, DPI and preview URLs. Poll this after printful_add_file. Printful: GET /files/{id}.
printful_get_printfilesread-onlyList the print areas (placements) and required print-file pixel sizes/DPI for each variant of a catalog product — what a design must match before mockups or orders. DTG is assumed unless technique is given. Printful: GET /mockup-generator/printfiles/{id}.
printful_get_mockup_taskread-onlyCheck a mockup-generation task: status (pending / completed / failed) and, when done, the mockup image URLs per placement and variant. Printful: GET /mockup-generator/task.
printful_get_statisticsread-onlySales, costs, profit and order-count reports for a period of at most 6 months. Printful: GET /reports/statistics.
printful_create_draft_ordercan modifyCreate an order as a DRAFT — nothing is charged or produced. It must be confirmed later in the Printful dashboard, where the charge is shown. Each item needs one of variant_id (+ files), sync_variant_id, external_variant_id, warehouse_product_variant_id or product_template_id (+ variant_id). Printful: POST /orders (never with confirm).
printful_update_draft_ordercan modifyChange a DRAFT order (unsubmitted orders only) — send only the fields to change. CAUTION: if you send `items`, it replaces the list: existing items not included (by id or external_id) are removed. The order stays a draft; nothing is charged. Printful: PUT /orders/{id} (never with confirm).
printful_add_filecan modifyAdd a print file to the File Library from a public URL (PNG/JPG recommended). If a file with the same URL already exists it is returned instead. Processing is async — poll printful_get_file until status is ok. Printful: POST /files.
printful_create_mockup_taskcan modifyStart generating product mockups for a design on a catalog product — returns a task_key; poll printful_get_mockup_task for the images. Heavily rate-limited (about 10/min for established stores, 2/min for new ones). Printful: POST /mockup-generator/create-task/{id}.
Alternatives in E-commerce
Compare →DEDebituraB
Cross-border debt collection: submit and track cases handled by local partners in 183 countries.
SGSCVD General StoreB
Evidence observatory: x402/MPP inspection, signed receipt checks and settlement attestations.
ASAsoBeastB
App Store and Google Play ASO: keyword rankings, competitors, reviews, audits and an action queue.
Skybridge Ecommerce ExampleB
Example MCP App based on Skybridge framework showing an e-commerce products based on request
DRDropyourB
Publish micro-apps from your AI with no account; operate them as real apps. Data stored in the EU.
HutchDBB
Store, query, and update structured data from any AI agent