Skip to main content
Glama

ComplianceCN — toys, batteries, cosmetics, food contact: CE, GPSR, UN 38.3, CPC/GCC and more

Server Details

Source-cited EU/UK/US/AU market-access checks for Amazon and cross-border product compliance.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.9% over 42 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4/5.0

Scored across 11 tools

Disambiguation4/5

The check_* tools are each tied to a distinct triggering scenario (Amazon request, battery transport, EU DoC, labels, US import), and compare/preflight/explain/watch have clear separate jobs. The only mild ambiguity is between market_access_check and preflight_product, but their plain-language vs structured-input split is sufficient.

Naming Consistency3/5

Most tools follow a readable check_<domain> or verb_noun pattern, but market_access_check breaks the verb-first convention and the mix of check_, compare_, describe_, explain_, preflight_, and watch_ creates two naming styles. Predictable within families, but not uniform across the set.

Tool Count5/5

11 tools is well-scoped for a multi-market compliance advisory server. Each check addresses a concrete regulatory scenario, and the supporting utilities (compare, explain, watch, describe) earn their place without bloat.

Completeness4/5

The toolset covers the advisory lifecycle well: market-level assessment, targeted compliance checks, cross-market comparison, evidence-gap explanation, and regulatory change alerts. Actual issuance of certificates or document inspection is intentionally out of scope, so there are only minor workarounds rather than critical dead ends.

Available Tools

11 tools
check_amazon_compliance_requestAmazon or another marketplace asked for compliance filesA
Read-onlyIdempotent
Inspect

Use when Amazon or another marketplace requests compliance files or suspends a listing pending documents. Returns the product/market evidence checklist, evidence held and gaps immediately; no case or follow-up required.

ParametersJSON Schema
NameRequiredDescriptionDefault
case_idNoThe case this call continues, from an earlier result. Omit to start a new product case.
marketsNoOptional destination-market hints. Omit when product_description names the destination.
categoryNoOptional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.
languageNoLanguage for seller-facing text. Questions and messages come back in it; en or zh.zh
age_groupNoIntended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.
has_radioNoWhether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US.
has_batteryNoWhether the product contains or ships with any battery, including a coin cell in a remote.
battery_typeNoCell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.
product_nameNoHuman-readable product or SKU name
evidence_heldNoEvidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document.
sales_channelNoWhere the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.
verified_onlyNoExclude decision rules not checked against primary sources
eu_destinationNoDestination member state, where it changes the answer. Language and producer-registration duties differ across the EU.
supply_chain_roleNoThe seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.
applicable_modulesNoOptional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.
product_descriptionNoPreferred first input: describe the product, destination market, sales channel and any known supplier documents in plain language. The tool extracts a preliminary profile and fills the internal checklist. Required when category/markets are not already supplied.
sells_in_californiaNoWhether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements.
is_childrens_productNoWhether the product is marketed as a children's product; keep unknown when not established.
accessible_small_partsNoWhether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use.
includes_mains_chargerNoWhether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope.
evidence_inventory_completeNoTrue only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
payloadYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish this is read-only, idempotent, non-destructive, and closed-world. The description adds meaningful behavioral context beyond that: results are returned immediately, the call is stateless ('no case or follow-up required'), and the output includes held evidence plus gaps. This is useful for an agent deciding whether the call will block or require persistence.

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 with no wasted words. The trigger condition is front-loaded, and the output behavior and statelessness follow immediately. 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 tool with 21 optional parameters, an output schema, and strong annotations, this description is complete enough for selection and invocation. It communicates the key trigger and the immediate, no-follow-up nature; the rich schema handles parameter-level detail. It could have noted the preferred 'product_description' input path, but that omission is not critical given the schema coverage.

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 the schema already documents all 21 parameters thoroughly, including enums, defaults, and field-level explanations. The description itself adds no parameter semantics, but the baseline of 3 applies because the schema carries the full burden and does so effectively.

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 names a specific trigger (marketplace compliance request or suspension) and a concrete output (product/market evidence checklist, evidence held, gaps). It distinguishes itself from sibling tools through the marketplace-request scenario and the promise of immediate results, though it does not explicitly name an alternative tool.

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?

The description opens with an explicit 'Use when...' condition covering two clear cases: marketplace requests compliance files or suspends a listing pending documents. It does not specify when-not-to-use or name sibling alternatives, but the scenario is specific enough to guide selection.

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

check_battery_transport_documentsForwarder will not take the battery productA
Read-onlyIdempotent
Inspect

Use when a forwarder or carrier queries or refuses a battery shipment. Returns applicable UN 38.3 test-summary requirements, shipping marks and transport evidence gaps for the cell/pack. Answers immediately from declared facts; does not inspect documents.

ParametersJSON Schema
NameRequiredDescriptionDefault
case_idNoThe case this call continues, from an earlier result. Omit to start a new product case.
marketsNoOptional destination-market hints. Omit when product_description names the destination.
categoryNoOptional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.
languageNoLanguage for seller-facing text. Questions and messages come back in it; en or zh.zh
has_batteryNoWhether the product contains or ships with any battery, including a coin cell in a remote.
battery_typeNoCell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.
product_nameNoHuman-readable product or SKU name
evidence_heldNoEvidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document.
sales_channelNoWhere the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.
verified_onlyNoExclude decision rules not checked against primary sources
supply_chain_roleNoThe seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.
applicable_modulesNoOptional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.
product_descriptionNoPreferred first input: describe the product, destination market, sales channel and any known supplier documents in plain language. The tool extracts a preliminary profile and fills the internal checklist. Required when category/markets are not already supplied.
includes_mains_chargerNoWhether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope.
evidence_inventory_completeNoTrue only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing.
battery_compartment_securityNoHow the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
payloadYes

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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: it 'answers immediately from declared facts' (no external lookups) and 'does not inspect documents' (no document parsing/verification). This goes beyond the annotations and helps set expectations about the tool's limits.

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?

Three sentences, each earning its place: trigger condition, output scope, and behavioral boundary. The most important information (when to use) is front-loaded, and the 'does not inspect documents' caveat is placed at the end where it serves as a clarifying boundary rather than a distraction.

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?

The tool has 16 parameters, an output schema, and rich annotations. The description covers the trigger scenario, the output scope, and the key limitation (no document inspection). It doesn't mention that it returns evidence gaps, but the output schema would carry that. The only minor gap is not explaining how the tool relates to the broader evidence_checklist flow, but the schema's evidence_held parameter description partially covers that.

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 the schema already documents all 16 parameters. The description doesn't add parameter-level detail beyond what the schema provides, but it does clarify the overall input philosophy: product_description is the 'preferred first input' and the tool 'extracts a preliminary profile.' This is useful context but not parameter-specific semantics, so a baseline 3 is appropriate.

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 opens with a specific trigger scenario ('forwarder or carrier queries or refuses a battery shipment') and names the exact resource (UN 38.3 test-summary requirements, shipping marks, transport evidence gaps). It clearly distinguishes this tool from siblings like check_amazon_compliance_request or check_us_import_certification by focusing on transport/forwarder refusal.

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?

The first sentence explicitly states when to use it: when a forwarder or carrier queries or refuses a battery shipment. It also states what it does not do ('does not inspect documents'), which helps an agent avoid using it for document verification. The sibling list reinforces the differentiation, and the description's explicit trigger condition is sufficient.

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

check_eu_declaration_basisEU declaration basisA
Read-onlyIdempotent
Inspect

Use when a buyer, customs or distributor requests an EU Declaration of Conformity. Returns applicable legislation, standards, evidence gaps and fields needing confirmation immediately. Does not issue or sign a declaration.

ParametersJSON Schema
NameRequiredDescriptionDefault
case_idNoThe case this call continues, from an earlier result. Omit to start a new product case.
marketsNoOptional destination-market hints. Omit when product_description names the destination.
categoryNoOptional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.
languageNoLanguage for seller-facing text. Questions and messages come back in it; en or zh.zh
age_groupNoIntended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.
has_radioNoWhether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US.
has_batteryNoWhether the product contains or ships with any battery, including a coin cell in a remote.
battery_typeNoCell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.
product_nameNoHuman-readable product or SKU name
evidence_heldNoEvidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document.
sales_channelNoWhere the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.
verified_onlyNoExclude decision rules not checked against primary sources
eu_destinationNoDestination member state, where it changes the answer. Language and producer-registration duties differ across the EU.
supply_chain_roleNoThe seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.
applicable_modulesNoOptional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.
product_descriptionNoPreferred first input: describe the product, destination market, sales channel and any known supplier documents in plain language. The tool extracts a preliminary profile and fills the internal checklist. Required when category/markets are not already supplied.
is_childrens_productNoWhether the product is marketed as a children's product; keep unknown when not established.
food_contact_materialNoThe material that touches food. Migration limits and test methods differ by material.
includes_mains_chargerNoWhether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope.
is_electrically_operatedNoWhether the toy is electrically operated, including mains-powered or battery-powered operation.
evidence_inventory_completeNoTrue only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
payloadYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover read-only and non-destructive semantics. The description adds useful behavioral detail: it returns results immediately, reports gaps and confirmation fields, and explicitly does not issue or sign the declaration. There is no contradiction with the annotations.

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 with no filler: trigger first, output second, boundary last. Every sentence carries selection-relevant 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?

Given the rich input schema, output schema, and annotations, the description is nearly complete for correct selection and invocation. The only gap is that it does not explicitly point the agent to sibling tools when the request is not about an EU DoC, leaving some routing to inference.

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 the structured schema already documents all 21 parameters. The description does not add parameter-level detail, but also does not need to; it stays at the level of overall purpose and outputs.

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 starts with a specific trigger ('buyer, customs or distributor requests an EU Declaration of Conformity') and names its exact outputs ('applicable legislation, standards, evidence gaps and fields needing confirmation'). The closing line 'Does not issue or sign a declaration' clearly separates it from a document-generating tool. This distinguishes it from sibling tools like check_us_import_certification or check_bat_ery_transport_documents by its EU DoC focus.

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?

'Use when...' is an explicit condition for selecting this tool over siblings. The 'Does not issue or sign' line adds a when-not boundary, but the description does not name specific alternative tools or state when to prefer them.

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

check_label_and_packagingLabel and packaging reviewA
Read-onlyIdempotent
Inspect

Use when checking labels, artwork or packaging. Returns destination-market marks, warning language, responsible-entity details and evidence gaps from declared product facts. Answers immediately; does not inspect artwork.

ParametersJSON Schema
NameRequiredDescriptionDefault
case_idNoThe case this call continues, from an earlier result. Omit to start a new product case.
marketsNoOptional destination-market hints. Omit when product_description names the destination.
categoryNoOptional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.
languageNoLanguage for seller-facing text. Questions and messages come back in it; en or zh.zh
age_groupNoIntended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.
has_radioNoWhether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US.
has_batteryNoWhether the product contains or ships with any battery, including a coin cell in a remote.
battery_typeNoCell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.
product_nameNoHuman-readable product or SKU name
evidence_heldNoEvidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document.
sales_channelNoWhere the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.
verified_onlyNoExclude decision rules not checked against primary sources
eu_destinationNoDestination member state, where it changes the answer. Language and producer-registration duties differ across the EU.
supply_chain_roleNoThe seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.
applicable_modulesNoOptional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.
product_descriptionNoPreferred first input: describe the product, destination market, sales channel and any known supplier documents in plain language. The tool extracts a preliminary profile and fills the internal checklist. Required when category/markets are not already supplied.
sells_in_californiaNoWhether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements.
is_childrens_productNoWhether the product is marketed as a children's product; keep unknown when not established.
food_contact_materialNoThe material that touches food. Migration limits and test methods differ by material.
accessible_small_partsNoWhether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use.
evidence_inventory_completeNoTrue only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing.
battery_compartment_securityNoHow the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
payloadYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds behavioral context beyond those annotations: it works from declared product facts rather than inspecting artwork, and it answers immediately. No contradiction with annotations.

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?

Three sentences, front-loaded with the use case, and every sentence earns its place: what it checks, what it returns, and a key behavioral caveat. There is no filler or redundant restating 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?

Given a rich output schema, detailed input schema, and read-only annotations, the description is mostly complete for selecting and invoking the tool. It could add orientation about the preferred first input such as product_description, but the schema already documents that, so the gap is minor.

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?

The input schema has 100% description coverage across all 22 parameters, so the schema carries the parameter-meaning burden. The description only implies that inputs come from 'declared product facts' and contributes nothing specific about individual parameters, which is acceptable but not additive.

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: 'Use when checking labels, artwork or packaging' and names concrete outputs such as destination-market marks and warning language. It is clear and distinct from the sibling check_* tools, though it does not explicitly name or contrast a sibling, so it stops short of 5.

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?

It opens with an explicit use condition ('Use when checking labels, artwork or packaging') and adds a useful limitation ('does not inspect artwork'). It does not name alternatives or provide a direct when-not-to-use comparison, but the context is clear enough for an agent to decide when it applies.

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

check_us_import_certificationUS certification and entry filingA
Read-onlyIdempotent
Inspect

Use when a US importer or broker requests CPC/GCC certification, FCC SDoC or entry-filing data. Returns applicable certificate requirements, supporting evidence and responsible-party details immediately; does not issue certificates.

ParametersJSON Schema
NameRequiredDescriptionDefault
case_idNoThe case this call continues, from an earlier result. Omit to start a new product case.
marketsNoOptional destination-market hints. Omit when product_description names the destination.
categoryNoOptional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.
languageNoLanguage for seller-facing text. Questions and messages come back in it; en or zh.zh
age_groupNoIntended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.
has_radioNoWhether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US.
has_batteryNoWhether the product contains or ships with any battery, including a coin cell in a remote.
battery_typeNoCell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.
product_nameNoHuman-readable product or SKU name
evidence_heldNoEvidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document.
sales_channelNoWhere the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.
verified_onlyNoExclude decision rules not checked against primary sources
supply_chain_roleNoThe seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.
applicable_modulesNoOptional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.
product_descriptionNoPreferred first input: describe the product, destination market, sales channel and any known supplier documents in plain language. The tool extracts a preliminary profile and fills the internal checklist. Required when category/markets are not already supplied.
sells_in_californiaNoWhether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements.
is_childrens_productNoWhether the product is marketed as a children's product; keep unknown when not established.
accessible_small_partsNoWhether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use.
evidence_inventory_completeNoTrue only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing.
toy_chemical_assessment_completeNoWhether a chemical safety assessment covering migration limits has already been completed for this toy.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
payloadYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds useful context beyond that: results are returned immediately, the tool reports requirements and evidence rather than issuing certificates, and it does not create or modify anything. No contradiction exists.

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 two tight sentences with no filler. The use condition is front-loaded, followed by the return value and a clear limitation, giving maximum signal per word.

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 complex 20-parameter tool with a rich schema and an output schema, the description captures the essential entry point, result type, and non-issuance boundary. It could go slightly further, such as noting that evidence is reported as held but not verified, though this is already covered in the parameter 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%, so the structured schema already documents all 20 parameters thoroughly. The description itself does not add parameter-level meaning, which is acceptable at the baseline when the schema carries the full load.

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?

Description states a specific trigger and resource: US importer or broker requests CPC/GCC certification, FCC SDoC, or entry-filing data. It also names the key outputs (certificate requirements, supporting evidence, responsible-party details) and explicitly distinguishes the tool from certificate issuance.

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?

The description clearly opens with 'Use when' and gives the exact circumstances for invoking the tool. It also states what the tool does not do. However, it does not name sibling alternatives or conditions for preferring them, so the when-not guidance is only partial.

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

compare_market_requirementsCompare marketsA
Read-onlyIdempotent
Inspect

Compare requirements for a product across 2-4 of EU, UK, US and Australia. Answers immediately: no case, no account, no follow-up. Send category, markets and known facts. Missing facts produce optional refinements; do not ask or rerun automatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
case_idNoThe case this call continues, from an earlier result. Omit to start a new product case.
marketsYes
categoryYesProduct category
languageNoResponse language. Defaults to Chinese.zh
age_groupNoIntended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.
food_typeNoThe food the product will contact. Simulant selection for migration testing depends on it.
has_radioNoWhether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US.
has_batteryNoWhether the product contains or ships with any battery, including a coin cell in a remote.
battery_typeNoCell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.
is_sunscreenNoWhether the product is sold as sun protection. Sunscreens carry separate testing and labelling duties.
repeated_useNoWhether the article is single-use or reused. Repeated use requires migration testing across successive cycles.
verified_onlyNoExclude rules not yet checked against primary sources. Default false: unverified material is included but labelled via review_status and the trust envelope.
eu_destinationNoDestination member state, where it changes the answer. Language and producer-registration duties differ across the EU.
contact_durationNoHow long the product touches food in normal use. Long-term contact triggers stricter migration testing.
supply_chain_roleNoThe seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.
claims_therapeuticNoWhether the product claims to treat, prevent or cure anything. A therapeutic claim moves a cosmetic into a different regime.
contact_temperatureNoThe temperature at contact. Hot fill and cooking raise migration limits and change the test.
ingredients_reviewedNoWhether the full ingredient list has already been checked against restricted-substance annexes.
is_childrens_productNoWhether the product is marketed as a children's product; keep unknown when not established.
food_contact_materialNoThe material that touches food. Migration limits and test methods differ by material.
accessible_small_partsNoWhether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use.
includes_mains_chargerNoWhether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope.
is_electrically_operatedNoWhether the toy is electrically operated, including mains-powered or battery-powered operation.
battery_compartment_securityNoHow the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard.
toy_chemical_assessment_completeNoWhether a chemical safety assessment covering migration limits has already been completed for this toy.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
payloadYes

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, idempotentHint=true, and destructiveHint=false so the safety profile is known. The description adds significant interaction context beyond the annotations: 'Answers immediately: no case, no account, no follow-up' and 'Missing facts produce optional refinements; do not ask or rerun automatically.' This explains the tool's autonomy and output behavior without contradicting any annotation.

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 three short sentences with no filler. Each sentence earns its place: the first states the core action, the second sets interaction expectations, and the third gives invocation guidance and the missing-facts behavior. The critical behavioral note is placed immediately after the action, making it easy to parse.

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 tool with 25 parameters and an output schema, the description covers the essential invocation requirements and the tool's autonomous behavior. It does not detail the output structure, but the output schema exists and carries that load. The concept of 'optional refinements' is not elaborated, but it is enough to set expectations. The description is sufficient for an agent to call the tool correctly with the right inputs.

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 96%, so the schema thoroughly documents each of the 25 parameters. The description only highlights the two required parameters ('category, markets') and the general notion of 'known facts', adding minimal semantic detail beyond the schema. The mention of 'optional refinements' hints at how missing parameters are handled, but that is behavioral rather than parameter-specific.

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 clearly states the action ('Compare requirements for a product') and explicitly defines the scope ('across 2-4 of EU, UK, US and Australia'). This distinguishes it from sibling tools that focus on single-region or single-issue checks, though it does not name those tools. The title 'Compare markets' is less precise but the description itself is specific enough.

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 instructs the agent to 'Send category, markets and known facts', which is a clear directive for invocation. It also warns that missing facts produce optional refinements and that the tool will not ask or rerun automatically. However, it does not explicitly state when to choose this tool over sibling tools like check_label_and_packaging or market_access_check, nor does it mention any exclusions.

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

describe_coverageDescribe coverageA
Read-onlyIdempotent
Inspect

Get a short scope and human-review service summary. Set detail=full for the coverage matrix, input definitions and methodology; optional, not a prerequisite. Start product cases at Stage 1 with market_access_check.

ParametersJSON Schema
NameRequiredDescriptionDefault
detailNoFull adds per-market coverage, input definitions and methodology.summary
languageNoResponse language. Defaults to Chinese.zh

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
payloadYes

TDQS

A4.2/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description adds some behavioral context by noting that the full detail is optional and not a prerequisite, but it does not go deeper into response behavior than the annotations and output schema already allow.

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 two sentences with no filler. The core purpose is front-loaded, and the second sentence provides actionable param and workflow guidance. Every sentence earns its place.

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?

For a read-only tool with two enum parameters, full schema coverage, and an output schema, the description covers what is needed. It explains the optional parameter, signals the tool's scope, and gives a clear pointer for when to use a sibling tool instead.

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 schema documents both parameters with default values and descriptions, so baseline is 3. The description adds value by clarifying what 'detail=full' returns ('coverage matrix, input definitions and methodology') and explicitly says it is optional and not a prerequisite, which helps the agent decide whether to set it.

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 clearly states a specific verb and resource: 'Get a short scope and human-review service summary.' It also explains what the 'detail=full' option adds, so an agent understands the tool's purpose. It does not explicitly contrast with sibling tools by name, but the resource is distinct enough to avoid obvious confusion.

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?

The description gives clear invocation guidance: 'Set detail=full... optional, not a prerequisite.' It also explicitly routes product-case work to the sibling tool by saying 'Start product cases at Stage 1 with market_access_check,' which tells the agent when not to use this tool.

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

explain_claimExplain claimA
Read-onlyIdempotent
Inspect

Retrieve the primary sources, verification date and evidence gaps for a claim_id from an earlier result. Copy the exact ID; not a general question-answering tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
case_idNoOpaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU.
claim_idYes
languageNoResponse language. Defaults to Chinese.zh

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
payloadYes

TDQS

A4.7/5.0
Behavior4/5

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

The annotations already declare readOnly, idempotent, and non-destructive behavior, and the description is consistent with them. The description adds useful behavioral context beyond the annotations: the tool is a focused evidence-gap lookup, not a free-form answer generator, and expects an exact carried-forward claim_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?

The description is two short sentences with no filler. The retrieval purpose is front-loaded, and the critical ID-copying warning is placed at the end without repeating anything already in the annotations or schema.

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?

For a simple read-only lookup with a detailed input schema, output schema, and strong annotations, this description is sufficient. It covers what the tool returns, where the input comes from, and how to use it correctly, leaving no important gap for an agent selecting or invoking it.

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 schema fully documents case_id and language, but claim_id only has length constraints. The description compensates by clarifying that claim_id must be the exact ID from an earlier result, not a natural-language question, which is essential semantic information for the required parameter.

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 uses a specific verb ('Retrieve') and names concrete outputs: primary sources, verification date, and evidence gaps for a claim_id. It also explicitly distinguishes the tool from general question-answering, making its purpose and scope clear against the sibling tools.

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 tells the agent exactly when to use the tool: with a claim_id from an earlier result. It also gives an explicit when-not: this is not a general question-answering tool, and the ID must be copied exactly rather than paraphrased or invented.

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

market_access_checkProduct market-access checkA
Idempotent
Inspect

Free, unlimited EU/UK/US/AU product assessments with human review for a signed next-step pack. Send a plain-language message in English or Chinese; the first response already contains preliminary requirements. Follow next_action: execute it exactly as returned and answer questions by key. The first reviewed pack is free per confirmed seller email; further packs are arranged with ComplianceCN. Provide email and consent through this same tool when next_action requests them; no browser form is required. Human review requires email confirmation and reviewer sign-off.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoFor request_review_email only: the seller's real notification email, used with their permission.
actionNoFollow the returned next_action. Use correct_stage_2 for seller corrections; confirm_stage_1/correct_stage_1 are legacy aliases.continue
answersNoOptional structured answers keyed by the stable question.key values returned by the previous call.
case_idNoThe case this call continues, from an earlier result. Omit to start a new product case.
messageNoThe seller's initial product/market description or their latest natural-language clarification. Do not repeat information already supplied.
languageNoPreferred response language; inferred from the seller message when omitted.
consent_to_contactNoFor request_review_email: true only with the seller's permission to email them about this case. Reuse existing scoped consent; never infer it.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
payloadYes

TDQS

A4.2/5.0
Behavior5/5

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

Beyond the annotations, it discloses the multi-turn next_action workflow, human review and sign-off, email confirmation, first-pack-free pricing, and the fact that no browser form is needed. These are substantive behavioral details not inferable from readOnlyHint, idempotentHint, or destructiveHint, and nothing contradicts the annotations.

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?

The description is front-loaded with purpose and then walks through the workflow efficiently. Minor redundancy ('free' appears twice) and unexplained domain terms like 'signed next-step pack' and 'ComplianceCN' keep it from being perfectly tight.

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 stateful, multi-turn tool with 7 parameters, the description covers starting, continuing, keyed answers, email/consent, and human review, while the output schema presumably handles return values. It still leaves the 'signed next-step pack' concept and ComplianceCN arrangement undefined, and it does not explicitly address sibling-tool boundaries.

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%, but the description adds operational meaning: message should be plain language, action should mirror the returned next_action, answers are keyed, and email/consent are passed through this same tool rather than an external form. This is modest but real added value 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 that the tool performs product market-access assessments across EU/UK/US/AU with human review, so the resource and geographic scope are clear. It does not explicitly name sibling tools, but the human-review and next-step-pack framing distinguishes it from the one-off regulatory checks listed nearby.

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 interaction guidance: start with a plain-language message, follow the returned next_action exactly, answer questions by key, and provide email/consent through this tool when requested. It does not explicitly state when not to use it or name an alternative tool, but the workflow context is strong.

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

preflight_productStructured product readiness checkA
Read-onlyIdempotent
Inspect

Check structured product facts, destination markets and evidence held. Returns requirements, an evidence checklist and gaps in one response. For plain-language input use market_access_check. Automated findings are provisional; a signed pack requires human review.

ParametersJSON Schema
NameRequiredDescriptionDefault
case_idNoThe case this call continues, from an earlier result. Omit to start a new product case.
marketsNoOptional destination-market hints. Omit when product_description names the destination.
categoryNoOptional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.
languageNoLanguage for seller-facing text. Questions and messages come back in it; en or zh.zh
age_groupNoIntended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.
food_typeNoThe food the product will contact. Simulant selection for migration testing depends on it.
has_radioNoWhether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US.
has_batteryNoWhether the product contains or ships with any battery, including a coin cell in a remote.
battery_typeNoCell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.
is_sunscreenNoWhether the product is sold as sun protection. Sunscreens carry separate testing and labelling duties.
product_nameNoHuman-readable product or SKU name
repeated_useNoWhether the article is single-use or reused. Repeated use requires migration testing across successive cycles.
evidence_heldNoEvidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document.
evidence_textNoDocument/evidence information already known or extracted by an agent. File upload is optional and separate. Do not paste sensitive certificates or full reports into agent chat.
sales_channelNoWhere the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.
verified_onlyNoExclude decision rules not checked against primary sources
eu_destinationNoDestination member state, where it changes the answer. Language and producer-registration duties differ across the EU.
evidence_notesNoDocument and evidence information known by the seller or agent: filenames, supplier claims, models, standards, issuers, dates, or extracted key text. Explicit evidence may be mapped to evidence IDs; authenticity, completeness and SKU coverage still need original-file and human review.
contact_durationNoHow long the product touches food in normal use. Long-term contact triggers stricter migration testing.
supply_chain_roleNoThe seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.
applicable_modulesNoOptional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.
claims_therapeuticNoWhether the product claims to treat, prevent or cure anything. A therapeutic claim moves a cosmetic into a different regime.
contact_temperatureNoThe temperature at contact. Hot fill and cooking raise migration limits and change the test.
product_descriptionNoPreferred first input: describe the product, destination market, sales channel and any known supplier documents in plain language. The tool extracts a preliminary profile and fills the internal checklist. Required when category/markets are not already supplied.
sells_in_californiaNoWhether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements.
clarification_answerNoContinuation shortcut for the exact same case_id when answering questions_required. Send the seller's natural-language answer here; the service restores and merges the previous canonical product profile. Never use this field to introduce a different product or SKU.
ingredients_reviewedNoWhether the full ingredient list has already been checked against restricted-substance annexes.
is_childrens_productNoWhether the product is marketed as a children's product; keep unknown when not established.
evidence_observationsNoSanitised document observations that may continue between workflow stages: apparent type, filename/reference, models, organisation, date, identifiers, standards, confidence and unresolved issues. Do not include file contents, verbatim extracts, quotations, addresses or unrelated personal information.
food_contact_materialNoThe material that touches food. Migration limits and test methods differ by material.
accessible_small_partsNoWhether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use.
includes_mains_chargerNoWhether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope.
is_electrically_operatedNoWhether the toy is electrically operated, including mains-powered or battery-powered operation.
evidence_inventory_completeNoTrue only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing.
battery_compartment_securityNoHow the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard.
toy_chemical_assessment_completeNoWhether a chemical safety assessment covering migration limits has already been completed for this toy.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
payloadYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, and non-destructive behavior. The description adds a meaningful non-obvious caveat: automated findings are provisional and a signed pack requires human review. This goes beyond the annotations, though it stops short of describing multi-turn clarification behavior, which the schema partially covers.

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?

Three sentences carry the purpose, the return contents, the routing alternative, and the human-review caveat. There is no filler, repetition, or unnecessary abstraction, and the core information appears first.

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 36-parameter tool with an output schema and rich parameter descriptions, the definition is complete enough for selection and initial invocation. It explains what the tool returns and the key caveat, and the schema handles detailed field semantics; it does not describe continuation semantics in prose, but those are covered by case_id and clarification_answer parameter descriptions.

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 the schema fully documents each of the 36 parameters. The tool description only refers generically to structured facts, destination markets, and evidence held, without adding meaning beyond the parameter definitions. The baseline of 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?

The description opens with a specific verb and resource: 'Check structured product facts, destination markets and evidence held.' It explicitly states the response contents (requirements, evidence checklist, gaps) and names the sibling market_access_check as the plain-language alternative, making the tool's role clearly distinguishable.

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 provides an explicit routing rule: for plain-language input, use market_access_check instead. This is an explicit when/when-not pair, and the description also signals that this tool is for structured product facts and evidence, which tells an agent when to invoke it.

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

watch_product_regulatory_changesEmail me when the rules for this product changeAInspect

Start free email alerts for a checked product when the seller explicitly requests them. Requires a real email, consent_to_alerts=true and a saved product/market profile. Covers matching human-reviewed ComplianceCN updates, not every regulatory change. There is no payment and no checkout step.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesSeller email for product-change alerts. Provide only after the seller explicitly asks for the alert subscription.
product_profileYesThe same normalized product profile used for the completed preflight. Do not include document contents or unrelated personal data.
preflight_resultNoThe completed preflight result when available. Its requirement, rule and claim IDs improve future change matching.
consent_to_alertsYesMust be true. The seller explicitly agrees to save this product profile and receive matched product-change and subscription-service emails.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
payloadYes

TDQS

A4.2/5.0
Behavior4/5

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

Beyond the annotations, the description adds valuable behavioral context: alerts cover only 'matching human-reviewed ComplianceCN updates, not every regulatory change,' and 'there is no payment and no checkout step.' This helps the agent set expectations and avoid unnecessary concerns, though ongoing subscription side effects are only implied rather than detailed.

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: the first sentence states the core action, and the following sentences add necessary prerequisites, scope limitations, and a reassuring note about no payment. Every sentence 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 tool with a large nested product profile and an output schema, the description gives the essential context: seller consent, a prior checked product, and scope of alerts. It does not explain return values, but the output schema covers that, and the description is sufficient for an agent to invoke the tool 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 description coverage is 100%, so the schema already explains all four parameters. The description reinforces the key prerequisite that consent_to_alerts must be true and email must be real, but it does not add meaning beyond what the parameter schemas already provide.

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: 'Start free email alerts for a checked product.' It clearly establishes the tool's subscription purpose and distinguishes it from the sibling tools, which are oriented toward checks, comparisons, and explanations rather than ongoing alerts.

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?

The description provides clear usage context: use it 'when the seller explicitly requests them' and only for a 'checked product' with a saved product/market profile. It gives prerequisites like a real email and consent_to_alerts=true, though it does not explicitly name sibling alternatives or state when not to use it.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Changeddescribe_coverage1 field changed
      • addedInput schema / properties / detail
        Added value: +{
        +  "default": "summary",
        +  "description": "Full adds per-market coverage, input definitions and methodology.",
        +  "enum": [
        +    "summary",
        +    "full"
        +  ],
        +  "type": "string"
        +}
    • Changedmarket_access_check4 fields changed
      • changedInput schema / properties / action / description
        Previous value: -"Start with continue. Follow next_action exactly: start_stage_2 assesses evidence after the Stage 1 product profile is ready; after presenting Stage 2, use correct_stage_2 if the seller supplies a correction, otherwise call confirm_stage_2 immediately to obtain the required secure email-and-consent handoff; Stage 3 is released only after reviewer sign-off. confirm_stage_1/correct_stage_1 are legacy aliases only."New value: +"Follow the returned next_action. Use correct_stage_2 for seller corrections; confirm_stage_1/correct_stage_1 are legacy aliases."
      • changedInput schema / properties / action / enum
        Previous value: -[
        -  "continue",
        -  "start_stage_2",
        -  "confirm_stage_2",
        -  "correct_stage_2",
        -  "confirm_stage_1",
        -  "correct_stage_1"
        -]New value: +[
        +  "continue",
        +  "start_stage_2",
        +  "confirm_stage_2",
        +  "request_review_email",
        +  "correct_stage_2",
        +  "confirm_stage_1",
        +  "correct_stage_1"
        +]
      • addedInput schema / properties / consent_to_contact
        Added value: +{
        +  "description": "For request_review_email: true only with the seller's permission to email them about this case. Reuse existing scoped consent; never infer it.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / email
        Added value: +{
        +  "description": "For request_review_email only: the seller's real notification email, used with their permission.",
        +  "maxLength": 320,
        +  "type": "string"
        +}
  2. 9 tool updates
    • Changedcheck_amazon_compliance_request28 fields changed
      • addedInput schema / properties / accessible_small_parts / description
        Added value: +"Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use."
      • addedInput schema / properties / age_group / description
        Added value: +"Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow."
      • removedInput schema / properties / battery_compartment_security
        Removed value: -{
        -  "enum": [
        -    "tool_required",
        -    "two_independent_actions",
        -    "other_secured",
        -    "unsecured",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / battery_type / description
        Added value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing."
      • changedInput schema / properties / case_id / description
        Previous value: -"Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU."New value: +"The case this call continues, from an earlier result. Omit to start a new product case."
      • removedInput schema / properties / claims_therapeutic
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / clarification_answer
        Removed value: -{
        -  "description": "Continuation shortcut for the exact same case_id when answering questions_required. Send the seller's natural-language answer here; the service restores and merges the previous canonical product profile. Never use this field to introduce a different product or SKU.",
        -  "maxLength": 6000,
        -  "minLength": 1,
        -  "type": "string"
        -}
      • removedInput schema / properties / contact_duration
        Removed value: -{
        -  "enum": [
        -    "short",
        -    "long_term",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / contact_temperature
        Removed value: -{
        -  "enum": [
        -    "ambient",
        -    "hot_fill",
        -    "cooking_reheating",
        -    "freezing",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / eu_destination / description
        Added value: +"Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU."
      • addedInput schema / properties / evidence_held / description
        Added value: +"Evidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document."
      • removedInput schema / properties / evidence_notes
        Removed value: -{
        -  "description": "Document and evidence information known by the seller or agent: filenames, supplier claims, models, standards, issuers, dates, or extracted key text. Explicit evidence may be mapped to evidence IDs; authenticity, completeness and SKU coverage still need original-file and human review.",
        -  "maxLength": 6000,
        -  "type": "string"
        -}
      • removedInput schema / properties / evidence_observations
        Removed value: -{
        -  "default": [],
        -  "description": "Sanitised document observations that may continue between workflow stages: apparent type, filename/reference, models, organisation, date, identifiers, standards, confidence and unresolved issues. Do not include file contents, verbatim extracts, quotations, addresses or unrelated personal information.",
        -  "items": {
        -    "properties": {
        -      "confidence": {
        -        "default": "low",
        -        "enum": [
        -          "low",
        -          "medium",
        -          "high"
        -        ],
        -        "type": "string"
        -      },
        -      "document_date": {
        -        "anyOf": [
        -          {
        -            "maxLength": 80,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "document_reference": {
        -        "anyOf": [
        -          {
        -            "maxLength": 260,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Filename or short seller/agent reference only. Do not send a local path, URL, document body or quotation."
        -      },
        -      "document_type": {
        -        "anyOf": [
        -          {
        -            "maxLength": 160,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Plain-language apparent document type; this does not authenticate or approve the document."
        -      },
        -      "evidence_id": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "ce_declaration",
        -              "ce_label_artwork",
        -              "rohs_evidence",
        -              "radio_test_report",
        -              "un38_3_test_summary",
        -              "battery_label_artwork",
        -              "eu_economic_operator",
        -              "weee_registration",
        -              "battery_epr_registration",
        -              "fcc_authorization",
        -              "fcc_sdoc",
        -              "fcc_label_artwork",
        -              "us_responsible_party",
        -              "lithium_shipping_marks",
        -              "prop65_assessment",
        -              "marketplace_safety_report",
        -              "ukca_or_ce_mark",
        -              "uk_rohs_evidence",
        -              "uk_radio_compliance",
        -              "uk_importer_details",
        -              "uk_weee_registration",
        -              "uk_battery_epr_registration",
        -              "uk_un38_3_test_summary",
        -              "uk_marketplace_safety_report",
        -              "au_rcm_supplier_declaration",
        -              "au_radio_compliance",
        -              "au_eess_supplier_evidence",
        -              "au_importer_supplier_details",
        -              "au_battery_shipping_evidence",
        -              "au_marketplace_safety_report",
        -              "toy_safety_assessment",
        -              "en71_mechanical_report",
        -              "en71_chemical_report",
        -              "electrical_toy_report",
        -              "battery_compartment_assessment",
        -              "choking_risk_assessment",
        -              "age_grading_rationale",
        -              "toy_warning_artwork",
        -              "german_warning_copy",
        -              "marketplace_toy_evidence_package",
        -              "toy_third_party_test_report",
        -              "toy_cpc_certificate",
        -              "toy_retesting_plan",
        -              "toy_cbp_efiling_evidence",
        -              "toy_tracking_label_artwork",
        -              "toy_small_parts_warning_artwork",
        -              "uk_toy_declaration",
        -              "uk_en71_report",
        -              "uk_toy_marking",
        -              "uk_toy_importer_details",
        -              "uk_toy_radio_compliance",
        -              "uk_toy_battery_evidence",
        -              "uk_toy_warning_artwork",
        -              "uk_toy_retesting_plan",
        -              "uk_toy_marketplace_evidence_package",
        -              "au_toy_safety_report",
        -              "au_toy_supplier_declaration",
        -              "au_toy_warning_artwork",
        -              "au_toy_importer_details",
        -              "au_toy_radio_compliance",
        -              "au_toy_battery_evidence",
        -              "au_toy_retesting_plan",
        -              "au_toy_marketplace_evidence_package",
        -              "cosmetic_formula_review",
        -              "cosmetic_safety_report",
        -              "cosmetic_pif",
        -              "cosmetic_cpn_notification",
        -              "cosmetic_label_artwork",
        -              "cosmetic_responsible_person",
        -              "cosmetic_claim_substantiation",
        -              "cosmetic_facility_registration",
        -              "cosmetic_adverse_event_process",
        -              "cosmetic_notification",
        -              "food_contact_material_spec",
        -              "food_contact_use_conditions_spec",
        -              "food_contact_migration_report",
        -              "food_contact_plastic_oml_sml_report",
        -              "food_contact_ceramic_glass_release_report",
        -              "food_contact_paper_board_component_review",
        -              "food_contact_coating_adhesive_ink_review",
        -              "food_contact_metal_release_review",
        -              "food_contact_hot_use_protocol",
        -              "food_contact_repeated_use_simulation",
        -              "food_contact_doc",
        -              "food_contact_traceability",
        -              "food_contact_label_artwork",
        -              "food_contact_polymer_resin_clearance",
        -              "food_contact_fda_status",
        -              "food_contact_supplier_declaration",
        -              "food_contact_california_prop65_screen"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Canonical evidence ID when the apparent document type can be mapped safely; otherwise null."
        -      },
        -      "issuer_or_lab": {
        -        "anyOf": [
        -          {
        -            "maxLength": 200,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Issuing organisation or laboratory name only; omit personal names and addresses."
        -      },
        -      "issues": {
        -        "default": [],
        -        "description": "Concise unresolved checks only; never include document quotations or report text.",
        -        "items": {
        -          "maxLength": 240,
        -          "type": "string"
        -        },
        -        "maxItems": 16,
        -        "type": "array"
        -      },
        -      "models_covered": {
        -        "default": [],
        -        "description": "Model/SKU identifiers explicitly stated by the seller, agent or extracted document facts.",
        -        "items": {
        -          "maxLength": 120,
        -          "type": "string"
        -        },
        -        "maxItems": 20,
        -        "type": "array"
        -      },
        -      "provenance": {
        -        "default": "agent_extraction",
        -        "enum": [
        -          "seller_statement",
        -          "agent_extraction",
        -          "llm_inference",
        -          "keyword_inference"
        -        ],
        -        "type": "string"
        -      },
        -      "report_or_certificate_number": {
        -        "anyOf": [
        -          {
        -            "maxLength": 140,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "standards_referenced": {
        -        "default": [],
        -        "items": {
        -          "maxLength": 160,
        -          "type": "string"
        -        },
        -        "maxItems": 24,
        -        "type": "array"
        -      },
        -      "status": {
        -        "default": "mentioned_uncertain",
        -        "enum": [
        -          "reported_held",
        -          "mentioned_uncertain",
        -          "not_held",
        -          "needs_human_review"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "maxItems": 40,
        -  "type": "array"
        -}
      • removedInput schema / properties / evidence_text
        Removed value: -{
        -  "description": "Document/evidence information already known or extracted by an agent. File upload is optional and separate. Do not paste sensitive certificates or full reports into agent chat.",
        -  "maxLength": 6000,
        -  "type": "string"
        -}
      • removedInput schema / properties / food_contact_material
        Removed value: -{
        -  "enum": [
        -    "plastic",
        -    "metal",
        -    "ceramic_glass",
        -    "paper_board",
        -    "silicone_rubber",
        -    "multi_material",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / food_type
        Removed value: -{
        -  "enum": [
        -    "dry",
        -    "aqueous",
        -    "acidic",
        -    "fatty",
        -    "alcoholic",
        -    "mixed",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / has_battery / description
        Added value: +"Whether the product contains or ships with any battery, including a coin cell in a remote."
      • addedInput schema / properties / has_radio / description
        Added value: +"Whether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US."
      • addedInput schema / properties / includes_mains_charger / description
        Added value: +"Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope."
      • removedInput schema / properties / ingredients_reviewed
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / is_electrically_operated
        Removed value: -{
        -  "description": "Whether the toy is electrically operated, including mains-powered or battery-powered operation.",
        -  "type": "boolean"
        -}
      • removedInput schema / properties / is_sunscreen
        Removed value: -{
        -  "type": "boolean"
        -}
      • changedInput schema / properties / language / description
        Previous value: -"Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized."New value: +"Language for seller-facing text. Questions and messages come back in it; en or zh."
      • removedInput schema / properties / repeated_use
        Removed value: -{
        -  "enum": [
        -    "single_use",
        -    "repeated_use",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • changedInput schema / properties / sales_channel / description
        Previous value: -"Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements."
      • addedInput schema / properties / sells_in_california / description
        Added value: +"Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements."
      • changedInput schema / properties / supply_chain_role / description
        Previous value: -"Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's."
      • removedInput schema / properties / toy_chemical_assessment_complete
        Removed value: -{
        -  "type": "boolean"
        -}
    • Changedcheck_battery_transport_documents29 fields changed
      • removedInput schema / properties / accessible_small_parts
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / age_group
        Removed value: -{
        -  "enum": [
        -    "under_3",
        -    "3_to_13",
        -    "14_plus",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / battery_compartment_security / description
        Added value: +"How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard."
      • addedInput schema / properties / battery_type / description
        Added value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing."
      • changedInput schema / properties / case_id / description
        Previous value: -"Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU."New value: +"The case this call continues, from an earlier result. Omit to start a new product case."
      • removedInput schema / properties / claims_therapeutic
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / clarification_answer
        Removed value: -{
        -  "description": "Continuation shortcut for the exact same case_id when answering questions_required. Send the seller's natural-language answer here; the service restores and merges the previous canonical product profile. Never use this field to introduce a different product or SKU.",
        -  "maxLength": 6000,
        -  "minLength": 1,
        -  "type": "string"
        -}
      • removedInput schema / properties / contact_duration
        Removed value: -{
        -  "enum": [
        -    "short",
        -    "long_term",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / contact_temperature
        Removed value: -{
        -  "enum": [
        -    "ambient",
        -    "hot_fill",
        -    "cooking_reheating",
        -    "freezing",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / eu_destination
        Removed value: -{
        -  "enum": [
        -    "DE",
        -    "other_eu",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / evidence_held / description
        Added value: +"Evidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document."
      • removedInput schema / properties / evidence_notes
        Removed value: -{
        -  "description": "Document and evidence information known by the seller or agent: filenames, supplier claims, models, standards, issuers, dates, or extracted key text. Explicit evidence may be mapped to evidence IDs; authenticity, completeness and SKU coverage still need original-file and human review.",
        -  "maxLength": 6000,
        -  "type": "string"
        -}
      • removedInput schema / properties / evidence_observations
        Removed value: -{
        -  "default": [],
        -  "description": "Sanitised document observations that may continue between workflow stages: apparent type, filename/reference, models, organisation, date, identifiers, standards, confidence and unresolved issues. Do not include file contents, verbatim extracts, quotations, addresses or unrelated personal information.",
        -  "items": {
        -    "properties": {
        -      "confidence": {
        -        "default": "low",
        -        "enum": [
        -          "low",
        -          "medium",
        -          "high"
        -        ],
        -        "type": "string"
        -      },
        -      "document_date": {
        -        "anyOf": [
        -          {
        -            "maxLength": 80,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "document_reference": {
        -        "anyOf": [
        -          {
        -            "maxLength": 260,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Filename or short seller/agent reference only. Do not send a local path, URL, document body or quotation."
        -      },
        -      "document_type": {
        -        "anyOf": [
        -          {
        -            "maxLength": 160,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Plain-language apparent document type; this does not authenticate or approve the document."
        -      },
        -      "evidence_id": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "ce_declaration",
        -              "ce_label_artwork",
        -              "rohs_evidence",
        -              "radio_test_report",
        -              "un38_3_test_summary",
        -              "battery_label_artwork",
        -              "eu_economic_operator",
        -              "weee_registration",
        -              "battery_epr_registration",
        -              "fcc_authorization",
        -              "fcc_sdoc",
        -              "fcc_label_artwork",
        -              "us_responsible_party",
        -              "lithium_shipping_marks",
        -              "prop65_assessment",
        -              "marketplace_safety_report",
        -              "ukca_or_ce_mark",
        -              "uk_rohs_evidence",
        -              "uk_radio_compliance",
        -              "uk_importer_details",
        -              "uk_weee_registration",
        -              "uk_battery_epr_registration",
        -              "uk_un38_3_test_summary",
        -              "uk_marketplace_safety_report",
        -              "au_rcm_supplier_declaration",
        -              "au_radio_compliance",
        -              "au_eess_supplier_evidence",
        -              "au_importer_supplier_details",
        -              "au_battery_shipping_evidence",
        -              "au_marketplace_safety_report",
        -              "toy_safety_assessment",
        -              "en71_mechanical_report",
        -              "en71_chemical_report",
        -              "electrical_toy_report",
        -              "battery_compartment_assessment",
        -              "choking_risk_assessment",
        -              "age_grading_rationale",
        -              "toy_warning_artwork",
        -              "german_warning_copy",
        -              "marketplace_toy_evidence_package",
        -              "toy_third_party_test_report",
        -              "toy_cpc_certificate",
        -              "toy_retesting_plan",
        -              "toy_cbp_efiling_evidence",
        -              "toy_tracking_label_artwork",
        -              "toy_small_parts_warning_artwork",
        -              "uk_toy_declaration",
        -              "uk_en71_report",
        -              "uk_toy_marking",
        -              "uk_toy_importer_details",
        -              "uk_toy_radio_compliance",
        -              "uk_toy_battery_evidence",
        -              "uk_toy_warning_artwork",
        -              "uk_toy_retesting_plan",
        -              "uk_toy_marketplace_evidence_package",
        -              "au_toy_safety_report",
        -              "au_toy_supplier_declaration",
        -              "au_toy_warning_artwork",
        -              "au_toy_importer_details",
        -              "au_toy_radio_compliance",
        -              "au_toy_battery_evidence",
        -              "au_toy_retesting_plan",
        -              "au_toy_marketplace_evidence_package",
        -              "cosmetic_formula_review",
        -              "cosmetic_safety_report",
        -              "cosmetic_pif",
        -              "cosmetic_cpn_notification",
        -              "cosmetic_label_artwork",
        -              "cosmetic_responsible_person",
        -              "cosmetic_claim_substantiation",
        -              "cosmetic_facility_registration",
        -              "cosmetic_adverse_event_process",
        -              "cosmetic_notification",
        -              "food_contact_material_spec",
        -              "food_contact_use_conditions_spec",
        -              "food_contact_migration_report",
        -              "food_contact_plastic_oml_sml_report",
        -              "food_contact_ceramic_glass_release_report",
        -              "food_contact_paper_board_component_review",
        -              "food_contact_coating_adhesive_ink_review",
        -              "food_contact_metal_release_review",
        -              "food_contact_hot_use_protocol",
        -              "food_contact_repeated_use_simulation",
        -              "food_contact_doc",
        -              "food_contact_traceability",
        -              "food_contact_label_artwork",
        -              "food_contact_polymer_resin_clearance",
        -              "food_contact_fda_status",
        -              "food_contact_supplier_declaration",
        -              "food_contact_california_prop65_screen"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Canonical evidence ID when the apparent document type can be mapped safely; otherwise null."
        -      },
        -      "issuer_or_lab": {
        -        "anyOf": [
        -          {
        -            "maxLength": 200,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Issuing organisation or laboratory name only; omit personal names and addresses."
        -      },
        -      "issues": {
        -        "default": [],
        -        "description": "Concise unresolved checks only; never include document quotations or report text.",
        -        "items": {
        -          "maxLength": 240,
        -          "type": "string"
        -        },
        -        "maxItems": 16,
        -        "type": "array"
        -      },
        -      "models_covered": {
        -        "default": [],
        -        "description": "Model/SKU identifiers explicitly stated by the seller, agent or extracted document facts.",
        -        "items": {
        -          "maxLength": 120,
        -          "type": "string"
        -        },
        -        "maxItems": 20,
        -        "type": "array"
        -      },
        -      "provenance": {
        -        "default": "agent_extraction",
        -        "enum": [
        -          "seller_statement",
        -          "agent_extraction",
        -          "llm_inference",
        -          "keyword_inference"
        -        ],
        -        "type": "string"
        -      },
        -      "report_or_certificate_number": {
        -        "anyOf": [
        -          {
        -            "maxLength": 140,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "standards_referenced": {
        -        "default": [],
        -        "items": {
        -          "maxLength": 160,
        -          "type": "string"
        -        },
        -        "maxItems": 24,
        -        "type": "array"
        -      },
        -      "status": {
        -        "default": "mentioned_uncertain",
        -        "enum": [
        -          "reported_held",
        -          "mentioned_uncertain",
        -          "not_held",
        -          "needs_human_review"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "maxItems": 40,
        -  "type": "array"
        -}
      • removedInput schema / properties / evidence_text
        Removed value: -{
        -  "description": "Document/evidence information already known or extracted by an agent. File upload is optional and separate. Do not paste sensitive certificates or full reports into agent chat.",
        -  "maxLength": 6000,
        -  "type": "string"
        -}
      • removedInput schema / properties / food_contact_material
        Removed value: -{
        -  "enum": [
        -    "plastic",
        -    "metal",
        -    "ceramic_glass",
        -    "paper_board",
        -    "silicone_rubber",
        -    "multi_material",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / food_type
        Removed value: -{
        -  "enum": [
        -    "dry",
        -    "aqueous",
        -    "acidic",
        -    "fatty",
        -    "alcoholic",
        -    "mixed",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / has_battery / description
        Added value: +"Whether the product contains or ships with any battery, including a coin cell in a remote."
      • removedInput schema / properties / has_radio
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedInput schema / properties / includes_mains_charger / description
        Added value: +"Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope."
      • removedInput schema / properties / ingredients_reviewed
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / is_childrens_product
        Removed value: -{
        -  "description": "Whether the product is marketed as a children's product; keep unknown when not established.",
        -  "type": "boolean"
        -}
      • removedInput schema / properties / is_electrically_operated
        Removed value: -{
        -  "description": "Whether the toy is electrically operated, including mains-powered or battery-powered operation.",
        -  "type": "boolean"
        -}
      • removedInput schema / properties / is_sunscreen
        Removed value: -{
        -  "type": "boolean"
        -}
      • changedInput schema / properties / language / description
        Previous value: -"Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized."New value: +"Language for seller-facing text. Questions and messages come back in it; en or zh."
      • removedInput schema / properties / repeated_use
        Removed value: -{
        -  "enum": [
        -    "single_use",
        -    "repeated_use",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • changedInput schema / properties / sales_channel / description
        Previous value: -"Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements."
      • removedInput schema / properties / sells_in_california
        Removed value: -{
        -  "type": "boolean"
        -}
      • changedInput schema / properties / supply_chain_role / description
        Previous value: -"Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's."
      • removedInput schema / properties / toy_chemical_assessment_complete
        Removed value: -{
        -  "type": "boolean"
        -}
    • Changedcheck_eu_declaration_basis27 fields changed
      • removedInput schema / properties / accessible_small_parts
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedInput schema / properties / age_group / description
        Added value: +"Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow."
      • removedInput schema / properties / battery_compartment_security
        Removed value: -{
        -  "enum": [
        -    "tool_required",
        -    "two_independent_actions",
        -    "other_secured",
        -    "unsecured",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / battery_type / description
        Added value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing."
      • changedInput schema / properties / case_id / description
        Previous value: -"Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU."New value: +"The case this call continues, from an earlier result. Omit to start a new product case."
      • removedInput schema / properties / claims_therapeutic
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / clarification_answer
        Removed value: -{
        -  "description": "Continuation shortcut for the exact same case_id when answering questions_required. Send the seller's natural-language answer here; the service restores and merges the previous canonical product profile. Never use this field to introduce a different product or SKU.",
        -  "maxLength": 6000,
        -  "minLength": 1,
        -  "type": "string"
        -}
      • removedInput schema / properties / contact_duration
        Removed value: -{
        -  "enum": [
        -    "short",
        -    "long_term",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / contact_temperature
        Removed value: -{
        -  "enum": [
        -    "ambient",
        -    "hot_fill",
        -    "cooking_reheating",
        -    "freezing",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / eu_destination / description
        Added value: +"Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU."
      • addedInput schema / properties / evidence_held / description
        Added value: +"Evidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document."
      • removedInput schema / properties / evidence_notes
        Removed value: -{
        -  "description": "Document and evidence information known by the seller or agent: filenames, supplier claims, models, standards, issuers, dates, or extracted key text. Explicit evidence may be mapped to evidence IDs; authenticity, completeness and SKU coverage still need original-file and human review.",
        -  "maxLength": 6000,
        -  "type": "string"
        -}
      • removedInput schema / properties / evidence_observations
        Removed value: -{
        -  "default": [],
        -  "description": "Sanitised document observations that may continue between workflow stages: apparent type, filename/reference, models, organisation, date, identifiers, standards, confidence and unresolved issues. Do not include file contents, verbatim extracts, quotations, addresses or unrelated personal information.",
        -  "items": {
        -    "properties": {
        -      "confidence": {
        -        "default": "low",
        -        "enum": [
        -          "low",
        -          "medium",
        -          "high"
        -        ],
        -        "type": "string"
        -      },
        -      "document_date": {
        -        "anyOf": [
        -          {
        -            "maxLength": 80,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "document_reference": {
        -        "anyOf": [
        -          {
        -            "maxLength": 260,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Filename or short seller/agent reference only. Do not send a local path, URL, document body or quotation."
        -      },
        -      "document_type": {
        -        "anyOf": [
        -          {
        -            "maxLength": 160,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Plain-language apparent document type; this does not authenticate or approve the document."
        -      },
        -      "evidence_id": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "ce_declaration",
        -              "ce_label_artwork",
        -              "rohs_evidence",
        -              "radio_test_report",
        -              "un38_3_test_summary",
        -              "battery_label_artwork",
        -              "eu_economic_operator",
        -              "weee_registration",
        -              "battery_epr_registration",
        -              "fcc_authorization",
        -              "fcc_sdoc",
        -              "fcc_label_artwork",
        -              "us_responsible_party",
        -              "lithium_shipping_marks",
        -              "prop65_assessment",
        -              "marketplace_safety_report",
        -              "ukca_or_ce_mark",
        -              "uk_rohs_evidence",
        -              "uk_radio_compliance",
        -              "uk_importer_details",
        -              "uk_weee_registration",
        -              "uk_battery_epr_registration",
        -              "uk_un38_3_test_summary",
        -              "uk_marketplace_safety_report",
        -              "au_rcm_supplier_declaration",
        -              "au_radio_compliance",
        -              "au_eess_supplier_evidence",
        -              "au_importer_supplier_details",
        -              "au_battery_shipping_evidence",
        -              "au_marketplace_safety_report",
        -              "toy_safety_assessment",
        -              "en71_mechanical_report",
        -              "en71_chemical_report",
        -              "electrical_toy_report",
        -              "battery_compartment_assessment",
        -              "choking_risk_assessment",
        -              "age_grading_rationale",
        -              "toy_warning_artwork",
        -              "german_warning_copy",
        -              "marketplace_toy_evidence_package",
        -              "toy_third_party_test_report",
        -              "toy_cpc_certificate",
        -              "toy_retesting_plan",
        -              "toy_cbp_efiling_evidence",
        -              "toy_tracking_label_artwork",
        -              "toy_small_parts_warning_artwork",
        -              "uk_toy_declaration",
        -              "uk_en71_report",
        -              "uk_toy_marking",
        -              "uk_toy_importer_details",
        -              "uk_toy_radio_compliance",
        -              "uk_toy_battery_evidence",
        -              "uk_toy_warning_artwork",
        -              "uk_toy_retesting_plan",
        -              "uk_toy_marketplace_evidence_package",
        -              "au_toy_safety_report",
        -              "au_toy_supplier_declaration",
        -              "au_toy_warning_artwork",
        -              "au_toy_importer_details",
        -              "au_toy_radio_compliance",
        -              "au_toy_battery_evidence",
        -              "au_toy_retesting_plan",
        -              "au_toy_marketplace_evidence_package",
        -              "cosmetic_formula_review",
        -              "cosmetic_safety_report",
        -              "cosmetic_pif",
        -              "cosmetic_cpn_notification",
        -              "cosmetic_label_artwork",
        -              "cosmetic_responsible_person",
        -              "cosmetic_claim_substantiation",
        -              "cosmetic_facility_registration",
        -              "cosmetic_adverse_event_process",
        -              "cosmetic_notification",
        -              "food_contact_material_spec",
        -              "food_contact_use_conditions_spec",
        -              "food_contact_migration_report",
        -              "food_contact_plastic_oml_sml_report",
        -              "food_contact_ceramic_glass_release_report",
        -              "food_contact_paper_board_component_review",
        -              "food_contact_coating_adhesive_ink_review",
        -              "food_contact_metal_release_review",
        -              "food_contact_hot_use_protocol",
        -              "food_contact_repeated_use_simulation",
        -              "food_contact_doc",
        -              "food_contact_traceability",
        -              "food_contact_label_artwork",
        -              "food_contact_polymer_resin_clearance",
        -              "food_contact_fda_status",
        -              "food_contact_supplier_declaration",
        -              "food_contact_california_prop65_screen"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Canonical evidence ID when the apparent document type can be mapped safely; otherwise null."
        -      },
        -      "issuer_or_lab": {
        -        "anyOf": [
        -          {
        -            "maxLength": 200,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Issuing organisation or laboratory name only; omit personal names and addresses."
        -      },
        -      "issues": {
        -        "default": [],
        -        "description": "Concise unresolved checks only; never include document quotations or report text.",
        -        "items": {
        -          "maxLength": 240,
        -          "type": "string"
        -        },
        -        "maxItems": 16,
        -        "type": "array"
        -      },
        -      "models_covered": {
        -        "default": [],
        -        "description": "Model/SKU identifiers explicitly stated by the seller, agent or extracted document facts.",
        -        "items": {
        -          "maxLength": 120,
        -          "type": "string"
        -        },
        -        "maxItems": 20,
        -        "type": "array"
        -      },
        -      "provenance": {
        -        "default": "agent_extraction",
        -        "enum": [
        -          "seller_statement",
        -          "agent_extraction",
        -          "llm_inference",
        -          "keyword_inference"
        -        ],
        -        "type": "string"
        -      },
        -      "report_or_certificate_number": {
        -        "anyOf": [
        -          {
        -            "maxLength": 140,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "standards_referenced": {
        -        "default": [],
        -        "items": {
        -          "maxLength": 160,
        -          "type": "string"
        -        },
        -        "maxItems": 24,
        -        "type": "array"
        -      },
        -      "status": {
        -        "default": "mentioned_uncertain",
        -        "enum": [
        -          "reported_held",
        -          "mentioned_uncertain",
        -          "not_held",
        -          "needs_human_review"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "maxItems": 40,
        -  "type": "array"
        -}
      • removedInput schema / properties / evidence_text
        Removed value: -{
        -  "description": "Document/evidence information already known or extracted by an agent. File upload is optional and separate. Do not paste sensitive certificates or full reports into agent chat.",
        -  "maxLength": 6000,
        -  "type": "string"
        -}
      • addedInput schema / properties / food_contact_material / description
        Added value: +"The material that touches food. Migration limits and test methods differ by material."
      • removedInput schema / properties / food_type
        Removed value: -{
        -  "enum": [
        -    "dry",
        -    "aqueous",
        -    "acidic",
        -    "fatty",
        -    "alcoholic",
        -    "mixed",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / has_battery / description
        Added value: +"Whether the product contains or ships with any battery, including a coin cell in a remote."
      • addedInput schema / properties / has_radio / description
        Added value: +"Whether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US."
      • addedInput schema / properties / includes_mains_charger / description
        Added value: +"Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope."
      • removedInput schema / properties / ingredients_reviewed
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / is_sunscreen
        Removed value: -{
        -  "type": "boolean"
        -}
      • changedInput schema / properties / language / description
        Previous value: -"Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized."New value: +"Language for seller-facing text. Questions and messages come back in it; en or zh."
      • removedInput schema / properties / repeated_use
        Removed value: -{
        -  "enum": [
        -    "single_use",
        -    "repeated_use",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • changedInput schema / properties / sales_channel / description
        Previous value: -"Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements."
      • removedInput schema / properties / sells_in_california
        Removed value: -{
        -  "type": "boolean"
        -}
      • changedInput schema / properties / supply_chain_role / description
        Previous value: -"Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's."
      • removedInput schema / properties / toy_chemical_assessment_complete
        Removed value: -{
        -  "type": "boolean"
        -}
    • Changedcheck_label_and_packaging28 fields changed
      • addedInput schema / properties / accessible_small_parts / description
        Added value: +"Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use."
      • addedInput schema / properties / age_group / description
        Added value: +"Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow."
      • addedInput schema / properties / battery_compartment_security / description
        Added value: +"How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard."
      • addedInput schema / properties / battery_type / description
        Added value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing."
      • changedInput schema / properties / case_id / description
        Previous value: -"Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU."New value: +"The case this call continues, from an earlier result. Omit to start a new product case."
      • removedInput schema / properties / claims_therapeutic
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / clarification_answer
        Removed value: -{
        -  "description": "Continuation shortcut for the exact same case_id when answering questions_required. Send the seller's natural-language answer here; the service restores and merges the previous canonical product profile. Never use this field to introduce a different product or SKU.",
        -  "maxLength": 6000,
        -  "minLength": 1,
        -  "type": "string"
        -}
      • removedInput schema / properties / contact_duration
        Removed value: -{
        -  "enum": [
        -    "short",
        -    "long_term",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / contact_temperature
        Removed value: -{
        -  "enum": [
        -    "ambient",
        -    "hot_fill",
        -    "cooking_reheating",
        -    "freezing",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / eu_destination / description
        Added value: +"Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU."
      • addedInput schema / properties / evidence_held / description
        Added value: +"Evidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document."
      • removedInput schema / properties / evidence_notes
        Removed value: -{
        -  "description": "Document and evidence information known by the seller or agent: filenames, supplier claims, models, standards, issuers, dates, or extracted key text. Explicit evidence may be mapped to evidence IDs; authenticity, completeness and SKU coverage still need original-file and human review.",
        -  "maxLength": 6000,
        -  "type": "string"
        -}
      • removedInput schema / properties / evidence_observations
        Removed value: -{
        -  "default": [],
        -  "description": "Sanitised document observations that may continue between workflow stages: apparent type, filename/reference, models, organisation, date, identifiers, standards, confidence and unresolved issues. Do not include file contents, verbatim extracts, quotations, addresses or unrelated personal information.",
        -  "items": {
        -    "properties": {
        -      "confidence": {
        -        "default": "low",
        -        "enum": [
        -          "low",
        -          "medium",
        -          "high"
        -        ],
        -        "type": "string"
        -      },
        -      "document_date": {
        -        "anyOf": [
        -          {
        -            "maxLength": 80,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "document_reference": {
        -        "anyOf": [
        -          {
        -            "maxLength": 260,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Filename or short seller/agent reference only. Do not send a local path, URL, document body or quotation."
        -      },
        -      "document_type": {
        -        "anyOf": [
        -          {
        -            "maxLength": 160,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Plain-language apparent document type; this does not authenticate or approve the document."
        -      },
        -      "evidence_id": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "ce_declaration",
        -              "ce_label_artwork",
        -              "rohs_evidence",
        -              "radio_test_report",
        -              "un38_3_test_summary",
        -              "battery_label_artwork",
        -              "eu_economic_operator",
        -              "weee_registration",
        -              "battery_epr_registration",
        -              "fcc_authorization",
        -              "fcc_sdoc",
        -              "fcc_label_artwork",
        -              "us_responsible_party",
        -              "lithium_shipping_marks",
        -              "prop65_assessment",
        -              "marketplace_safety_report",
        -              "ukca_or_ce_mark",
        -              "uk_rohs_evidence",
        -              "uk_radio_compliance",
        -              "uk_importer_details",
        -              "uk_weee_registration",
        -              "uk_battery_epr_registration",
        -              "uk_un38_3_test_summary",
        -              "uk_marketplace_safety_report",
        -              "au_rcm_supplier_declaration",
        -              "au_radio_compliance",
        -              "au_eess_supplier_evidence",
        -              "au_importer_supplier_details",
        -              "au_battery_shipping_evidence",
        -              "au_marketplace_safety_report",
        -              "toy_safety_assessment",
        -              "en71_mechanical_report",
        -              "en71_chemical_report",
        -              "electrical_toy_report",
        -              "battery_compartment_assessment",
        -              "choking_risk_assessment",
        -              "age_grading_rationale",
        -              "toy_warning_artwork",
        -              "german_warning_copy",
        -              "marketplace_toy_evidence_package",
        -              "toy_third_party_test_report",
        -              "toy_cpc_certificate",
        -              "toy_retesting_plan",
        -              "toy_cbp_efiling_evidence",
        -              "toy_tracking_label_artwork",
        -              "toy_small_parts_warning_artwork",
        -              "uk_toy_declaration",
        -              "uk_en71_report",
        -              "uk_toy_marking",
        -              "uk_toy_importer_details",
        -              "uk_toy_radio_compliance",
        -              "uk_toy_battery_evidence",
        -              "uk_toy_warning_artwork",
        -              "uk_toy_retesting_plan",
        -              "uk_toy_marketplace_evidence_package",
        -              "au_toy_safety_report",
        -              "au_toy_supplier_declaration",
        -              "au_toy_warning_artwork",
        -              "au_toy_importer_details",
        -              "au_toy_radio_compliance",
        -              "au_toy_battery_evidence",
        -              "au_toy_retesting_plan",
        -              "au_toy_marketplace_evidence_package",
        -              "cosmetic_formula_review",
        -              "cosmetic_safety_report",
        -              "cosmetic_pif",
        -              "cosmetic_cpn_notification",
        -              "cosmetic_label_artwork",
        -              "cosmetic_responsible_person",
        -              "cosmetic_claim_substantiation",
        -              "cosmetic_facility_registration",
        -              "cosmetic_adverse_event_process",
        -              "cosmetic_notification",
        -              "food_contact_material_spec",
        -              "food_contact_use_conditions_spec",
        -              "food_contact_migration_report",
        -              "food_contact_plastic_oml_sml_report",
        -              "food_contact_ceramic_glass_release_report",
        -              "food_contact_paper_board_component_review",
        -              "food_contact_coating_adhesive_ink_review",
        -              "food_contact_metal_release_review",
        -              "food_contact_hot_use_protocol",
        -              "food_contact_repeated_use_simulation",
        -              "food_contact_doc",
        -              "food_contact_traceability",
        -              "food_contact_label_artwork",
        -              "food_contact_polymer_resin_clearance",
        -              "food_contact_fda_status",
        -              "food_contact_supplier_declaration",
        -              "food_contact_california_prop65_screen"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Canonical evidence ID when the apparent document type can be mapped safely; otherwise null."
        -      },
        -      "issuer_or_lab": {
        -        "anyOf": [
        -          {
        -            "maxLength": 200,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Issuing organisation or laboratory name only; omit personal names and addresses."
        -      },
        -      "issues": {
        -        "default": [],
        -        "description": "Concise unresolved checks only; never include document quotations or report text.",
        -        "items": {
        -          "maxLength": 240,
        -          "type": "string"
        -        },
        -        "maxItems": 16,
        -        "type": "array"
        -      },
        -      "models_covered": {
        -        "default": [],
        -        "description": "Model/SKU identifiers explicitly stated by the seller, agent or extracted document facts.",
        -        "items": {
        -          "maxLength": 120,
        -          "type": "string"
        -        },
        -        "maxItems": 20,
        -        "type": "array"
        -      },
        -      "provenance": {
        -        "default": "agent_extraction",
        -        "enum": [
        -          "seller_statement",
        -          "agent_extraction",
        -          "llm_inference",
        -          "keyword_inference"
        -        ],
        -        "type": "string"
        -      },
        -      "report_or_certificate_number": {
        -        "anyOf": [
        -          {
        -            "maxLength": 140,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "standards_referenced": {
        -        "default": [],
        -        "items": {
        -          "maxLength": 160,
        -          "type": "string"
        -        },
        -        "maxItems": 24,
        -        "type": "array"
        -      },
        -      "status": {
        -        "default": "mentioned_uncertain",
        -        "enum": [
        -          "reported_held",
        -          "mentioned_uncertain",
        -          "not_held",
        -          "needs_human_review"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "maxItems": 40,
        -  "type": "array"
        -}
      • removedInput schema / properties / evidence_text
        Removed value: -{
        -  "description": "Document/evidence information already known or extracted by an agent. File upload is optional and separate. Do not paste sensitive certificates or full reports into agent chat.",
        -  "maxLength": 6000,
        -  "type": "string"
        -}
      • addedInput schema / properties / food_contact_material / description
        Added value: +"The material that touches food. Migration limits and test methods differ by material."
      • removedInput schema / properties / food_type
        Removed value: -{
        -  "enum": [
        -    "dry",
        -    "aqueous",
        -    "acidic",
        -    "fatty",
        -    "alcoholic",
        -    "mixed",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / has_battery / description
        Added value: +"Whether the product contains or ships with any battery, including a coin cell in a remote."
      • addedInput schema / properties / has_radio / description
        Added value: +"Whether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US."
      • removedInput schema / properties / includes_mains_charger
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / ingredients_reviewed
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / is_electrically_operated
        Removed value: -{
        -  "description": "Whether the toy is electrically operated, including mains-powered or battery-powered operation.",
        -  "type": "boolean"
        -}
      • removedInput schema / properties / is_sunscreen
        Removed value: -{
        -  "type": "boolean"
        -}
      • changedInput schema / properties / language / description
        Previous value: -"Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized."New value: +"Language for seller-facing text. Questions and messages come back in it; en or zh."
      • removedInput schema / properties / repeated_use
        Removed value: -{
        -  "enum": [
        -    "single_use",
        -    "repeated_use",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • changedInput schema / properties / sales_channel / description
        Previous value: -"Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements."
      • addedInput schema / properties / sells_in_california / description
        Added value: +"Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements."
      • changedInput schema / properties / supply_chain_role / description
        Previous value: -"Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's."
      • removedInput schema / properties / toy_chemical_assessment_complete
        Removed value: -{
        -  "type": "boolean"
        -}
    • Changedcheck_us_import_certification28 fields changed
      • addedInput schema / properties / accessible_small_parts / description
        Added value: +"Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use."
      • addedInput schema / properties / age_group / description
        Added value: +"Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow."
      • removedInput schema / properties / battery_compartment_security
        Removed value: -{
        -  "enum": [
        -    "tool_required",
        -    "two_independent_actions",
        -    "other_secured",
        -    "unsecured",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / battery_type / description
        Added value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing."
      • changedInput schema / properties / case_id / description
        Previous value: -"Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU."New value: +"The case this call continues, from an earlier result. Omit to start a new product case."
      • removedInput schema / properties / claims_therapeutic
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / clarification_answer
        Removed value: -{
        -  "description": "Continuation shortcut for the exact same case_id when answering questions_required. Send the seller's natural-language answer here; the service restores and merges the previous canonical product profile. Never use this field to introduce a different product or SKU.",
        -  "maxLength": 6000,
        -  "minLength": 1,
        -  "type": "string"
        -}
      • removedInput schema / properties / contact_duration
        Removed value: -{
        -  "enum": [
        -    "short",
        -    "long_term",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / contact_temperature
        Removed value: -{
        -  "enum": [
        -    "ambient",
        -    "hot_fill",
        -    "cooking_reheating",
        -    "freezing",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / eu_destination
        Removed value: -{
        -  "enum": [
        -    "DE",
        -    "other_eu",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / evidence_held / description
        Added value: +"Evidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document."
      • removedInput schema / properties / evidence_notes
        Removed value: -{
        -  "description": "Document and evidence information known by the seller or agent: filenames, supplier claims, models, standards, issuers, dates, or extracted key text. Explicit evidence may be mapped to evidence IDs; authenticity, completeness and SKU coverage still need original-file and human review.",
        -  "maxLength": 6000,
        -  "type": "string"
        -}
      • removedInput schema / properties / evidence_observations
        Removed value: -{
        -  "default": [],
        -  "description": "Sanitised document observations that may continue between workflow stages: apparent type, filename/reference, models, organisation, date, identifiers, standards, confidence and unresolved issues. Do not include file contents, verbatim extracts, quotations, addresses or unrelated personal information.",
        -  "items": {
        -    "properties": {
        -      "confidence": {
        -        "default": "low",
        -        "enum": [
        -          "low",
        -          "medium",
        -          "high"
        -        ],
        -        "type": "string"
        -      },
        -      "document_date": {
        -        "anyOf": [
        -          {
        -            "maxLength": 80,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "document_reference": {
        -        "anyOf": [
        -          {
        -            "maxLength": 260,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Filename or short seller/agent reference only. Do not send a local path, URL, document body or quotation."
        -      },
        -      "document_type": {
        -        "anyOf": [
        -          {
        -            "maxLength": 160,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Plain-language apparent document type; this does not authenticate or approve the document."
        -      },
        -      "evidence_id": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "ce_declaration",
        -              "ce_label_artwork",
        -              "rohs_evidence",
        -              "radio_test_report",
        -              "un38_3_test_summary",
        -              "battery_label_artwork",
        -              "eu_economic_operator",
        -              "weee_registration",
        -              "battery_epr_registration",
        -              "fcc_authorization",
        -              "fcc_sdoc",
        -              "fcc_label_artwork",
        -              "us_responsible_party",
        -              "lithium_shipping_marks",
        -              "prop65_assessment",
        -              "marketplace_safety_report",
        -              "ukca_or_ce_mark",
        -              "uk_rohs_evidence",
        -              "uk_radio_compliance",
        -              "uk_importer_details",
        -              "uk_weee_registration",
        -              "uk_battery_epr_registration",
        -              "uk_un38_3_test_summary",
        -              "uk_marketplace_safety_report",
        -              "au_rcm_supplier_declaration",
        -              "au_radio_compliance",
        -              "au_eess_supplier_evidence",
        -              "au_importer_supplier_details",
        -              "au_battery_shipping_evidence",
        -              "au_marketplace_safety_report",
        -              "toy_safety_assessment",
        -              "en71_mechanical_report",
        -              "en71_chemical_report",
        -              "electrical_toy_report",
        -              "battery_compartment_assessment",
        -              "choking_risk_assessment",
        -              "age_grading_rationale",
        -              "toy_warning_artwork",
        -              "german_warning_copy",
        -              "marketplace_toy_evidence_package",
        -              "toy_third_party_test_report",
        -              "toy_cpc_certificate",
        -              "toy_retesting_plan",
        -              "toy_cbp_efiling_evidence",
        -              "toy_tracking_label_artwork",
        -              "toy_small_parts_warning_artwork",
        -              "uk_toy_declaration",
        -              "uk_en71_report",
        -              "uk_toy_marking",
        -              "uk_toy_importer_details",
        -              "uk_toy_radio_compliance",
        -              "uk_toy_battery_evidence",
        -              "uk_toy_warning_artwork",
        -              "uk_toy_retesting_plan",
        -              "uk_toy_marketplace_evidence_package",
        -              "au_toy_safety_report",
        -              "au_toy_supplier_declaration",
        -              "au_toy_warning_artwork",
        -              "au_toy_importer_details",
        -              "au_toy_radio_compliance",
        -              "au_toy_battery_evidence",
        -              "au_toy_retesting_plan",
        -              "au_toy_marketplace_evidence_package",
        -              "cosmetic_formula_review",
        -              "cosmetic_safety_report",
        -              "cosmetic_pif",
        -              "cosmetic_cpn_notification",
        -              "cosmetic_label_artwork",
        -              "cosmetic_responsible_person",
        -              "cosmetic_claim_substantiation",
        -              "cosmetic_facility_registration",
        -              "cosmetic_adverse_event_process",
        -              "cosmetic_notification",
        -              "food_contact_material_spec",
        -              "food_contact_use_conditions_spec",
        -              "food_contact_migration_report",
        -              "food_contact_plastic_oml_sml_report",
        -              "food_contact_ceramic_glass_release_report",
        -              "food_contact_paper_board_component_review",
        -              "food_contact_coating_adhesive_ink_review",
        -              "food_contact_metal_release_review",
        -              "food_contact_hot_use_protocol",
        -              "food_contact_repeated_use_simulation",
        -              "food_contact_doc",
        -              "food_contact_traceability",
        -              "food_contact_label_artwork",
        -              "food_contact_polymer_resin_clearance",
        -              "food_contact_fda_status",
        -              "food_contact_supplier_declaration",
        -              "food_contact_california_prop65_screen"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Canonical evidence ID when the apparent document type can be mapped safely; otherwise null."
        -      },
        -      "issuer_or_lab": {
        -        "anyOf": [
        -          {
        -            "maxLength": 200,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Issuing organisation or laboratory name only; omit personal names and addresses."
        -      },
        -      "issues": {
        -        "default": [],
        -        "description": "Concise unresolved checks only; never include document quotations or report text.",
        -        "items": {
        -          "maxLength": 240,
        -          "type": "string"
        -        },
        -        "maxItems": 16,
        -        "type": "array"
        -      },
        -      "models_covered": {
        -        "default": [],
        -        "description": "Model/SKU identifiers explicitly stated by the seller, agent or extracted document facts.",
        -        "items": {
        -          "maxLength": 120,
        -          "type": "string"
        -        },
        -        "maxItems": 20,
        -        "type": "array"
        -      },
        -      "provenance": {
        -        "default": "agent_extraction",
        -        "enum": [
        -          "seller_statement",
        -          "agent_extraction",
        -          "llm_inference",
        -          "keyword_inference"
        -        ],
        -        "type": "string"
        -      },
        -      "report_or_certificate_number": {
        -        "anyOf": [
        -          {
        -            "maxLength": 140,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "standards_referenced": {
        -        "default": [],
        -        "items": {
        -          "maxLength": 160,
        -          "type": "string"
        -        },
        -        "maxItems": 24,
        -        "type": "array"
        -      },
        -      "status": {
        -        "default": "mentioned_uncertain",
        -        "enum": [
        -          "reported_held",
        -          "mentioned_uncertain",
        -          "not_held",
        -          "needs_human_review"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "maxItems": 40,
        -  "type": "array"
        -}
      • removedInput schema / properties / evidence_text
        Removed value: -{
        -  "description": "Document/evidence information already known or extracted by an agent. File upload is optional and separate. Do not paste sensitive certificates or full reports into agent chat.",
        -  "maxLength": 6000,
        -  "type": "string"
        -}
      • removedInput schema / properties / food_contact_material
        Removed value: -{
        -  "enum": [
        -    "plastic",
        -    "metal",
        -    "ceramic_glass",
        -    "paper_board",
        -    "silicone_rubber",
        -    "multi_material",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / food_type
        Removed value: -{
        -  "enum": [
        -    "dry",
        -    "aqueous",
        -    "acidic",
        -    "fatty",
        -    "alcoholic",
        -    "mixed",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / has_battery / description
        Added value: +"Whether the product contains or ships with any battery, including a coin cell in a remote."
      • addedInput schema / properties / has_radio / description
        Added value: +"Whether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US."
      • removedInput schema / properties / includes_mains_charger
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / ingredients_reviewed
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / is_electrically_operated
        Removed value: -{
        -  "description": "Whether the toy is electrically operated, including mains-powered or battery-powered operation.",
        -  "type": "boolean"
        -}
      • removedInput schema / properties / is_sunscreen
        Removed value: -{
        -  "type": "boolean"
        -}
      • changedInput schema / properties / language / description
        Previous value: -"Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized."New value: +"Language for seller-facing text. Questions and messages come back in it; en or zh."
      • removedInput schema / properties / repeated_use
        Removed value: -{
        -  "enum": [
        -    "single_use",
        -    "repeated_use",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • changedInput schema / properties / sales_channel / description
        Previous value: -"Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements."
      • addedInput schema / properties / sells_in_california / description
        Added value: +"Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements."
      • changedInput schema / properties / supply_chain_role / description
        Previous value: -"Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's."
      • addedInput schema / properties / toy_chemical_assessment_complete / description
        Added value: +"Whether a chemical safety assessment covering migration limits has already been completed for this toy."
    • Changedcompare_market_requirements19 fields changed
      • addedInput schema / properties / accessible_small_parts / description
        Added value: +"Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use."
      • addedInput schema / properties / age_group / description
        Added value: +"Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow."
      • addedInput schema / properties / battery_compartment_security / description
        Added value: +"How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard."
      • addedInput schema / properties / battery_type / description
        Added value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing."
      • changedInput schema / properties / case_id / description
        Previous value: -"Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU."New value: +"The case this call continues, from an earlier result. Omit to start a new product case."
      • addedInput schema / properties / claims_therapeutic / description
        Added value: +"Whether the product claims to treat, prevent or cure anything. A therapeutic claim moves a cosmetic into a different regime."
      • addedInput schema / properties / contact_duration / description
        Added value: +"How long the product touches food in normal use. Long-term contact triggers stricter migration testing."
      • addedInput schema / properties / contact_temperature / description
        Added value: +"The temperature at contact. Hot fill and cooking raise migration limits and change the test."
      • addedInput schema / properties / eu_destination / description
        Added value: +"Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU."
      • addedInput schema / properties / food_contact_material / description
        Added value: +"The material that touches food. Migration limits and test methods differ by material."
      • addedInput schema / properties / food_type / description
        Added value: +"The food the product will contact. Simulant selection for migration testing depends on it."
      • addedInput schema / properties / has_battery / description
        Added value: +"Whether the product contains or ships with any battery, including a coin cell in a remote."
      • addedInput schema / properties / has_radio / description
        Added value: +"Whether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US."
      • addedInput schema / properties / includes_mains_charger / description
        Added value: +"Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope."
      • addedInput schema / properties / ingredients_reviewed / description
        Added value: +"Whether the full ingredient list has already been checked against restricted-substance annexes."
      • addedInput schema / properties / is_sunscreen / description
        Added value: +"Whether the product is sold as sun protection. Sunscreens carry separate testing and labelling duties."
      • addedInput schema / properties / repeated_use / description
        Added value: +"Whether the article is single-use or reused. Repeated use requires migration testing across successive cycles."
      • changedInput schema / properties / supply_chain_role / description
        Previous value: -"Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's."
      • addedInput schema / properties / toy_chemical_assessment_complete / description
        Added value: +"Whether a chemical safety assessment covering migration limits has already been completed for this toy."
    • Changedmarket_access_check1 field changed
      • changedInput schema / properties / case_id / description
        Previous value: -"Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU."New value: +"The case this call continues, from an earlier result. Omit to start a new product case."
    • Changedpreflight_product23 fields changed
      • addedInput schema / properties / accessible_small_parts / description
        Added value: +"Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use."
      • addedInput schema / properties / age_group / description
        Added value: +"Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow."
      • addedInput schema / properties / battery_compartment_security / description
        Added value: +"How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard."
      • addedInput schema / properties / battery_type / description
        Added value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing."
      • changedInput schema / properties / case_id / description
        Previous value: -"Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU."New value: +"The case this call continues, from an earlier result. Omit to start a new product case."
      • addedInput schema / properties / claims_therapeutic / description
        Added value: +"Whether the product claims to treat, prevent or cure anything. A therapeutic claim moves a cosmetic into a different regime."
      • addedInput schema / properties / contact_duration / description
        Added value: +"How long the product touches food in normal use. Long-term contact triggers stricter migration testing."
      • addedInput schema / properties / contact_temperature / description
        Added value: +"The temperature at contact. Hot fill and cooking raise migration limits and change the test."
      • addedInput schema / properties / eu_destination / description
        Added value: +"Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU."
      • addedInput schema / properties / evidence_held / description
        Added value: +"Evidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document."
      • addedInput schema / properties / food_contact_material / description
        Added value: +"The material that touches food. Migration limits and test methods differ by material."
      • addedInput schema / properties / food_type / description
        Added value: +"The food the product will contact. Simulant selection for migration testing depends on it."
      • addedInput schema / properties / has_battery / description
        Added value: +"Whether the product contains or ships with any battery, including a coin cell in a remote."
      • addedInput schema / properties / has_radio / description
        Added value: +"Whether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US."
      • addedInput schema / properties / includes_mains_charger / description
        Added value: +"Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope."
      • addedInput schema / properties / ingredients_reviewed / description
        Added value: +"Whether the full ingredient list has already been checked against restricted-substance annexes."
      • addedInput schema / properties / is_sunscreen / description
        Added value: +"Whether the product is sold as sun protection. Sunscreens carry separate testing and labelling duties."
      • changedInput schema / properties / language / description
        Previous value: -"Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized."New value: +"Language for seller-facing text. Questions and messages come back in it; en or zh."
      • addedInput schema / properties / repeated_use / description
        Added value: +"Whether the article is single-use or reused. Repeated use requires migration testing across successive cycles."
      • changedInput schema / properties / sales_channel / description
        Previous value: -"Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements."
      • addedInput schema / properties / sells_in_california / description
        Added value: +"Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements."
      • changedInput schema / properties / supply_chain_role / description
        Previous value: -"Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's."
      • addedInput schema / properties / toy_chemical_assessment_complete / description
        Added value: +"Whether a chemical safety assessment covering migration limits has already been completed for this toy."
    • Changedwatch_product_regulatory_changes23 fields changed
      • addedInput schema / properties / product_profile / properties / accessible_small_parts / description
        Added value: +"Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use."
      • addedInput schema / properties / product_profile / properties / age_group / description
        Added value: +"Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow."
      • addedInput schema / properties / product_profile / properties / battery_compartment_security / description
        Added value: +"How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard."
      • addedInput schema / properties / product_profile / properties / battery_type / description
        Added value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing."
      • changedInput schema / properties / product_profile / properties / case_id / description
        Previous value: -"Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU."New value: +"The case this call continues, from an earlier result. Omit to start a new product case."
      • addedInput schema / properties / product_profile / properties / claims_therapeutic / description
        Added value: +"Whether the product claims to treat, prevent or cure anything. A therapeutic claim moves a cosmetic into a different regime."
      • addedInput schema / properties / product_profile / properties / contact_duration / description
        Added value: +"How long the product touches food in normal use. Long-term contact triggers stricter migration testing."
      • addedInput schema / properties / product_profile / properties / contact_temperature / description
        Added value: +"The temperature at contact. Hot fill and cooking raise migration limits and change the test."
      • addedInput schema / properties / product_profile / properties / eu_destination / description
        Added value: +"Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU."
      • addedInput schema / properties / product_profile / properties / evidence_held / description
        Added value: +"Evidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document."
      • addedInput schema / properties / product_profile / properties / food_contact_material / description
        Added value: +"The material that touches food. Migration limits and test methods differ by material."
      • addedInput schema / properties / product_profile / properties / food_type / description
        Added value: +"The food the product will contact. Simulant selection for migration testing depends on it."
      • addedInput schema / properties / product_profile / properties / has_battery / description
        Added value: +"Whether the product contains or ships with any battery, including a coin cell in a remote."
      • addedInput schema / properties / product_profile / properties / has_radio / description
        Added value: +"Whether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US."
      • addedInput schema / properties / product_profile / properties / includes_mains_charger / description
        Added value: +"Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope."
      • addedInput schema / properties / product_profile / properties / ingredients_reviewed / description
        Added value: +"Whether the full ingredient list has already been checked against restricted-substance annexes."
      • addedInput schema / properties / product_profile / properties / is_sunscreen / description
        Added value: +"Whether the product is sold as sun protection. Sunscreens carry separate testing and labelling duties."
      • changedInput schema / properties / product_profile / properties / language / description
        Previous value: -"Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized."New value: +"Language for seller-facing text. Questions and messages come back in it; en or zh."
      • addedInput schema / properties / product_profile / properties / repeated_use / description
        Added value: +"Whether the article is single-use or reused. Repeated use requires migration testing across successive cycles."
      • changedInput schema / properties / product_profile / properties / sales_channel / description
        Previous value: -"Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements."
      • addedInput schema / properties / product_profile / properties / sells_in_california / description
        Added value: +"Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements."
      • changedInput schema / properties / product_profile / properties / supply_chain_role / description
        Previous value: -"Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's."
      • addedInput schema / properties / product_profile / properties / toy_chemical_assessment_complete / description
        Added value: +"Whether a chemical safety assessment covering migration limits has already been completed for this toy."
  3. 2 tool updates
    • Addedcheck_amazon_compliance_request
    • Removedcheck_marketplace_compliance_request
  4. 5 tool updates
    • Addedcheck_battery_transport_documents
    • Addedcheck_eu_declaration_basis
    • Addedcheck_label_and_packaging
    • Addedcheck_marketplace_compliance_request
    • Addedcheck_us_import_certification
  5. 1 tool update
    • Addedpreflight_product
  6. 1 tool update
    • Changedmarket_access_check1 field changed
      • changedInput schema / properties / action / description
        Previous value: -"Start with continue. Follow next_action exactly: start_stage_2 assesses evidence after the Stage 1 product profile is ready; confirm_stage_2 generates Stage 3 only after the seller confirms the Stage 2 readiness result; correct_stage_2 amends Stage 2. confirm_stage_1/correct_stage_1 are legacy aliases only."New value: +"Start with continue. Follow next_action exactly: start_stage_2 assesses evidence after the Stage 1 product profile is ready; after presenting Stage 2, use correct_stage_2 if the seller supplies a correction, otherwise call confirm_stage_2 immediately to obtain the required secure email-and-consent handoff; Stage 3 is released only after reviewer sign-off. confirm_stage_1/correct_stage_1 are legacy aliases only."
  7. 1 tool update
    • Changedmarket_access_check2 fields changed
      • changedInput schema / properties / action / description
        Previous value: -"Use continue for the initial description and clarifications. Use confirm_stage_1 only after the seller confirms the Stage 1 summary. Use correct_stage_1 with message or answers to amend it."New value: +"Start with continue. Follow next_action exactly: start_stage_2 assesses evidence after the Stage 1 product profile is ready; confirm_stage_2 generates Stage 3 only after the seller confirms the Stage 2 readiness result; correct_stage_2 amends Stage 2. confirm_stage_1/correct_stage_1 are legacy aliases only."
      • changedInput schema / properties / action / enum
        Previous value: -[
        -  "continue",
        -  "confirm_stage_1",
        -  "correct_stage_1"
        -]New value: +[
        +  "continue",
        +  "start_stage_2",
        +  "confirm_stage_2",
        +  "correct_stage_2",
        +  "confirm_stage_1",
        +  "correct_stage_1"
        +]
  8. 6 tool updates
    • Removedassess_product_compliance
    • Removedgenerate_next_step_pack
    • Addedmarket_access_check
    • Removedpreflight_product
    • Removedregister_mcp_contact
    • Removedrequest_human_review
  9. 4 tool updates
    • Changedgenerate_next_step_pack1 field changed
      • addedInput schema / properties / clarification_answer
        Added value: +{
        +  "description": "Continuation shortcut for the exact same case_id when answering questions_required. Send the seller's natural-language answer here; the service restores and merges the previous canonical product profile. Never use this field to introduce a different product or SKU.",
        +  "maxLength": 6000,
        +  "minLength": 1,
        +  "type": "string"
        +}
    • Changedpreflight_product1 field changed
      • addedInput schema / properties / clarification_answer
        Added value: +{
        +  "description": "Continuation shortcut for the exact same case_id when answering questions_required. Send the seller's natural-language answer here; the service restores and merges the previous canonical product profile. Never use this field to introduce a different product or SKU.",
        +  "maxLength": 6000,
        +  "minLength": 1,
        +  "type": "string"
        +}
    • Changedrequest_human_review1 field changed
      • addedInput schema / properties / product_profile / properties / clarification_answer
        Added value: +{
        +  "description": "Continuation shortcut for the exact same case_id when answering questions_required. Send the seller's natural-language answer here; the service restores and merges the previous canonical product profile. Never use this field to introduce a different product or SKU.",
        +  "maxLength": 6000,
        +  "minLength": 1,
        +  "type": "string"
        +}
    • Changedwatch_product_regulatory_changes1 field changed
      • addedInput schema / properties / product_profile / properties / clarification_answer
        Added value: +{
        +  "description": "Continuation shortcut for the exact same case_id when answering questions_required. Send the seller's natural-language answer here; the service restores and merges the previous canonical product profile. Never use this field to introduce a different product or SKU.",
        +  "maxLength": 6000,
        +  "minLength": 1,
        +  "type": "string"
        +}
  10. 7 tool updates
    • Changedassess_product_compliance1 field changed
      • addedInput schema / properties / case_id
        Added value: +{
        +  "description": "Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU.",
        +  "pattern": "^ccase_[a-f0-9]{24}$",
        +  "type": "string"
        +}
    • Changedcompare_market_requirements1 field changed
      • addedInput schema / properties / case_id
        Added value: +{
        +  "description": "Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU.",
        +  "pattern": "^ccase_[a-f0-9]{24}$",
        +  "type": "string"
        +}
    • Changedexplain_claim1 field changed
      • addedInput schema / properties / case_id
        Added value: +{
        +  "description": "Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU.",
        +  "pattern": "^ccase_[a-f0-9]{24}$",
        +  "type": "string"
        +}
    • Changedgenerate_next_step_pack2 fields changed
      • addedInput schema / properties / case_id
        Added value: +{
        +  "description": "Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU.",
        +  "pattern": "^ccase_[a-f0-9]{24}$",
        +  "type": "string"
        +}
      • addedInput schema / properties / evidence_observations
        Added value: +{
        +  "default": [],
        +  "description": "Sanitised document observations that may continue between workflow stages: apparent type, filename/reference, models, organisation, date, identifiers, standards, confidence and unresolved issues. Do not include file contents, verbatim extracts, quotations, addresses or unrelated personal information.",
        +  "items": {
        +    "properties": {
        +      "confidence": {
        +        "default": "low",
        +        "enum": [
        +          "low",
        +          "medium",
        +          "high"
        +        ],
        +        "type": "string"
        +      },
        +      "document_date": {
        +        "anyOf": [
        +          {
        +            "maxLength": 80,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "document_reference": {
        +        "anyOf": [
        +          {
        +            "maxLength": 260,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Filename or short seller/agent reference only. Do not send a local path, URL, document body or quotation."
        +      },
        +      "document_type": {
        +        "anyOf": [
        +          {
        +            "maxLength": 160,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Plain-language apparent document type; this does not authenticate or approve the document."
        +      },
        +      "evidence_id": {
        +        "anyOf": [
        +          {
        +            "enum": [
        +              "ce_declaration",
        +              "ce_label_artwork",
        +              "rohs_evidence",
        +              "radio_test_report",
        +              "un38_3_test_summary",
        +              "battery_label_artwork",
        +              "eu_economic_operator",
        +              "weee_registration",
        +              "battery_epr_registration",
        +              "fcc_authorization",
        +              "fcc_sdoc",
        +              "fcc_label_artwork",
        +              "us_responsible_party",
        +              "lithium_shipping_marks",
        +              "prop65_assessment",
        +              "marketplace_safety_report",
        +              "ukca_or_ce_mark",
        +              "uk_rohs_evidence",
        +              "uk_radio_compliance",
        +              "uk_importer_details",
        +              "uk_weee_registration",
        +              "uk_battery_epr_registration",
        +              "uk_un38_3_test_summary",
        +              "uk_marketplace_safety_report",
        +              "au_rcm_supplier_declaration",
        +              "au_radio_compliance",
        +              "au_eess_supplier_evidence",
        +              "au_importer_supplier_details",
        +              "au_battery_shipping_evidence",
        +              "au_marketplace_safety_report",
        +              "toy_safety_assessment",
        +              "en71_mechanical_report",
        +              "en71_chemical_report",
        +              "electrical_toy_report",
        +              "battery_compartment_assessment",
        +              "choking_risk_assessment",
        +              "age_grading_rationale",
        +              "toy_warning_artwork",
        +              "german_warning_copy",
        +              "marketplace_toy_evidence_package",
        +              "toy_third_party_test_report",
        +              "toy_cpc_certificate",
        +              "toy_retesting_plan",
        +              "toy_cbp_efiling_evidence",
        +              "toy_tracking_label_artwork",
        +              "toy_small_parts_warning_artwork",
        +              "uk_toy_declaration",
        +              "uk_en71_report",
        +              "uk_toy_marking",
        +              "uk_toy_importer_details",
        +              "uk_toy_radio_compliance",
        +              "uk_toy_battery_evidence",
        +              "uk_toy_warning_artwork",
        +              "uk_toy_retesting_plan",
        +              "uk_toy_marketplace_evidence_package",
        +              "au_toy_safety_report",
        +              "au_toy_supplier_declaration",
        +              "au_toy_warning_artwork",
        +              "au_toy_importer_details",
        +              "au_toy_radio_compliance",
        +              "au_toy_battery_evidence",
        +              "au_toy_retesting_plan",
        +              "au_toy_marketplace_evidence_package",
        +              "cosmetic_formula_review",
        +              "cosmetic_safety_report",
        +              "cosmetic_pif",
        +              "cosmetic_cpn_notification",
        +              "cosmetic_label_artwork",
        +              "cosmetic_responsible_person",
        +              "cosmetic_claim_substantiation",
        +              "cosmetic_facility_registration",
        +              "cosmetic_adverse_event_process",
        +              "cosmetic_notification",
        +              "food_contact_material_spec",
        +              "food_contact_use_conditions_spec",
        +              "food_contact_migration_report",
        +              "food_contact_plastic_oml_sml_report",
        +              "food_contact_ceramic_glass_release_report",
        +              "food_contact_paper_board_component_review",
        +              "food_contact_coating_adhesive_ink_review",
        +              "food_contact_metal_release_review",
        +              "food_contact_hot_use_protocol",
        +              "food_contact_repeated_use_simulation",
        +              "food_contact_doc",
        +              "food_contact_traceability",
        +              "food_contact_label_artwork",
        +              "food_contact_polymer_resin_clearance",
        +              "food_contact_fda_status",
        +              "food_contact_supplier_declaration",
        +              "food_contact_california_prop65_screen"
        +            ],
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Canonical evidence ID when the apparent document type can be mapped safely; otherwise null."
        +      },
        +      "issuer_or_lab": {
        +        "anyOf": [
        +          {
        +            "maxLength": 200,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Issuing organisation or laboratory name only; omit personal names and addresses."
        +      },
        +      "issues": {
        +        "default": [],
        +        "description": "Concise unresolved checks only; never include document quotations or report text.",
        +        "items": {
        +          "maxLength": 240,
        +          "type": "string"
        +        },
        +        "maxItems": 16,
        +        "type": "array"
        +      },
        +      "models_covered": {
        +        "default": [],
        +        "description": "Model/SKU identifiers explicitly stated by the seller, agent or extracted document facts.",
        +        "items": {
        +          "maxLength": 120,
        +          "type": "string"
        +        },
        +        "maxItems": 20,
        +        "type": "array"
        +      },
        +      "provenance": {
        +        "default": "agent_extraction",
        +        "enum": [
        +          "seller_statement",
        +          "agent_extraction",
        +          "llm_inference",
        +          "keyword_inference"
        +        ],
        +        "type": "string"
        +      },
        +      "report_or_certificate_number": {
        +        "anyOf": [
        +          {
        +            "maxLength": 140,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "standards_referenced": {
        +        "default": [],
        +        "items": {
        +          "maxLength": 160,
        +          "type": "string"
        +        },
        +        "maxItems": 24,
        +        "type": "array"
        +      },
        +      "status": {
        +        "default": "mentioned_uncertain",
        +        "enum": [
        +          "reported_held",
        +          "mentioned_uncertain",
        +          "not_held",
        +          "needs_human_review"
        +        ],
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "maxItems": 40,
        +  "type": "array"
        +}
    • Changedpreflight_product2 fields changed
      • addedInput schema / properties / case_id
        Added value: +{
        +  "description": "Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU.",
        +  "pattern": "^ccase_[a-f0-9]{24}$",
        +  "type": "string"
        +}
      • addedInput schema / properties / evidence_observations
        Added value: +{
        +  "default": [],
        +  "description": "Sanitised document observations that may continue between workflow stages: apparent type, filename/reference, models, organisation, date, identifiers, standards, confidence and unresolved issues. Do not include file contents, verbatim extracts, quotations, addresses or unrelated personal information.",
        +  "items": {
        +    "properties": {
        +      "confidence": {
        +        "default": "low",
        +        "enum": [
        +          "low",
        +          "medium",
        +          "high"
        +        ],
        +        "type": "string"
        +      },
        +      "document_date": {
        +        "anyOf": [
        +          {
        +            "maxLength": 80,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "document_reference": {
        +        "anyOf": [
        +          {
        +            "maxLength": 260,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Filename or short seller/agent reference only. Do not send a local path, URL, document body or quotation."
        +      },
        +      "document_type": {
        +        "anyOf": [
        +          {
        +            "maxLength": 160,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Plain-language apparent document type; this does not authenticate or approve the document."
        +      },
        +      "evidence_id": {
        +        "anyOf": [
        +          {
        +            "enum": [
        +              "ce_declaration",
        +              "ce_label_artwork",
        +              "rohs_evidence",
        +              "radio_test_report",
        +              "un38_3_test_summary",
        +              "battery_label_artwork",
        +              "eu_economic_operator",
        +              "weee_registration",
        +              "battery_epr_registration",
        +              "fcc_authorization",
        +              "fcc_sdoc",
        +              "fcc_label_artwork",
        +              "us_responsible_party",
        +              "lithium_shipping_marks",
        +              "prop65_assessment",
        +              "marketplace_safety_report",
        +              "ukca_or_ce_mark",
        +              "uk_rohs_evidence",
        +              "uk_radio_compliance",
        +              "uk_importer_details",
        +              "uk_weee_registration",
        +              "uk_battery_epr_registration",
        +              "uk_un38_3_test_summary",
        +              "uk_marketplace_safety_report",
        +              "au_rcm_supplier_declaration",
        +              "au_radio_compliance",
        +              "au_eess_supplier_evidence",
        +              "au_importer_supplier_details",
        +              "au_battery_shipping_evidence",
        +              "au_marketplace_safety_report",
        +              "toy_safety_assessment",
        +              "en71_mechanical_report",
        +              "en71_chemical_report",
        +              "electrical_toy_report",
        +              "battery_compartment_assessment",
        +              "choking_risk_assessment",
        +              "age_grading_rationale",
        +              "toy_warning_artwork",
        +              "german_warning_copy",
        +              "marketplace_toy_evidence_package",
        +              "toy_third_party_test_report",
        +              "toy_cpc_certificate",
        +              "toy_retesting_plan",
        +              "toy_cbp_efiling_evidence",
        +              "toy_tracking_label_artwork",
        +              "toy_small_parts_warning_artwork",
        +              "uk_toy_declaration",
        +              "uk_en71_report",
        +              "uk_toy_marking",
        +              "uk_toy_importer_details",
        +              "uk_toy_radio_compliance",
        +              "uk_toy_battery_evidence",
        +              "uk_toy_warning_artwork",
        +              "uk_toy_retesting_plan",
        +              "uk_toy_marketplace_evidence_package",
        +              "au_toy_safety_report",
        +              "au_toy_supplier_declaration",
        +              "au_toy_warning_artwork",
        +              "au_toy_importer_details",
        +              "au_toy_radio_compliance",
        +              "au_toy_battery_evidence",
        +              "au_toy_retesting_plan",
        +              "au_toy_marketplace_evidence_package",
        +              "cosmetic_formula_review",
        +              "cosmetic_safety_report",
        +              "cosmetic_pif",
        +              "cosmetic_cpn_notification",
        +              "cosmetic_label_artwork",
        +              "cosmetic_responsible_person",
        +              "cosmetic_claim_substantiation",
        +              "cosmetic_facility_registration",
        +              "cosmetic_adverse_event_process",
        +              "cosmetic_notification",
        +              "food_contact_material_spec",
        +              "food_contact_use_conditions_spec",
        +              "food_contact_migration_report",
        +              "food_contact_plastic_oml_sml_report",
        +              "food_contact_ceramic_glass_release_report",
        +              "food_contact_paper_board_component_review",
        +              "food_contact_coating_adhesive_ink_review",
        +              "food_contact_metal_release_review",
        +              "food_contact_hot_use_protocol",
        +              "food_contact_repeated_use_simulation",
        +              "food_contact_doc",
        +              "food_contact_traceability",
        +              "food_contact_label_artwork",
        +              "food_contact_polymer_resin_clearance",
        +              "food_contact_fda_status",
        +              "food_contact_supplier_declaration",
        +              "food_contact_california_prop65_screen"
        +            ],
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Canonical evidence ID when the apparent document type can be mapped safely; otherwise null."
        +      },
        +      "issuer_or_lab": {
        +        "anyOf": [
        +          {
        +            "maxLength": 200,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Issuing organisation or laboratory name only; omit personal names and addresses."
        +      },
        +      "issues": {
        +        "default": [],
        +        "description": "Concise unresolved checks only; never include document quotations or report text.",
        +        "items": {
        +          "maxLength": 240,
        +          "type": "string"
        +        },
        +        "maxItems": 16,
        +        "type": "array"
        +      },
        +      "models_covered": {
        +        "default": [],
        +        "description": "Model/SKU identifiers explicitly stated by the seller, agent or extracted document facts.",
        +        "items": {
        +          "maxLength": 120,
        +          "type": "string"
        +        },
        +        "maxItems": 20,
        +        "type": "array"
        +      },
        +      "provenance": {
        +        "default": "agent_extraction",
        +        "enum": [
        +          "seller_statement",
        +          "agent_extraction",
        +          "llm_inference",
        +          "keyword_inference"
        +        ],
        +        "type": "string"
        +      },
        +      "report_or_certificate_number": {
        +        "anyOf": [
        +          {
        +            "maxLength": 140,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "standards_referenced": {
        +        "default": [],
        +        "items": {
        +          "maxLength": 160,
        +          "type": "string"
        +        },
        +        "maxItems": 24,
        +        "type": "array"
        +      },
        +      "status": {
        +        "default": "mentioned_uncertain",
        +        "enum": [
        +          "reported_held",
        +          "mentioned_uncertain",
        +          "not_held",
        +          "needs_human_review"
        +        ],
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "maxItems": 40,
        +  "type": "array"
        +}
    • Changedrequest_human_review3 fields changed
      • changedInput schema / properties / product_profile / description
        Previous value: -"The same product facts used for preflight_product, excluding evidence_notes and evidence_text. Original documents must use the private upload link returned after handoff."New value: +"The same product facts and exact case_id returned by preflight_product, excluding evidence_notes and evidence_text. Original documents must use the private upload link returned after handoff."
      • addedInput schema / properties / product_profile / properties / case_id
        Added value: +{
        +  "description": "Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU.",
        +  "pattern": "^ccase_[a-f0-9]{24}$",
        +  "type": "string"
        +}
      • addedInput schema / properties / product_profile / properties / evidence_observations
        Added value: +{
        +  "default": [],
        +  "description": "Sanitised document observations that may continue between workflow stages: apparent type, filename/reference, models, organisation, date, identifiers, standards, confidence and unresolved issues. Do not include file contents, verbatim extracts, quotations, addresses or unrelated personal information.",
        +  "items": {
        +    "properties": {
        +      "confidence": {
        +        "default": "low",
        +        "enum": [
        +          "low",
        +          "medium",
        +          "high"
        +        ],
        +        "type": "string"
        +      },
        +      "document_date": {
        +        "anyOf": [
        +          {
        +            "maxLength": 80,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "document_reference": {
        +        "anyOf": [
        +          {
        +            "maxLength": 260,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Filename or short seller/agent reference only. Do not send a local path, URL, document body or quotation."
        +      },
        +      "document_type": {
        +        "anyOf": [
        +          {
        +            "maxLength": 160,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Plain-language apparent document type; this does not authenticate or approve the document."
        +      },
        +      "evidence_id": {
        +        "anyOf": [
        +          {
        +            "enum": [
        +              "ce_declaration",
        +              "ce_label_artwork",
        +              "rohs_evidence",
        +              "radio_test_report",
        +              "un38_3_test_summary",
        +              "battery_label_artwork",
        +              "eu_economic_operator",
        +              "weee_registration",
        +              "battery_epr_registration",
        +              "fcc_authorization",
        +              "fcc_sdoc",
        +              "fcc_label_artwork",
        +              "us_responsible_party",
        +              "lithium_shipping_marks",
        +              "prop65_assessment",
        +              "marketplace_safety_report",
        +              "ukca_or_ce_mark",
        +              "uk_rohs_evidence",
        +              "uk_radio_compliance",
        +              "uk_importer_details",
        +              "uk_weee_registration",
        +              "uk_battery_epr_registration",
        +              "uk_un38_3_test_summary",
        +              "uk_marketplace_safety_report",
        +              "au_rcm_supplier_declaration",
        +              "au_radio_compliance",
        +              "au_eess_supplier_evidence",
        +              "au_importer_supplier_details",
        +              "au_battery_shipping_evidence",
        +              "au_marketplace_safety_report",
        +              "toy_safety_assessment",
        +              "en71_mechanical_report",
        +              "en71_chemical_report",
        +              "electrical_toy_report",
        +              "battery_compartment_assessment",
        +              "choking_risk_assessment",
        +              "age_grading_rationale",
        +              "toy_warning_artwork",
        +              "german_warning_copy",
        +              "marketplace_toy_evidence_package",
        +              "toy_third_party_test_report",
        +              "toy_cpc_certificate",
        +              "toy_retesting_plan",
        +              "toy_cbp_efiling_evidence",
        +              "toy_tracking_label_artwork",
        +              "toy_small_parts_warning_artwork",
        +              "uk_toy_declaration",
        +              "uk_en71_report",
        +              "uk_toy_marking",
        +              "uk_toy_importer_details",
        +              "uk_toy_radio_compliance",
        +              "uk_toy_battery_evidence",
        +              "uk_toy_warning_artwork",
        +              "uk_toy_retesting_plan",
        +              "uk_toy_marketplace_evidence_package",
        +              "au_toy_safety_report",
        +              "au_toy_supplier_declaration",
        +              "au_toy_warning_artwork",
        +              "au_toy_importer_details",
        +              "au_toy_radio_compliance",
        +              "au_toy_battery_evidence",
        +              "au_toy_retesting_plan",
        +              "au_toy_marketplace_evidence_package",
        +              "cosmetic_formula_review",
        +              "cosmetic_safety_report",
        +              "cosmetic_pif",
        +              "cosmetic_cpn_notification",
        +              "cosmetic_label_artwork",
        +              "cosmetic_responsible_person",
        +              "cosmetic_claim_substantiation",
        +              "cosmetic_facility_registration",
        +              "cosmetic_adverse_event_process",
        +              "cosmetic_notification",
        +              "food_contact_material_spec",
        +              "food_contact_use_conditions_spec",
        +              "food_contact_migration_report",
        +              "food_contact_plastic_oml_sml_report",
        +              "food_contact_ceramic_glass_release_report",
        +              "food_contact_paper_board_component_review",
        +              "food_contact_coating_adhesive_ink_review",
        +              "food_contact_metal_release_review",
        +              "food_contact_hot_use_protocol",
        +              "food_contact_repeated_use_simulation",
        +              "food_contact_doc",
        +              "food_contact_traceability",
        +              "food_contact_label_artwork",
        +              "food_contact_polymer_resin_clearance",
        +              "food_contact_fda_status",
        +              "food_contact_supplier_declaration",
        +              "food_contact_california_prop65_screen"
        +            ],
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Canonical evidence ID when the apparent document type can be mapped safely; otherwise null."
        +      },
        +      "issuer_or_lab": {
        +        "anyOf": [
        +          {
        +            "maxLength": 200,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Issuing organisation or laboratory name only; omit personal names and addresses."
        +      },
        +      "issues": {
        +        "default": [],
        +        "description": "Concise unresolved checks only; never include document quotations or report text.",
        +        "items": {
        +          "maxLength": 240,
        +          "type": "string"
        +        },
        +        "maxItems": 16,
        +        "type": "array"
        +      },
        +      "models_covered": {
        +        "default": [],
        +        "description": "Model/SKU identifiers explicitly stated by the seller, agent or extracted document facts.",
        +        "items": {
        +          "maxLength": 120,
        +          "type": "string"
        +        },
        +        "maxItems": 20,
        +        "type": "array"
        +      },
        +      "provenance": {
        +        "default": "agent_extraction",
        +        "enum": [
        +          "seller_statement",
        +          "agent_extraction",
        +          "llm_inference",
        +          "keyword_inference"
        +        ],
        +        "type": "string"
        +      },
        +      "report_or_certificate_number": {
        +        "anyOf": [
        +          {
        +            "maxLength": 140,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "standards_referenced": {
        +        "default": [],
        +        "items": {
        +          "maxLength": 160,
        +          "type": "string"
        +        },
        +        "maxItems": 24,
        +        "type": "array"
        +      },
        +      "status": {
        +        "default": "mentioned_uncertain",
        +        "enum": [
        +          "reported_held",
        +          "mentioned_uncertain",
        +          "not_held",
        +          "needs_human_review"
        +        ],
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "maxItems": 40,
        +  "type": "array"
        +}
    • Changedwatch_product_regulatory_changes2 fields changed
      • addedInput schema / properties / product_profile / properties / case_id
        Added value: +{
        +  "description": "Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU.",
        +  "pattern": "^ccase_[a-f0-9]{24}$",
        +  "type": "string"
        +}
      • addedInput schema / properties / product_profile / properties / evidence_observations
        Added value: +{
        +  "default": [],
        +  "description": "Sanitised document observations that may continue between workflow stages: apparent type, filename/reference, models, organisation, date, identifiers, standards, confidence and unresolved issues. Do not include file contents, verbatim extracts, quotations, addresses or unrelated personal information.",
        +  "items": {
        +    "properties": {
        +      "confidence": {
        +        "default": "low",
        +        "enum": [
        +          "low",
        +          "medium",
        +          "high"
        +        ],
        +        "type": "string"
        +      },
        +      "document_date": {
        +        "anyOf": [
        +          {
        +            "maxLength": 80,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "document_reference": {
        +        "anyOf": [
        +          {
        +            "maxLength": 260,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Filename or short seller/agent reference only. Do not send a local path, URL, document body or quotation."
        +      },
        +      "document_type": {
        +        "anyOf": [
        +          {
        +            "maxLength": 160,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Plain-language apparent document type; this does not authenticate or approve the document."
        +      },
        +      "evidence_id": {
        +        "anyOf": [
        +          {
        +            "enum": [
        +              "ce_declaration",
        +              "ce_label_artwork",
        +              "rohs_evidence",
        +              "radio_test_report",
        +              "un38_3_test_summary",
        +              "battery_label_artwork",
        +              "eu_economic_operator",
        +              "weee_registration",
        +              "battery_epr_registration",
        +              "fcc_authorization",
        +              "fcc_sdoc",
        +              "fcc_label_artwork",
        +              "us_responsible_party",
        +              "lithium_shipping_marks",
        +              "prop65_assessment",
        +              "marketplace_safety_report",
        +              "ukca_or_ce_mark",
        +              "uk_rohs_evidence",
        +              "uk_radio_compliance",
        +              "uk_importer_details",
        +              "uk_weee_registration",
        +              "uk_battery_epr_registration",
        +              "uk_un38_3_test_summary",
        +              "uk_marketplace_safety_report",
        +              "au_rcm_supplier_declaration",
        +              "au_radio_compliance",
        +              "au_eess_supplier_evidence",
        +              "au_importer_supplier_details",
        +              "au_battery_shipping_evidence",
        +              "au_marketplace_safety_report",
        +              "toy_safety_assessment",
        +              "en71_mechanical_report",
        +              "en71_chemical_report",
        +              "electrical_toy_report",
        +              "battery_compartment_assessment",
        +              "choking_risk_assessment",
        +              "age_grading_rationale",
        +              "toy_warning_artwork",
        +              "german_warning_copy",
        +              "marketplace_toy_evidence_package",
        +              "toy_third_party_test_report",
        +              "toy_cpc_certificate",
        +              "toy_retesting_plan",
        +              "toy_cbp_efiling_evidence",
        +              "toy_tracking_label_artwork",
        +              "toy_small_parts_warning_artwork",
        +              "uk_toy_declaration",
        +              "uk_en71_report",
        +              "uk_toy_marking",
        +              "uk_toy_importer_details",
        +              "uk_toy_radio_compliance",
        +              "uk_toy_battery_evidence",
        +              "uk_toy_warning_artwork",
        +              "uk_toy_retesting_plan",
        +              "uk_toy_marketplace_evidence_package",
        +              "au_toy_safety_report",
        +              "au_toy_supplier_declaration",
        +              "au_toy_warning_artwork",
        +              "au_toy_importer_details",
        +              "au_toy_radio_compliance",
        +              "au_toy_battery_evidence",
        +              "au_toy_retesting_plan",
        +              "au_toy_marketplace_evidence_package",
        +              "cosmetic_formula_review",
        +              "cosmetic_safety_report",
        +              "cosmetic_pif",
        +              "cosmetic_cpn_notification",
        +              "cosmetic_label_artwork",
        +              "cosmetic_responsible_person",
        +              "cosmetic_claim_substantiation",
        +              "cosmetic_facility_registration",
        +              "cosmetic_adverse_event_process",
        +              "cosmetic_notification",
        +              "food_contact_material_spec",
        +              "food_contact_use_conditions_spec",
        +              "food_contact_migration_report",
        +              "food_contact_plastic_oml_sml_report",
        +              "food_contact_ceramic_glass_release_report",
        +              "food_contact_paper_board_component_review",
        +              "food_contact_coating_adhesive_ink_review",
        +              "food_contact_metal_release_review",
        +              "food_contact_hot_use_protocol",
        +              "food_contact_repeated_use_simulation",
        +              "food_contact_doc",
        +              "food_contact_traceability",
        +              "food_contact_label_artwork",
        +              "food_contact_polymer_resin_clearance",
        +              "food_contact_fda_status",
        +              "food_contact_supplier_declaration",
        +              "food_contact_california_prop65_screen"
        +            ],
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Canonical evidence ID when the apparent document type can be mapped safely; otherwise null."
        +      },
        +      "issuer_or_lab": {
        +        "anyOf": [
        +          {
        +            "maxLength": 200,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Issuing organisation or laboratory name only; omit personal names and addresses."
        +      },
        +      "issues": {
        +        "default": [],
        +        "description": "Concise unresolved checks only; never include document quotations or report text.",
        +        "items": {
        +          "maxLength": 240,
        +          "type": "string"
        +        },
        +        "maxItems": 16,
        +        "type": "array"
        +      },
        +      "models_covered": {
        +        "default": [],
        +        "description": "Model/SKU identifiers explicitly stated by the seller, agent or extracted document facts.",
        +        "items": {
        +          "maxLength": 120,
        +          "type": "string"
        +        },
        +        "maxItems": 20,
        +        "type": "array"
        +      },
        +      "provenance": {
        +        "default": "agent_extraction",
        +        "enum": [
        +          "seller_statement",
        +          "agent_extraction",
        +          "llm_inference",
        +          "keyword_inference"
        +        ],
        +        "type": "string"
        +      },
        +      "report_or_certificate_number": {
        +        "anyOf": [
        +          {
        +            "maxLength": 140,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "standards_referenced": {
        +        "default": [],
        +        "items": {
        +          "maxLength": 160,
        +          "type": "string"
        +        },
        +        "maxItems": 24,
        +        "type": "array"
        +      },
        +      "status": {
        +        "default": "mentioned_uncertain",
        +        "enum": [
        +          "reported_held",
        +          "mentioned_uncertain",
        +          "not_held",
        +          "needs_human_review"
        +        ],
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "maxItems": 40,
        +  "type": "array"
        +}

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables cross-border e-commerce sellers to run pre-listing clearance checks on brand names, listing copy, and logos against tens of millions of registered marks across dozens of jurisdictions, and to see whether an owner is a frequent TRO or Schedule A enforcer. It works as a hosted remote server inside any MCP-compatible AI assistant, with coverage and data-freshness lookups included.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to query cited, current product-safety compliance and recall records, returning only verified official-source data without generating speculative answers.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables US import compliance by providing CBP customs ruling letter searches and antidumping/countervailing duty order lookups, answering how Customs has classified products and whether trade-remedy duties apply.
    71 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources