Skip to main content
Glama

Printify MCP by usefulapi

Server Details

Read shops, catalog blueprints, print providers, products and orders; create and publish products.

Ownership verified
Status
Healthy
Uptime
84.0% over 73 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

A3.7/5.0

Scored across 17 tools

Disambiguation4/5

Most tools have clearly distinct resource/action targets, and the descriptions explicitly separate catalog reads, shop product/order reads, publishing, copying, and shipping quotes. The main potential confusion is between list_print_providers (all catalog providers) and get_print_providers (providers for a blueprint), plus the related copy_status/resolve_copy workflow tools, but descriptions help distinguish them.

Naming Consistency5/5

All tools consistently use the printify_ prefix followed by snake_case verb_noun or verb_resource names such as list_products, get_order, publish_product, and resolve_copy. The pattern is predictable throughout, with no mixed casing or wildly inconsistent verb styles.

Tool Count4/5

Seventeen tools is slightly above the ideal compact range, but the surface covers several legitimate Printify subdomains: shops, catalog, products, orders, uploads, webhooks, shipping quotes, publishing, and copy jobs. The grouping is reasonable, though some read-only tools could potentially be consolidated.

Completeness2/5

The tool set covers many read operations and some special workflows, but it lacks core Printify lifecycle operations such as creating/updating/deleting products, creating/canceling/fulfilling orders, creating uploads, and creating/deleting webhooks. These are significant gaps for a general Printify management server and will block common agent workflows.

Available Tools

17 tools
printify_calculate_shippingCalculate shippingA
Read-only
Inspect

Get a shipping price quote for a set of line items to a destination address. Non-destructive — it only prices, it does NOT place an order. line_items is an array where each item is one of {product_id, variant_id, quantity}, {print_provider_id, blueprint_id, variant_id, quantity}, or {sku, quantity}. address_to is the destination (first_name, last_name, email, phone, country, region, address1, address2, city, zip, company). Printify REST: POST /v1/shops/{shop_id}/orders/shipping.json.

NameRequiredDescriptionDefault
shop_idYesShop id — required.
address_toYesDestination address object.
line_itemsYesArray of line items to price (see description for accepted shapes).

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so safety is covered; the description adds value beyond that by confirming it only prices and does not mutate state, and by disclosing the underlying REST call. It does not describe return shape, pagination, or failure modes (e.g., unpriced/unshippable items).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and the most consequential caveat, then two dense but efficient parameter sentences. The trailing REST endpoint line is compact and useful for API-aware agents, though the inline brace-list notation reads a bit like spec text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers all three required params and their nested shapes thoroughly despite the permissive schema. With no output schema, the quote's return structure is left undescribed, which is the one gap for a pricing tool whose output is the whole point.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline would be 3, but the raw schema for address_to and line_items is only `additionalProperties: {}` with no field names. The description compensates by enumerating all three accepted line-item shapes and the full address_to field set, which is information the schema genuinely lacks.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get a shipping price quote') with clear scope ('for a set of line items to a destination address'). It explicitly distinguishes itself from order-placement tools via 'it does NOT place an order', which separates it from printify_list_orders/printify_get_order.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clear context: use this to price before ordering, and the 'does NOT place an order' clause tells the agent when not to use it. However, it does not name a sibling alternative for the actual ordering step, leaving the routing half-implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

printify_copy_productsCopy products between shopsA
DestructiveIdempotent
Inspect

Preview or copy selected products or a complete catalog between two Printify shops in the same account. Preserves title, description, blueprint/provider, variant IDs/prices/enabled flags, artwork IDs and print-area transforms. Preserves canvas side printing and image pattern rotation. This initial workflow does not copy tags, SKUs, channel IDs, publication state or generated mockups. Products with text/personalization layers are explicitly refused because their creation fields are read-only. Preview by default. confirm:true starts/resumes a durable bounded job; save job_id and keep calling with that job_id and confirm:true until complete. Duplicate prevention remembers copies made by this connector, including across restarts/jobs; pre-existing copies made elsewhere are not detected. An uncertain create is never automatically retried: inspect the target and use printify_resolve_copy. Do not change the source catalog during an all-products run. Requires shops.read/products.read/products.write. Confirmed copying requires the hosted connector's durable coordinator.

NameRequiredDescriptionDefault
job_idNoA previously returned job_id to resume; supply the same source and target shops.
confirmNoFalse/omitted previews only. True authorizes creation of new draft products.
batch_sizeNoMaximum creates in this call (default 1). Calls are also bounded when skipping prior copies.
product_idsNoSelected source product IDs; mutually exclusive with all_products:true. Omit when resuming job_id.
all_productsNoCopy all source products with resumable pagination. Omit when resuming job_id.
start_new_jobNoWith confirm:true and a selection, restart enumeration after source-catalog changes; never combine with job_id. Permanent copied and uncertain mappings are retained.
source_shop_idYesSource shop ID; the token must have access to both shops in the same Printify account.
target_shop_idYesDifferent target shop ID. New products stay as drafts and are not published.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond idempotentHint/destructiveHint by enumerating exactly what is preserved, what is not copied (tags, SKUs, channel IDs, publication state, mockups), which products are refused and why, the durable bounded-job loop, and the bounded reach of duplicate detection. It also states created items stay drafts and are never auto-retried, which directly informs the destructive/idempotent hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with what it does and what it preserves, then behavior, then job mechanics, then permissions – a sensible ordering for a complex tool. It is dense but nearly every sentence carries a constraint an agent needs; a few clauses could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An 8-parameter, stateful, multi-call workflow tool with no output schema and heavy preconditions – the description supplies job resumption instructions, permission requirements, and the hosted-coordinator prerequisite. Nothing essential to correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline would be 3, but the description adds cross-parameter semantics the schema states only in isolation: job_id must be reused with the same source/target shops, and job_id must never be combined with start_new_job. Minor redundancy with the schema's own confirm/batch_size explanations keeps it from a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Preview or copy selected products or a complete catalog between two Printify shops') plus the scope constraint (same account). An agent can immediately tell this apart from read-only siblings like printify_get_product or printify_list_products.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use rules: preview is the default, confirm:true authorizes creation, start_new_job applies only after source-catalog changes, do-not-change-source during all-products runs, and route uncertain creates to printify_resolve_copy. Withholding conditions are spelled out, not left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

printify_copy_statusCheck product copy progressA
Read-only
Inspect

Read a durable product-copy job's progress, target mappings, failures and uncertain writes. Verifies that the current token can access both shops. Does not create or retry products.

NameRequiredDescriptionDefault
job_idYes
entry_limitNoJob entries per status page (default 20).
entry_cursorNonext_cursor from a previous status page; lists all entries including older failures.
source_shop_idYesSource shop ID; the token must have access to both shops in the same Printify account.
target_shop_idYesDifferent target shop ID. New products stay as drafts and are not published.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=true; the description adds real value on top by disclosing that the call verifies the token can access both shops in the same account, and that 'uncertain writes' can appear in results. It doesn't discuss pagination behavior (covered by schema) or result shape, but the auth verification requirement is a non-obvious trait worth credit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the capability and closed with the exclusion. Every clause carries information; no filler or restatement of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only status tool with no output schema, the description usefully previews the payload (progress, mappings, failures, uncertain writes). The dual-shop access requirement is also surfaced. Pagination is left entirely to the schema, which is acceptable but is the one remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 80%, with descriptions already written for entry_limit, entry_cursor, source_shop_id and target_shop_id, so the schema does the heavy lifting. The description only hints at shop-pair semantics via 'both shops' and says nothing about job_id format or cursor usage beyond what the schema states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (read) and resource (a durable product-copy job) and enumerates exactly what is returned: progress, target mappings, failures and uncertain writes. The closing sentence carves out what it does not do (create or retry products), which separates it from printify_copy_products and printify_resolve_copy.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context for use — checking progress of an existing job — plus an explicit negative boundary ('Does not create or retry products'). It stops short of naming the sibling tools that start or retry a job, so the agent must infer the routing rather than being handed it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

printify_get_blueprintGet blueprintA
Read-only
Inspect

Get a single catalog blueprint's details. Printify REST: GET /v1/catalog/blueprints/{blueprint_id}.json.

NameRequiredDescriptionDefault
blueprint_idYesBlueprint id — required.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already establishes this is a safe read. The description adds the underlying REST mapping (GET /v1/catalog/blueprints/{blueprint_id}.json), which corroborates the read semantics and identifies the resource path, but says nothing about the shape of the returned blueprint or failure behavior on an unknown id.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the purpose and followed by the REST endpoint. Every word earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool with full schema coverage and an annotation covering the safety profile, the description is sufficient to invoke it correctly. It could go slightly further by hinting at what a blueprint contains or how it relates to sibling variant/provider tools, but nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single parameter is documented in the schema, so the baseline is 3. The description only echoes the id via the URL template '{blueprint_id}' and adds no format, valid-range, or example guidance beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Get a single catalog blueprint's details.' The word 'single' implicitly separates it from the sibling printify_list_catalog_blueprints, but the sibling is never named, so the differentiation is inferable rather than explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied — fetch one blueprint by id rather than listing. There is no explicit when-to-use, no stated follow-on (e.g. pair with get_variants/get_print_providers), and no alternative named. Adequate but with a clear gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

printify_get_orderGet orderA
Read-only
Inspect

Get a single order's full details, including shipments (carrier + tracking numbers). Printify REST: GET /v1/shops/{shop_id}/orders/{order_id}.json.

NameRequiredDescriptionDefault
shop_idYesShop id — required.
order_idYesOrder id — required.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so safety is covered. The description adds value beyond that by naming a concrete part of the returned payload ('shipments' with carrier and tracking numbers) and by citing the underlying REST path, which signals this is the canonical single-order fetch.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences, front-loaded with the outcome and followed by the API mapping. Nothing is padded and each sentence carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With only two fully documented parameters and no output schema, the definition is nearly self-sufficient; it even hints at the shipment fields returned. It stops short of describing the full response shape, which matters given there is no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with both parameters (shop_id, order_id) documented and marked required. The description adds no format or constraint detail beyond the schema, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (Get) and resource (a single order's full details), and 'single' implicitly contrasts with the sibling printify_list_orders. It does not explicitly name that sibling, so the differentiation is inferred rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the tool is called when a specific order_id plus shop_id are in hand. There is no explicit when-to-use statement and no routing guidance relative to printify_list_orders for the case where the order id is unknown.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

printify_get_print_providersGet blueprint print providersA
Read-only
Inspect

List the print providers that can produce a given blueprint. Printify REST: GET /v1/catalog/blueprints/{blueprint_id}/print_providers.json.

NameRequiredDescriptionDefault
blueprint_idYesBlueprint id — required.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already tells the agent this is a safe read, so the description's burden is lower. It adds the underlying REST endpoint for traceability but discloses nothing further about pagination, result shape, or rate limits, which is acceptable but not generous.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, front-loaded with the purpose. The trailing REST path is largely redundant with the name and title, but it costs little and may aid endpoint mapping.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-required-param, read-only list tool with a fully documented schema and a covering readOnlyHint, the description supplies everything needed to invoke it correctly. Only the sibling disambiguation is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single parameter is documented in-schema as required. The description only restates that the blueprint is the input ('given blueprint'), adding no format, ID-source, or validation semantics beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List the print providers') and scopes it to 'a given blueprint', which distinguishes it from the global printify_list_print_providers sibling. It stops short of explicitly naming that sibling or contrasting the two, so the differentiation is implicit rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The blueprint scoping implies when to use this versus the global provider list, but there is no explicit when/when-not guidance or named alternative. An agent must infer the choice from the wording alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

printify_get_productGet productA
Read-only
Inspect

Get a single product's full details (variants, images, print areas, publish status). Printify REST: GET /v1/shops/{shop_id}/products/{product_id}.json.

NameRequiredDescriptionDefault
shop_idYesShop id — required.
product_idYesProduct id — required.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds real value beyond that by disclosing the shape of the returned detail (variants, images, print areas, publish status), which matters since there is no output schema. It omits auth requirements and error behavior, keeping it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the payload description and followed by the REST mapping. No filler, no restated title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully compensates by naming the returned fields, and both required params are covered in the schema. Missing only peripheral detail such as permission requirements or failure modes, which is acceptable for a simple read-by-id tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both required parameters (shop_id, product_id) are documented in the schema, so the baseline is 3. The description adds nothing about parameter format or constraints beyond echoing the ids in the REST path.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Get a single product's full details') and enumerates the payload contents (variants, images, print areas, publish status). The word 'single' cleanly distinguishes it from the sibling printify_list_products without the agent needing to open either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the phrase 'single product' — the agent can infer this is the per-item lookup versus the list tool, but no alternative is named and no when-not condition is given. Adequate but not explicit routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

printify_get_variantsGet variantsA
Read-only
Inspect

List the variants (sizes, colors) a print provider offers for a blueprint. Printify REST: GET /v1/catalog/blueprints/{blueprint_id}/print_providers/{print_provider_id}/variants.json.

NameRequiredDescriptionDefault
blueprint_idYesBlueprint id — required.
print_provider_idYesPrint provider id — required.
show_out_of_stockNoInclude out-of-stock variants (sent as show-out-of-stock=1).

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already tells the agent this is a safe read, so the description only needs supplementary context. It adds the underlying REST path, which helps an agent understand the exact lookup, but says nothing about result size, pagination, or whether the variant list is exhaustive. Adequate but thin on behavior beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the purpose front-loaded and no filler. The embedded REST path is slightly redundant for an agent but earns its place by pinning down the exact resource hierarchy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, but the description indicates the return content (sizes and colors), and the readOnly annotation covers the safety profile. For a three-parameter read tool this is close to complete, with only pagination/volume behavior left unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and every parameter, including show_out_of_stock and its wire format, is documented in the schema. The description only echoes blueprint_id and print_provider_id as URL path segments and adds no semantics beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('List the variants... a print provider offers for a blueprint') and clarifies what a variant is (sizes, colors). It is distinct from siblings like printify_get_print_providers by naming the blueprint+provider combination, though it never names the alternatives explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the required inputs: fetch variants once a blueprint and print provider are known. There is no explicit when-to-use guidance, no statement of when not to use it, and no mention of related tools such as printify_get_blueprint or printify_calculate_shipping.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

printify_list_catalog_blueprintsList catalog blueprintsA
Read-only
Inspect

List all blueprints (product types, e.g. 'Unisex T-Shirt') available in the Printify catalog. Printify REST: GET /v1/catalog/blueprints.json.

NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already tells the agent this is a safe read. The description adds the underlying REST call (GET /v1/catalog/blueprints.json), which is useful but marginal; it says nothing about pagination, result size, caching, or whether catalog data is public/shared across shops.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, zero filler. The purpose and the clarifying example come first, the endpoint reference second, so an agent gets the essential meaning immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless listing tool with no output schema, the definition is nearly complete, but since no output schema exists it could have sketched what a blueprint entry contains (id, title, description, brand, images) so the agent knows what it can rely on downstream.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to clarify beyond what the empty input schema shows; the baseline for a 0-param tool applies. No added meaning is possible or needed here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('List all blueprints') and disambiguates the domain jargon with a concrete example ('product types, e.g. Unisex T-Shirt'), which is the key ambiguity for this API. The word 'all' and the catalog scope also separate it from the single-item sibling printify_get_blueprint and from user-owned printify_list_products.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer this is the entry point for browsing the Printify catalog, but the description names no alternatives and gives no when/when-not guidance (e.g. versus printify_get_blueprint for a single entry, or printify_list_products for already-created products).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

printify_list_ordersList ordersB
Read-only
Inspect

List orders in a shop (paginated), optionally filtered by status or SKU. Printify REST: GET /v1/shops/{shop_id}/orders.json.

NameRequiredDescriptionDefault
skuNoFilter to orders containing this SKU.
pageNo1-based page number.
limitNoItems per page (default 10, max 10).
statusNoFilter by fulfillment status, e.g. 'fulfilled'.
shop_idYesShop id — required.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already establishes this is a safe read, so the bar is lower. The description adds the underlying REST endpoint and flags pagination, but says nothing about rate limits, default page size behavior, or result ordering/aggregation semantics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with the core purpose front-loaded and no filler. The REST endpoint line is marginally redundant but concise and useful for API cross-reference.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the burden of describing what comes back, yet it only says 'paginated' and gives no indication of the record shape or pagination envelope. Adequate for invocation, but the return contract is unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (shop_id, sku, page, limit, status) is already documented in the schema. The description restates the two filter params but adds no syntax, format, or default-behavior detail beyond them — baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (orders) plus scope (in a shop) and supported filters (status, SKU). The list-vs-get distinction against sibling printify_get_order is implied by the verb but never made explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'optionally filtered by status or SKU' hints at when the filters apply, but there is no explicit when-to-use guidance, no mention of when to prefer printify_get_order, and no stated prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

printify_list_print_providersList print providersA
Read-only
Inspect

List all print providers in the Printify catalog. Printify REST: GET /v1/catalog/print_providers.json.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already declares this as a safe read, so the bar is lowered. The description adds the underlying REST endpoint (GET /v1/catalog/print_providers.json), which is useful integration context, but says nothing about result size, pagination, or caching/catalog-refresh behavior for a catalog listing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, purpose front-loaded, no filler. The REST endpoint reference is marginal but compact and legitimately useful for developers, so it does not seriously bloat the definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless, read-only catalog listing with no output schema, the description covers what is needed to invoke the tool correctly. The only missing piece is disambiguation from the get_print_providers sibling and any note on response shape, which is acceptable given annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool applies. The description correctly signals no filtering arguments exist by saying 'all' providers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource: 'List all print providers in the Printify catalog' tells an agent exactly what it retrieves and that it is unfiltered. However, it offers no differentiation from the near-identically named sibling printify_get_print_providers, so an agent cannot pick between them without opening both schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The word 'all' implies this is the bulk/catalog-wide call with no filtering, which is implied usage guidance. There is no explicit statement of when to use this versus printify_get_print_providers or printify_get_blueprint, which is the main ambiguity an agent faces here.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

printify_list_productsList productsA
Read-only
Inspect

List products in a shop (paginated). Printify REST: GET /v1/shops/{shop_id}/products.json.

NameRequiredDescriptionDefault
pageNo1-based page number.
limitNoItems per page (default 10, max 50).
shop_idYesShop id (from printify_list_shops) — required.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds that results are paginated and cites the underlying REST endpoint, but omits return shape, total-count behavior, rate limits, or auth requirements, leaving it slightly above the annotation-only baseline.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences, front-loaded with the operation and scope, followed by the REST mapping. Nothing is wasted and no redundancy with the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple paginated list tool with no output schema, the description covers operation, scope, and pagination, which is close to sufficient. It would be fully complete with a note on what the response contains (e.g. product summaries) or pagination termination behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with page/limit/shop_id fully documented in the schema itself, so the baseline is 3. The description's '(paginated)' only loosely gestures at the page/limit parameters without adding format or default details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List') and resource ('products') with its scope ('in a shop'), which cleanly separates it from the singular printify_get_product sibling. It does not name an alternative tool, but the verb+resource combination is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated - an agent infers it should call this when enumerating products. The description does add a useful prerequisite hint by pointing to the source of shop_id (printify_list_shops), but there is no explicit when-to-use vs when-not guidance or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

printify_list_shopsList shopsA
Read-only
Inspect

List all shops connected to the Printify account. This is the entry point — each shop's id is required by the product, order and webhook tools. Printify REST: GET /v1/shops.json.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already establishes the safe-read profile, and the description adds genuinely useful context beyond that: this is the discovery/entry-point call whose returned ids are a prerequisite for product, order and webhook tools. It does not mention pagination or result shape, which is the main remaining gap for a list operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero filler: the first states what it returns, the second front-loads the critical dependency ('entry point' + required `id`) followed by the concrete API mapping. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless list tool with no output schema, the description covers what is returned (shops and their ids) and how the result is used downstream, which is enough to call it correctly. Only the absence of any pagination/size hint keeps it from being fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to clarify and the schema is trivially complete (100% coverage). Baseline 4 applies for a no-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb+resource ('List all shops connected to the Printify account') with the added scope that these are account-connected shops, and the underlying REST endpoint GET /v1/shops.json pins down semantics exactly. No sibling lists shops, so it is unambiguously distinguishable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly frames itself as the entry point and states that each shop `id` is required by the product, order and webhook tools, which tells the agent when to call it and why. It stops short of naming any conditional exclusions or alternative paths, but there is no competing sibling for this data.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

printify_list_uploadsList uploadsA
Read-only
Inspect

List images uploaded to the account's media library (paginated). Printify REST: GET /v1/uploads.json.

NameRequiredDescriptionDefault
pageNo1-based page number.
limitNoItems per page (default 10, max 100).

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already tells the agent this is a safe, non-mutating read, so the description's main addition is the '(paginated)' note and the underlying REST endpoint. It does not disclose ordering, total-count behavior, or what an upload record contains, but with annotations covering the safety profile a 3 is fitting.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight fragments with zero filler; the purpose is front-loaded and the pagination/endpoint detail follows. Nothing could be removed without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, parameter-light, read-only list tool with full schema coverage, the definition is nearly sufficient. The only gap is that no output schema exists and the description says nothing about the shape of returned upload records, though for a media-library enumeration this is a minor omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters (page, limit) document their defaults and bounds inline, so the schema carries the load. The description's '(paginated)' hint adds only confirmatory framing beyond what the schema already says.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List images uploaded') plus the scope ('account's media library'), which cleanly separates it from the other printify_list_* siblings (products, orders, shops, webhooks). The added REST endpoint reference removes any ambiguity about what is being fetched.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the resource ('uploaded images'), so an agent can infer this is the tool for enumerating media assets. However, there is no explicit when-to-use/when-not guidance, no mention of alternatives, and no prerequisites (e.g., whether an account/shop context is needed).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

printify_list_webhooksList webhooksA
Read-only
Inspect

List the webhooks configured for a shop. Printify REST: GET /v1/shops/{shop_id}/webhooks.json.

NameRequiredDescriptionDefault
shop_idYesShop id — required.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already tells the agent this is a safe read, so the description doesn't need to re-assert it. It adds the REST endpoint mapping, which is useful for agents that reason about the API surface, but says nothing about pagination, result ordering, or what an empty result means.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences: the purpose comes first, the endpoint reference second. Nothing is repeated and nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only list tool with annotations covering the safety profile and no output schema, this is close to sufficient. The only real gap is return-shape/pagination behavior, which the missing output schema leaves unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with a single required shop_id already documented in the schema, so the description adds no parameter meaning beyond it. Baseline 3 for a fully documented schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (webhooks) scoped to a shop, and pins the underlying REST endpoint GET /v1/shops/{shop_id}/webhooks.json. It is unambiguous, though it does nothing to differentiate itself from the surrounding product/order/shop list tools since none of them touch webhooks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The scope phrase 'configured for a shop' implies you need a shop context, but there is no explicit when-to-use, no prerequisite or permission note, and no named alternative. Usage is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

printify_publish_productPublish productA
Destructive
Inspect

Publish a product to the shop's connected sales channel (e.g. Shopify, Etsy). STATE-CHANGING: this locks the product and pushes the selected fields to the external store. The body is an object of booleans controlling which fields are published; all default to true. Printify REST: POST /v1/shops/{shop_id}/products/{product_id}/publish.json.

NameRequiredDescriptionDefault
tagsNoPublish the tags (default true).
titleNoPublish the title (default true).
imagesNoPublish the images (default true).
shop_idYesShop id — required.
variantsNoPublish the variants (default true).
product_idYesProduct id — required.
descriptionNoPublish the description (default true).
keyFeaturesNoPublish the key features (default true).
shipping_templateNoPublish the shipping template (default true).

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only supply destructiveHint=true; the description goes further by disclosing that the product gets locked and that selected fields are pushed to the external store, which is meaningful consequence detail. It stops short of permissions/scopes, reversibility, or what happens on partial failure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, with the state-changing warning front and center before the parameter explanation. The trailing REST endpoint note is slightly extraneous for an agent but does not bloat the text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, no-output-schema tool with nine well-documented parameters, the description covers purpose, side effects, and parameter shape adequately. An agent could call it correctly; only permissions and failure/rollback behavior remain unstated, which is acceptable given the annotation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter including the boolean field selectors is already documented per-property. The description adds only a synthesized summary ('body is an object of booleans... all default to true'), which is a mild convenience but not new semantics; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Publish) and resource (a product) with explicit scope: pushing to the shop's connected external sales channel like Shopify or Etsy. This is clearly distinguishable from the get_/list_ siblings, which retrieve rather than push.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes the intent obvious (publish an existing product to a sales channel) but never states when to use it versus alternatives, nor any preconditions such as the product needing to exist or a channel being connected. Usage is implied rather than guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

printify_resolve_copyResolve an uncertain product copyA
DestructiveIdempotent
Inspect

Resolve one failed or uncertain source product in a durable copy job. Provide an existing target_product_id to verify the exact supported fields against the checkpoint and record it as copied. Or set verified_not_created:true only after checking the target shop manually; this allows one future retry through printify_copy_products. Requires confirm:true, never creates/publishes/deletes anything itself. An ambiguous write must never be blindly retried.

NameRequiredDescriptionDefault
job_idYes
confirmYes
source_shop_idYesSource shop ID; the token must have access to both shops in the same Printify account.
target_shop_idYesDifferent target shop ID. New products stay as drafts and are not published.
source_product_idYes
target_product_idNo
verified_not_createdNo

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds meaningful safety context beyond the annotations: confirmation is required, the tool does not itself create/publish/delete products, and verified_not_created permits only one future retry. However, it does not clearly explain the destructive effect implied by destructiveHint:true, such as irreversibly recording the item as copied in the checkpoint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: it opens with the core action, then gives the two resolution paths, confirmation requirement, and final safety warning. No sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a seven-parameter mutation tool with no output schema, the description covers the essential workflow, safety constraints, and sibling retry path. It still leaves some gaps around exact state effects and identifier semantics, but an agent can call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is low at 29%, so the description needs to compensate. It explains target_product_id, verified_not_created, and confirm well, but leaves job_id and source_product_id meaningful only by name, and only partially covers the shop identifiers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: resolving one failed or uncertain source product in a durable copy job. It also distinguishes the operation from printify_copy_products by naming that sibling as the retry path.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit alternatives and conditions: use target_product_id to verify and record an existing copy, or use verified_not_created:true only after manually checking the target shop. It also states confirm:true is required and warns against blindly retrying ambiguous writes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables chat-driven management of a print-on-demand store: listing shops, creating, updating and publishing products, browsing blueprints and print providers, uploading designs, checking orders, plus a raw REST passthrough for advanced calls.
    -
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to browse the Printful catalog, retrieve variants and shipping rates, estimate costs, upload print files, generate mockups, and manage sync products through the official Printful REST API. Orders are always saved as drafts and only submitted for fulfillment or payment after an explicit confirmation step.
    16
    18 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.