io.usefulapi/printful

Printful MCP by usefulapi

Browse the Printful catalog, orders, shipping quotes and stats, and create draft orders and mockups.

1.11.1
Version
remote
Transport
20
Tools

Security review

Review passed

Reviewed 1d ago.

  • tools: 20 tools scanned
  • metadata: scanned

No findings.

Tools (20)

  • printful_list_stores

    List 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_categories

    List 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_products

    List 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_product

    Fetch 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_variant

    Fetch one catalog variant and its parent product. Printful: GET /products/variant/{id}.

  • printful_list_store_products

    List 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_product

    Fetch 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_products

    List 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_orders

    List the store's orders, newest first, optionally by status (draft, pending, failed, canceled, inprocess, onhold, partial, fulfilled, archived). Printful: GET /orders.

  • printful_get_order

    Fetch 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_rates

    Quote 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_costs

    Price 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_file

    Fetch 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_printfiles

    List 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_task

    Check 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_statistics

    Sales, costs, profit and order-count reports for a period of at most 6 months. Printful: GET /reports/statistics.

  • printful_create_draft_order

    Create 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_order

    Change 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_file

    Add 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_task

    Start 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}.