Printful MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.39.1Updated Nov 14, 2026

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

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableData & AnalyticsBusiness & CommerceMedia & Design

Overview

AI-generated overview

Hosted Printful MCP server that lets an assistant browse the print-on-demand catalog, orders, shipping quotes and sales stats, and create draft orders and…

What you can do
  • Browse stores, catalog categories, products and variants, plus store and synced products
  • List and inspect orders with status, items, costs and shipment tracking
  • Quote shipping rates and estimate order costs without creating anything
  • Check File Library entries, print-file specs and mockup task results
  • Create and update draft orders, add print files and start mockup generation
  • Report sales, costs, profit and order counts for a period
When to use it
Useful when you run a Printful store and want an assistant to answer order-status and profit questions, quote shipping, check which products still need designs, or prepare draft orders and mockups without leaving the chat.
Requirements
Remote MCP endpoint over streamable HTTP; no local install. Sign-in uses OAuth, and the login page asks for a Printful Private Token plus an optional default store ID, stored per user. A usefulapi.io plan governs usage: free tier is 50 tool calls per month, with paid Pro and Pro+ tiers above that.
Before you install
Write tools create or change Printful data: draft orders, draft-order updates (sending items replaces the existing list), File Library files and mockup tasks. Draft orders are not charged but must be confirmed in the Printful dashboard. Your Printful Private Token is handed to the hosted service. The service is metered and paid plans are billed through a checkout link; cancellation gives no refund for the current period.

Installation

In SourceWeft

  1. Open Printful MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fprintful/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "printful-by-usefulapi": {
      "type": "http",
      "url": "https://printful.usefulapi.io/mcp"
    }
  }
}

README

Printful MCP by usefulapi

Use Printful from Claude, Cursor, or any MCP client — browse the catalog, orders, shipping rates and sales stats, and create draft orders, files and mockups. Hosted, no local install: connect with your own Printful credentials.

Live endpoint: https://printful.usefulapi.io/mcp · Homepage: https://usefulapi.io/printful

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://printful.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http printful https://printful.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "printful": {      "url": "https://printful.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Printful credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/printful/

On first connect you'll provide your Printful Private Token (developers.printful.com > Your tokens), plus an optional default store ID. They're validated, stored per-user, and scoped to you — no keys in config files.

Tools

ToolTypeWhat it does
printful_list_storesreadList stores
printful_list_catalog_categoriesreadList catalog categories
printful_list_catalog_productsreadList catalog products
printful_get_catalog_productreadGet a catalog product
printful_get_catalog_variantreadGet a catalog variant
printful_list_store_productsreadList store products (Manual/API store)
printful_get_store_productreadGet a store product (Manual/API store)
printful_list_sync_productsreadList synced products (integrated store)
printful_get_sync_productreadGet a synced product (integrated store)
printful_list_ordersreadList orders
printful_get_orderreadGet an order
printful_calculate_shipping_ratesreadCalculate shipping rates
printful_estimate_order_costsreadEstimate order costs
printful_get_filereadGet a file
printful_get_printfilesreadGet printfile specs for a product
printful_get_mockup_taskreadGet a mockup task result
printful_get_statisticsreadGet store statistics
printful_create_draft_orderwriteCreate a draft order
printful_update_draft_orderwriteUpdate a draft order
printful_add_filewriteAdd a file to the File Library
printful_create_mockup_taskwriteCreate a mockup generation task
printful_usage_statusmetaUsage status (free-tier meter)
printful_request_featuremetaRequest a missing feature
printful_upgrademetaUpgrade to Pro or Pro+
printful_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)10,000 tool calls / month
Pro+ (per user)$39/mo or $390/yr (2 months free)100,000 tool calls / month

Each paid plan covers this server only. Ask your AI to run printful_upgrade and choose Pro or Pro+, billed monthly or yearly (it returns a Stripe Checkout link). If you already have Pro, ask to change it to Pro+. The change requires your confirmation, keeps your billing interval and charges the price difference for the rest of the period immediately. Cancel any time with printful_cancel_subscription: your paid plan continues to the end of the paid period, with no refund for the current period, and asking to resume the same plan with printful_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by Printful.

Source: servers/printful/README.md at commit f22f848

Tools

21

printful_list_stores

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.

Takes no parameters.

printful_list_catalog_categories

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.

Takes no parameters.

printful_list_catalog_products

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.

Parameterscategory_id

printful_get_catalog_product

Get a 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}.

Parametersproduct_idrequired

printful_get_catalog_variant

Get a catalog variant

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

Parametersvariant_idrequired

printful_list_store_products

List store products (Manual/API store)

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.

Parametersstatusstore_idcategory_id

printful_get_store_product

Get a store product (Manual/API store)

Fetch one product of a Manual-order / API store with all its Sync Variants — catalog variant, print files, retail price. For a Shopify, Etsy, WooCommerce or other integrated store use printful_get_sync_product instead. Printful: GET /store/products/{id}.

Parametersstore_idproduct_idrequired

printful_list_sync_products

List synced products (integrated store)

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.

Parameterslimitoffsetsearchstatusstore_id

printful_get_sync_product

Get a synced product (integrated store)

Fetch one product imported from an integrated store (Shopify, Etsy, WooCommerce…) with all its Sync Variants — catalog variant, print files, retail price, sync status. Ids come from printful_list_sync_products. Printful: GET /sync/products/{id}.

Parametersstore_idproduct_idrequired

printful_list_orders

List orders

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

Parameterslimitoffsetstatusstore_id

printful_get_order

Get an 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}.

Parametersorder_idrequiredstore_id

printful_calculate_shipping_rates

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.

Parametersitemsrequiredlocalecurrencystore_idrecipientrequired

printful_estimate_order_costs

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.

Parametersitemsrequiredshippingstore_idrecipientrequiredretail_costs

printful_get_file

Get a 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}.

Parametersfile_idrequiredstore_id

printful_get_printfiles

Get printfile specs for a product

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

Parametersstore_idtechniqueproduct_idrequiredorientation

printful_get_mockup_task

Get a mockup task result

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.

Parametersstore_idtask_keyrequired

printful_get_statistics

Get store statistics

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

Parametersdate_torequiredcurrencystore_iddate_fromrequiredreport_typesrequired

printful_create_draft_order

Create a 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).

Parametersgiftitemsrequiredshippingstore_idrecipientrequiredexternal_idpacking_slipretail_costs

printful_update_draft_order

Update a 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).

Parametersgiftitemsorder_idrequiredshippingstore_idrecipientexternal_idpacking_slipretail_costs

printful_add_file

Add a file to the File Library

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.

Parametersurlrequiredtypeoptionsvisiblefilenamestore_id

printful_create_mockup_task

Create a mockup generation 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}.

Parametersfileswidthformatoptionsstore_idproduct_idrequiredvariant_idsrequiredoption_groupsproduct_optionsproduct_template_id

Version history

24
  1. v1.39.1LatestNov 13, 2026
  2. v1.38.0Nov 12, 2026
  3. v1.37.3Nov 11, 2026
  4. v1.36.3Nov 7, 2026
  5. v1.35.3Nov 5, 2026
  6. v1.35.2Nov 5, 2026
  7. v1.35.1Nov 4, 2026
  8. v1.35.0Nov 3, 2026
  9. v1.34.1Nov 3, 2026
  10. v1.33.0Nov 1, 2026
  11. v1.31.0Oct 31, 2026
  12. v1.30.0Oct 31, 2026
  13. v1.29.2Oct 30, 2026
  14. v1.29.0Oct 30, 2026
  15. v1.24.0Oct 26, 2026
  16. v1.21.3Oct 25, 2026
  17. v1.21.0Oct 25, 2026
  18. v1.20.0Oct 24, 2026
  19. v1.17.0Oct 23, 2026
  20. v1.16.4Oct 22, 2026
  21. v1.16.3Oct 21, 2026
  22. v1.11.1Oct 9, 2026
  23. v1.10.0Oct 9, 2026
  24. v1.0.0Sep 30, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations