Skip to main content
Glama
ApparelHub-AI

apparelhub-mcp

Official

bind_tracked_listing

Fulfill existing tracked channel listings by binding them to an ApparelHub product, routing their orders to the product's fulfillment provider while leaving the merchant's listing unchanged.

Instructions

Make a tracked listing (a product the merchant already sells on their channel that ApparelHub did not make) FULFILLABLE by binding it to an ApparelHub product, so ApparelHub sends that listing's orders to the product's fulfillment provider as ordinary orders. Build the product first the normal way (their artwork on one of our blanks, variants added, synced to fulfillment), in the same store. The merchant's channel listing is NOT changed, and while bound the product cannot be synced to that channel (it would duplicate their listing). Tell the merchant both things. Every variant on the listing must map to one of the product's variants: options are auto-matched by name ('Black / Medium' -> Black, M) and variant_map supplies or overrides the rest. This tool PREVIEWS first and only binds when everything maps and the product can be made; otherwise it returns bound: false with unmapped (the channel variants left) and product_variants (the choices). Ask the merchant or choose by option names, then call again with variant_map. TikTok Shop listings carry no option names, so they always need variant_map. Find listing_uuid with list_tracked_listings (scope 'external').

[#654d67]

Input Schema

NameRequiredDescriptionDefault
workspaceNoWorkspace uuid (agency accounts). Omit for the Default workspace.
store_uuidYesThe store uuid.
variant_mapNoChannel variant id -> ApparelHub variant uuid, for options that do not auto-match. A listing with no variants is keyed by its own external_id.
listing_uuidYesThe tracked listing uuid (list_tracked_listings).
product_uuidYesThe ApparelHub product that will fulfil it (same store).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.20.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare readOnly=false, destructive=false, openWorld=true; the description adds the consequences that actually matter: the merchant's channel listing is NOT changed, and while bound the product cannot be synced to that channel because it would duplicate the listing. It also discloses the preview-first contract and the exact shape of a failed call (bound: false with unmapped and product_variants), which no structured field carries.

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 the definition and the fulfillment outcome, then prerequisites, then side-effects, then the preview loop – a sensible order. It is dense but every sentence carries information; the only waste is the trailing tracking token '[#654d67]' and the chat-directed aside 'Tell the merchant both things'.

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?

A cross-system mutation with no output schema, so the description must carry the full burden – and it does: what it changes, what it deliberately does not change, the sync restriction it imposes, the preview/retry loop needed to resolve unmapped variants, and the platform-specific edge case. An agent has everything needed to call it correctly or to decide it needs another turn.

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 already 100%, so the baseline is 3. The description earns above baseline by explaining how variant_map is consumed in practice: options auto-match by name ('Black / Medium' -> Black, M), variant_map supplies or overrides the rest, and a listing with no variants is keyed by its own external_id. The remaining required parameters (store_uuid, listing_uuid, product_uuid) are not elaborated beyond the schema, keeping it off 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 ('bind') and resource ('tracked listing') and defines the concept inline (a product the merchant already sells on their channel that ApparelHub did not make) so an agent cannot confuse it with create_product or sync_to_channel. The purpose is further distinguished from the sibling unbind_tracked_listing by the direction of the operation.

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?

Gives explicit prerequisites (build the product first, same store, variants added, synced to fulfillment) and an explicit discovery path for the required parameter ('Find listing_uuid with list_tracked_listings (scope "external")'). It also names the case where the tool is not enough yet (TikTok listings carry no option names, so they always need variant_map).

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

Deploy Server

Other Tools