← The evidence ledger
Evidence row 301419
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint eb9f9b06-ae4f-4d4f-ae84-b04801f63276
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- ca6deed4d6fc2db558cbb6414e713f9c303ff13b0695d90c9f03616e44dcb6ba
- Leaf
- 0xb133acad2ed4d2285ed6578b2faca25dbd6486a2905e95e770187180278ecd76
What was observed
{
"count": 21,
"tools": [
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"filename": {
"description": "File name to store it under.",
"type": "string"
},
"options": {
"description": "Additional file options.",
"items": {
"properties": {
"id": {
"description": "Option id, e.g. stitch_color or thread_colors.",
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"items": {
"type": "string"
},
"type": "array"
}
],
"description": "Option value."
}
},
"required": [
"id",
"value"
],
"type": "object"
},
"type": "array"
},
"store_id": {
"description": "Store id (numeric) for an ACCOUNT-level token; overrides PRINTFUL_STORE_ID. Not needed with a store-level token.",
"type": "string"
},
"type": {
"description": "Role of the file, e.g. default or preview.",
"type": "string"
},
"url": {
"description": "Public URL Printful downloads the file from.",
"format": "uri",
"type": "string"
},
"visible": {
"description": "Show the file in the dashboard's File Library (default true).",
"type": "boolean"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "printful_add_file"
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"currency": {
"description": "3-letter currency to quote in (default: store currency).",
"type": "string"
},
"items": {
"description": "Items to ship — give one of the variant ids per item.",
"items": {
"properties": {
"external_variant_id": {
"description": "Your platform's variant id.",
"type": "string"
},
"quantity": {
"description": "Quantity.",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"value": {
"description": "Item retail value, helps customs estimates.",
"type": "string"
},
"variant_id": {
"anyOf": [
{
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
{
"type": "string"
}
],
"description": "Catalog variant id."
},
"warehouse_product_variant_id": {
"anyOf": [
{
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
{
"type": "string"
}
],
"description": "Warehouse product variant id."
}
},
"required": [
"quantity"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"locale": {
"description": "Locale for rate names: en_US (default) or es_ES.",
"type": "string"
},
"recipient": {
"description": "Destination; more detail can return more precise rates.",
"properties": {
"address1": {
"type": "string"
},
"address2": {
"type": "string"
},
"city": {
"type": "string"
},
"country_code": {
"description": "Two-letter ISO country code.",
"type": "string"
},
"phone": {
"type": "string"
},
"state_code": {
"description": "Required for US, CA and AU.",
"type": "string"
},
"zip": {
"type": "string"
}
},
"required": [
"country_code"
],
"type": "object"
},
"store_id": {
"description": "Store id (numeric) for an ACCOUNT-level token; overrides PRINTFUL_STORE_ID. Not needed with a store-level token.",
"type": "string"
}
},
"required": [
"recipient",
"items"
],
"type": "object"
},
"name": "printful_calculate_shipping_rates"
},
{
"description": "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).",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"external_id": {
"description": "Your own order id; the order is then also addressable as @<external_id>.",
"type": "string"
},
"gift": {
"description": "Gift message for the packing slip.",
"properties": {
"message": {
"description": "Gift message text.",
"type": "string"
},
"subject": {
"description": "Gift message title.",
"type": "string"
}
},
"type": "object"
},
"items": {
"description": "Order items.",
"items": {
"properties": {
"external_id": {
"description": "Your line-item id.",
"type": "string"
},
"external_variant_id": {
"description": "Your platform's variant id for a Sync Variant.",
"type": "string"
},
"files": {
"description": "Print files (needed with a plain catalog variant_id).",
"items": {
"properties": {
"filename": {
"description": "File name.",
"type": "string"
},
"id": {
"description": "Id of a file already in the File Library. Give url or id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"options": {
"description": "Additional file options.",
"items": {
"properties": {
"id": {
"description": "Option id, e.g. stitch_color or thread_colors.",
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"items": {
"type": "string"
},
"type": "array"
}
],
"description": "Option value."
}
},
"required": [
"id",
"value"
],
"type": "object"
},
"type": "array"
},
"type": {
"description": "Placement / role of the file, e.g. default, front, back, preview (see the catalog product's files).",
"type": "string"
},
"url": {
"description": "Public URL of the print file. Give url or id.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"name": {
"description": "Display name on the packing slip.",
"type": "string"
},
"options": {
"description": "Product options, e.g. embroidery thread colors.",
"items": {
"properties": {
"id": {
"description": "Option id, e.g. stitch_color or thread_colors.",
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"items": {
"type": "string"
},
"type": "array"
}
],
"description": "Option value."
}
},
"required": [
"id",
"value"
],
"type": "object"
},
"type": "array"
},
"product_template_id": {
"description": "Product Template to generate print files from (variant_id is then required).",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"quantity": {
"description": "Quantity (max 1000 per item).",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"retail_price": {
"description": "Retail price shown on the packing slip, e.g. \"29.99\".",
"type": "string"
},
"sku": {
"description": "Your SKU.",
"type": "string"
},
"sync_variant_id": {
"description": "Sync Variant id from your Printful store.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"variant_id": {
"description": "Catalog variant id (then give files).",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"warehouse_product_variant_id": {
"description": "Warehouse product variant id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"required": [
"quantity"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"packing_slip": {
"description": "Custom packing slip.",
"properties": {
"custom_order_id": {
"description": "Your own order id to print instead of Printful's.",
"type": "string"
},
"email": {
"description": "Customer-service email.",
"type": "string"
},
"logo_url": {
"description": "Logo / sticker URL (printed monochrome).",
"type": "string"
},
"message": {
"description": "Custom packing-slip message.",
"type": "string"
},
"phone": {
"description": "Customer-service phone.",
"type": "string"
},
"store_name": {
"description": "Store name override for the return address.",
"type": "string"
}
},
"type": "object"
},
"recipient": {
"description": "Ship-to address (name, address1, city, country_code, zip are normally needed).",
"properties": {
"address1": {
"description": "Address line 1.",
"type": "string"
},
"address2": {
"description": "Address line 2.",
"type": "string"
},
"city": {
"description": "City.",
"type": "string"
},
"company": {
"description": "Company name.",
"type": "string"
},
"country_code": {
"description": "Two-letter ISO country code, e.g. US.",
"type": "string"
},
"email": {
"description": "Email address.",
"type": "string"
},
"name": {
"description": "Full name.",
"type": "string"
},
"phone": {
"description": "Phone number.",
"type": "string"
},
"state_code": {
"description": "State code — required for US, CA and AU.",
"type": "string"
},
"tax_number": {
"description": "Tax number (required for Brazil: CPF/CNPJ).",
"type": "string"
},
"zip": {
"description": "ZIP / postal code.",
"type": "string"
}
},
"required": [
"country_code"
],
"type": "object"
},
"retail_costs": {
"description": "Retail costs to show on the packing slip.",
"properties": {
"currency": {
"description": "3-letter currency code.",
"type": "string"
},
"discount": {
"type": "string"
},
"shipping": {
"type": "string"
},
"subtotal": {
"type": "string"
},
"tax": {
"type": "string"
}
},
"type": "object"
},
"shipping": {
"description": "Shipping method id from printful_calculate_shipping_rates (default STANDARD).",
"type": "string"
},
"store_id": {
"description": "Store id (numeric) for an ACCOUNT-level token; overrides PRINTFUL_STORE_ID. Not needed with a store-level token.",
"type": "string"
}
},
"required": [
"recipient",
"items"
],
"type": "object"
},
"name": "printful_create_draft_order"
},
{
"description": "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}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"files": {
"description": "Design files per placement. Give files or product_template_id.",
"items": {
"properties": {
"image_url": {
"description": "Public URL of the design image.",
"type": "string"
},
"options": {
"items": {
"properties": {
"id": {
"description": "Option id, e.g. stitch_color or thread_colors.",
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"items": {
"type": "string"
},
"type": "array"
}
],
"description": "Option value."
}
},
"required": [
"id",
"value"
],
"type": "object"
},
"type": "array"
},
"placement": {
"description": "Placement, e.g. front, back (see printful_get_printfiles).",
"type": "string"
},
"position": {
"description": "Where the image sits inside the print area, in pixels.",
"properties": {
"area_height": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"area_width": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"height": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"left": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"top": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"width": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"required": [
"area_width",
"area_height",
"width",
"height",
"top",
"left"
],
"type": "object"
}
},
"required": [
"placement",
"image_url"
],
"type": "object"
},
"type": "array"
},
"format": {
"description": "Output format (png is transparent).",
"enum": [
"jpg",
"png"
],
"type": "string"
},
"option_groups": {
"description": "Mockup option groups to generate.",
"items": {
"type": "string"
},
"type": "array"
},
"options": {
"description": "Mockup option names to generate (see printfiles).",
"items": {
"type": "string"
},
"type": "array"
},
"product_id": {
"description": "Catalog product id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"product_options": {
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"items": {
"type": "string"
},
"type": "array"
}
]
},
"description": "Product options, e.g. embroidery thread colors.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"product_template_id": {
"description": "Use a saved Product Template instead of files.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"store_id": {
"description": "Store id (numeric) for an ACCOUNT-level token; overrides PRINTFUL_STORE_ID. Not needed with a store-level token.",
"type": "string"
},
"variant_ids": {
"description": "Catalog variant ids to render.",
"items": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"width": {
"description": "Mockup width in px, 50-2000 (default 1000).",
"maximum": 2000,
"minimum": 50,
"type": "integer"
}
},
"required": [
"product_id",
"variant_ids"
],
"type": "object"
},
"name": "printful_create_mockup_task"
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"items": {
"description": "Order items.",
"items": {
"properties": {
"external_id": {
"description": "Your line-item id.",
"type": "string"
},
"external_variant_id": {
"description": "Your platform's variant id for a Sync Variant.",
"type": "string"
},
"files": {
"description": "Print files (needed with a plain catalog variant_id).",
"items": {
"properties": {
"filename": {
"description": "File name.",
"type": "string"
},
"id": {
"description": "Id of a file already in the File Library. Give url or id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"options": {
"description": "Additional file options.",
"items": {
"properties": {
"id": {
"description": "Option id, e.g. stitch_color or thread_colors.",
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"items": {
"type": "string"
},
"type": "array"
}
],
"description": "Option value."
}
},
"required": [
"id",
"value"
],
"type": "object"
},
"type": "array"
},
"type": {
"description": "Placement / role of the file, e.g. default, front, back, preview (see the catalog product's files).",
"type": "string"
},
"url": {
"description": "Public URL of the print file. Give url or id.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"name": {
"description": "Display name on the packing slip.",
"type": "string"
},
"options": {
"description": "Product options, e.g. embroidery thread colors.",
"items": {
"properties": {
"id": {
"description": "Option id, e.g. stitch_color or thread_colors.",
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"items": {
"type": "string"
},
"type": "array"
}
],
"description": "Option value."
}
},
"required": [
"id",
"value"
],
"type": "object"
},
"type": "array"
},
"product_template_id": {
"description": "Product Template to generate print files from (variant_id is then required).",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"quantity": {
"description": "Quantity (max 1000 per item).",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"retail_price": {
"description": "Retail price shown on the packing slip, e.g. \"29.99\".",
"type": "string"
},
"sku": {
"description": "Your SKU.",
"type": "string"
},
"sync_variant_id": {
"description": "Sync Variant id from your Printful store.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"variant_id": {
"description": "Catalog variant id (then give files).",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"warehouse_product_variant_id": {
"description": "Warehouse product variant id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"required": [
"quantity"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"recipient": {
"description": "Ship-to address.",
"properties": {
"address1": {
"description": "Address line 1.",
"type": "string"
},
"address2": {
"description": "Address line 2.",
"type": "string"
},
"city": {
"description": "City.",
"type": "string"
},
"company": {
"description": "Company name.",
"type": "string"
},
"country_code": {
"description": "Two-letter ISO country code, e.g. US.",
"type": "string"
},
"email": {
"description": "Email address.",
"type": "string"
},
"name": {
"description": "Full name.",
"type": "string"
},
"phone": {
"description": "Phone number.",
"type": "string"
},
"state_code": {
"description": "State code — required for US, CA and AU.",
"type": "string"
},
"tax_number": {
"description": "Tax number (required for Brazil: CPF/CNPJ).",
"type": "string"
},
"zip": {
"description": "ZIP / postal code.",
"type": "string"
}
},
"required": [
"country_code"
],
"type": "object"
},
"retail_costs": {
"description": "Retail costs to show on the packing slip.",
"properties": {
"currency": {
"description": "3-letter currency code.",
"type": "string"
},
"discount": {
"type": "string"
},
"shipping": {
"type": "string"
},
"subtotal": {
"type": "string"
},
"tax": {
"type": "string"
}
},
"type": "object"
},
"shipping": {
"description": "Shipping method id from printful_calculate_shipping_rates (default STANDARD).",
"type": "string"
},
"store_id": {
"description": "Store id (numeric) for an ACCOUNT-level token; overrides PRINTFUL_STORE_ID. Not needed with a store-level token.",
"type": "string"
}
},
"required": [
"recipient",
"items"
],
"type": "object"
},
"name": "printful_estimate_order_costs"
},
{
"description": "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}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"product_id": {
"description": "Catalog product id, e.g. 71.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"required": [
"product_id"
],
"type": "object"
},
"name": "printful_get_catalog_product"
},
{
"description": "Fetch one catalog variant and its parent product. Printful: GET /products/variant/{id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"variant_id": {
"description": "Catalog variant id, e.g. 4012.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"required": [
"variant_id"
],
"type": "object"
},
"name": "printful_get_catalog_variant"
},
{
"description": "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}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"file_id": {
"description": "File id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"store_id": {
"description": "Store id (numeric) for an ACCOUNT-level token; overrides PRINTFUL_STORE_ID. Not needed with a store-level token.",
"type": "string"
}
},
"required": [
"file_id"
],
"type": "object"
},
"name": "printful_get_file"
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"store_id": {
"description": "Store id (numeric) for an ACCOUNT-level token; overrides PRINTFUL_STORE_ID. Not needed with a store-level token.",
"type": "string"
},
"task_key": {
"description": "The task_key returned by printful_create_mockup_task.",
"type": "string"
}
},
"required": [
"task_key"
],
"type": "object"
},
"name": "printful_get_mockup_task"
},
{
"description": "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}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"order_id": {
"description": "Numeric Printful order id, or your External ID prefixed with @ (e.g. @SHOP-1001).",
"type": "string"
},
"store_id": {
"description": "Store id (numeric) for an ACCOUNT-level token; overrides PRINTFUL_STORE_ID. Not needed with a store-level token.",
"type": "string"
}
},
"required": [
"order_id"
],
"type": "object"
},
"name": "printful_get_order"
},
{
"description": "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}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"orientation": {
"description": "For wall art: orientation.",
"enum": [
"horizontal",
"vertical"
],
"type": "string"
},
"product_id": {
"description": "Catalog product id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"store_id": {
"description": "Store id (numeric) for an ACCOUNT-level token; overrides PRINTFUL_STORE_ID. Not needed with a store-level token.",
"type": "string"
},
"technique": {
"description": "Printing technique for multi-technique products, e.g. DTG, EMBROIDERY, SUBLIMATION, DTFILM.",
"type": "string"
}
},
"required": [
"product_id"
],
"type": "object"
},
"name": "printful_get_printfiles"
},
{
"description": "Sales, costs, profit and order-count reports for a period of at most 6 months. Printful: GET /reports/statistics.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"currency": {
"description": "3-letter currency, or display_currency for the account's display currency (default: store currency).",
"type": "string"
},
"date_from": {
"description": "Start date, YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"date_to": {
"description": "End date, YYYY-MM-DD (max 6 months after date_from).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"report_types": {
"description": "Reports to include, e.g. [\"sales_and_costs_summary\", \"profit\", \"total_paid_orders\"].",
"items": {
"enum": [
"sales_and_costs",
"sales_and_costs_summary",
"printful_costs",
"profit",
"total_paid_orders",
"costs_by_amount",
"costs_by_product",
"costs_by_variant",
"average_fulfillment_time"
],
"type": "string"
},
"minItems": 1,
"type": "array"
},
"store_id": {
"description": "Store id (numeric) for an ACCOUNT-level token; overrides PRINTFUL_STORE_ID. Not needed with a store-level token.",
"type": "string"
}
},
"required": [
"date_from",
"date_to",
"report_types"
],
"type": "object"
},
"name": "printful_get_statistics"
},
{
"description": "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}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"product_id": {
"description": "Numeric Printful id, or your platform's External ID prefixed with @ (e.g. @988123).",
"type": "string"
},
"store_id": {
"description": "Store id (numeric) for an ACCOUNT-level token; overrides PRINTFUL_STORE_ID. Not needed with a store-level token.",
"type": "string"
}
},
"required": [
"product_id"
],
"type": "object"
},
"name": "printful_get_store_product"
},
{
"description": "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}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"product_id": {
"description": "Numeric Printful id, or your platform's External ID prefixed with @ (e.g. @988123).",
"type": "string"
},
"store_id": {
"description": "Store id (numeric) for an ACCOUNT-level token; overrides PRINTFUL_STORE_ID. Not needed with a store-level token.",
"type": "string"
}
},
"required": [
"product_id"
],
"type": "object"
},
"name": "printful_get_sync_product"
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "printful_list_catalog_categories"
},
{
"description": "List the blank products Printful can print on (id, title, brand, model, variant count, print-file placements), optionally filtered by category. Printful: GET /products.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"category_id": {
"description": "Comma-separated category ids, e.g. 24 or 24,55 (see printful_list_catalog_categories).",
"type": "string"
}
},
"type": "object"
},
"name": "printful_list_catalog_products"
},
{
"description": "List the store's orders, newest first, optionally by status (draft, pending, failed, canceled, inprocess, onhold, partial, fulfilled, archived). Printful: GET /orders.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"description": "Items per page, 1-100.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"description": "Result set offset (items to skip).",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"status": {
"description": "Order status, e.g. draft, pending, fulfilled, failed.",
"type": "string"
},
"store_id": {
"description": "Store id (numeric) for an ACCOUNT-level token; overrides PRINTFUL_STORE_ID. Not needed with a store-level token.",
"type": "string"
}
},
"type": "object"
},
"name": "printful_list_orders"
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"category_id": {
"description": "Comma-separated catalog category ids.",
"type": "string"
},
"status": {
"description": "Filter by sync status.",
"enum": [
"all",
"synced",
"unsynced",
"ignored",
"imported",
"discontinued",
"out_of_stock"
],
"type": "string"
},
"store_id": {
"description": "Store id (numeric) for an ACCOUNT-level token; overrides PRINTFUL_STORE_ID. Not needed with a store-level token.",
"type": "string"
}
},
"type": "object"
},
"name": "printful_list_store_products"
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "printful_list_stores"
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"description": "Items per page, 1-100.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"description": "Result set offset (items to skip).",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"search": {
"description": "Product name search.",
"type": "string"
},
"status": {
"description": "Filter by sync status.",
"enum": [
"all",
"synced",
"unsynced",
"ignored",
"imported",
"discontinued",
"out_of_stock"
],
"type": "string"
},
"store_id": {
"description": "Store id (numeric) for an ACCOUNT-level token; overrides PRINTFUL_STORE_ID. Not needed with a store-level token.",
"type": "string"
}
},
"type": "object"
},
"name": "printful_list_sync_products"
},
{
"description": "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).",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"external_id": {
"description": "New external id.",
"type": "string"
},
"gift": {
"properties": {
"message": {
"description": "Gift message text.",
"type": "string"
},
"subject": {
"description": "Gift message title.",
"type": "string"
}
},
"type": "object"
},
"items": {
"description": "Full replacement item list (see caution).",
"items": {
"properties": {
"external_id": {
"description": "Your line-item id.",
"type": "string"
},
"external_variant_id": {
"description": "Your platform's variant id for a Sync Variant.",
"type": "string"
},
"files": {
"description": "Print files (needed with a plain catalog variant_id).",
"items": {
"properties": {
"filename": {
"description": "File name.",
"type": "string"
},
"id": {
"description": "Id of a file already in the File Library. Give url or id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"options": {
"description": "Additional file options.",
"items": {
"properties": {
"id": {
"description": "Option id, e.g. stitch_color or thread_colors.",
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"items": {
"type": "string"
},
"type": "array"
}
],
"description": "Option value."
}
},
"required": [
"id",
"value"
],
"type": "object"
},
"type": "array"
},
"type": {
"description": "Placement / role of the file, e.g. default, front, back, preview (see the catalog product's files).",
"type": "string"
},
"url": {
"description": "Public URL of the print file. Give url or id.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"id": {
"description": "Existing line-item id to keep/update.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"name": {
"description": "Display name on the packing slip.",
"type": "string"
},
"options": {
"description": "Product options, e.g. embroidery thread colors.",
"items": {
"properties": {
"id": {
"description": "Option id, e.g. stitch_color or thread_colors.",
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"items": {
"type": "string"
},
"type": "array"
}
],
"description": "Option value."
}
},
"required": [
"id",
"value"
],
"type": "object"
},
"type": "array"
},
"product_template_id": {
"description": "Product Template to generate print files from (variant_id is then required).",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"quantity": {
"description": "Quantity (max 1000 per item).",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"retail_price": {
"description": "Retail price shown on the packing slip, e.g. \"29.99\".",
"type": "string"
},
"sku": {
"description": "Your SKU.",
"type": "string"
},
"sync_variant_id": {
"description": "Sync Variant id from your Printful store.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"variant_id": {
"description": "Catalog variant id (then give files).",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"warehouse_product_variant_id": {
"description": "Warehouse product variant id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"required": [
"quantity"
],
"type": "object"
},
"type": "array"
},
"order_id": {
"description": "Numeric Printful order id, or External ID prefixed with @.",
"type": "string"
},
"packing_slip": {
"properties": {
"custom_order_id": {
"description": "Your own order id to print instead of Printful's.",
"type": "string"
},
"email": {
"description": "Customer-service email.",
"type": "string"
},
"logo_url": {
"description": "Logo / sticker URL (printed monochrome).",
"type": "string"
},
"message": {
"description": "Custom packing-slip message.",
"type": "string"
},
"phone": {
"description": "Customer-service phone.",
"type": "string"
},
"store_name": {
"description": "Store name override for the return address.",
"type": "string"
}
},
"type": "object"
},
"recipient": {
"description": "New ship-to address fields.",
"properties": {
"address1": {
"description": "Address line 1.",
"type": "string"
},
"address2": {
"description": "Address line 2.",
"type": "string"
},
"city": {
"description": "City.",
"type": "string"
},
"company": {
"description": "Company name.",
"type": "string"
},
"country_code": {
"description": "Two-letter ISO country code, e.g. US.",
"type": "string"
},
"email": {
"description": "Email address.",
"type": "string"
},
"name": {
"description": "Full name.",
"type": "string"
},
"phone": {
"description": "Phone number.",
"type": "string"
},
"state_code": {
"description": "State code — required for US, CA and AU.",
"type": "string"
},
"tax_number": {
"description": "Tax number (required for Brazil: CPF/CNPJ).",
"type": "string"
},
"zip": {
"description": "ZIP / postal code.",
"type": "string"
}
},
"type": "object"
},
"retail_costs": {
"properties": {
"currency": {
"description": "3-letter currency code.",
"type": "string"
},
"discount": {
"type": "string"
},
"shipping": {
"type": "string"
},
"subtotal": {
"type": "string"
},
"tax": {
"type": "string"
}
},
"type": "object"
},
"shipping": {
"description": "New shipping method id.",
"type": "string"
},
"store_id": {
"description": "Store id (numeric) for an ACCOUNT-level token; overrides PRINTFUL_STORE_ID. Not needed with a store-level token.",
"type": "string"
}
},
"required": [
"order_id"
],
"type": "object"
},
"name": "printful_update_draft_order"
}
]
}What the leaf hashes
{"body":"ca6deed4d6fc2db558cbb6414e713f9c303ff13b0695d90c9f03616e44dcb6ba","id":301419,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793054068033986,"prev":null,"subject":"eb9f9b06-ae4f-4d4f-ae84-b04801f63276","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0xb13494e0d2844fa4375fb53fabad62365f5dd466028727768c27e0831de80cd2
- 0xe933fa034abb39391bc81b083d7a5d55a3e5525c7f91eaf0c7acff569a4adcd6
- 0x8a1d2ec8446f3b01f569a2f6d23f8df2ee5f69a5d101102856a2ff33bce4d133
- 0x232b866ecd41a3f709db4cc171245ef9749bfcfc0c1af569e2dd5d963216a3fa
- 0x128d0b138822990e6fefe8edf60f09d63d9c14e6295b8ab95223a25ee46c5287
- 0xfd6e3f6537b80c35dc8c72f89f6536c06bfddb0d25a56a7bbd6f198ff43d4c07
- 0x8f946b4652aff5634cc23fe82792d3c9e8af1b0058a569dc16d7a9a224c9fe1e
- 0x561bf932aaf087b43d3bdc62a651c0691a9b518c93d26b2f5e6d0e27b3e89be6
- 0xfe760d927c146e0e56e6689bf773a2073125c3f350f60f5a25a4042ba3b1fd4e
- 0x55838b11251efb24add31c997e02aac1cdf6d78a790f4178057a4c2095a5d448
- 0x68459613b28284909eadec125bcf23808811e99ecfabc229bf7deb2178ab9826
- 0xce1aeb889b974291cea1fbfd01595655bd2c1b3636dc5b56eeb8904adb9f6c65
- 0x3b1c0e225d1b1cb24cd5d5ea4af2de20ed68a1eaf8b61924ed1b81e4b9cf7e39
- 0x083427e39db4dd470662401f6db5db8fadf084fc4274cf8621b368416952b78b
- 0x1a74ed3b3756b9cd946da49701bcec120ec88645013da99fa9eea60b39e1a570
- 0x123ec8bee20ddc55223eeef5a4f4d6c4b6416515adbb911c56759f5cde56e452
- 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae