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.
- Status
- Healthy
- Uptime
- 99.9% over 42 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 11 tools
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.
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.
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.
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 toolscheck_amazon_compliance_requestAmazon or another marketplace asked for compliance filesARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | No | The case this call continues, from an earlier result. Omit to start a new product case. | |
| markets | No | Optional destination-market hints. Omit when product_description names the destination. | |
| category | No | Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction. | |
| language | No | Language for seller-facing text. Questions and messages come back in it; en or zh. | zh |
| age_group | No | Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow. | |
| has_radio | No | 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. | |
| has_battery | No | Whether the product contains or ships with any battery, including a coin cell in a remote. | |
| battery_type | No | Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing. | |
| product_name | No | Human-readable product or SKU name | |
| evidence_held | No | 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. | |
| sales_channel | No | Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements. | |
| verified_only | No | Exclude decision rules not checked against primary sources | |
| eu_destination | No | Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU. | |
| supply_chain_role | No | The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's. | |
| applicable_modules | No | Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics. | |
| product_description | No | Preferred 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_california | No | Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements. | |
| is_childrens_product | No | Whether the product is marketed as a children's product; keep unknown when not established. | |
| accessible_small_parts | No | Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use. | |
| includes_mains_charger | No | Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope. | |
| evidence_inventory_complete | No | True only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| payload | Yes |
TDQS
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.
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.
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.
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.
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.
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 productARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | No | The case this call continues, from an earlier result. Omit to start a new product case. | |
| markets | No | Optional destination-market hints. Omit when product_description names the destination. | |
| category | No | Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction. | |
| language | No | Language for seller-facing text. Questions and messages come back in it; en or zh. | zh |
| has_battery | No | Whether the product contains or ships with any battery, including a coin cell in a remote. | |
| battery_type | No | Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing. | |
| product_name | No | Human-readable product or SKU name | |
| evidence_held | No | 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. | |
| sales_channel | No | Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements. | |
| verified_only | No | Exclude decision rules not checked against primary sources | |
| supply_chain_role | No | The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's. | |
| applicable_modules | No | Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics. | |
| product_description | No | Preferred 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_charger | No | Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope. | |
| evidence_inventory_complete | No | True only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing. | |
| battery_compartment_security | No | How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| payload | Yes |
TDQS
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.
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.
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.
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.
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.
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 basisARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | No | The case this call continues, from an earlier result. Omit to start a new product case. | |
| markets | No | Optional destination-market hints. Omit when product_description names the destination. | |
| category | No | Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction. | |
| language | No | Language for seller-facing text. Questions and messages come back in it; en or zh. | zh |
| age_group | No | Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow. | |
| has_radio | No | 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. | |
| has_battery | No | Whether the product contains or ships with any battery, including a coin cell in a remote. | |
| battery_type | No | Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing. | |
| product_name | No | Human-readable product or SKU name | |
| evidence_held | No | 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. | |
| sales_channel | No | Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements. | |
| verified_only | No | Exclude decision rules not checked against primary sources | |
| eu_destination | No | Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU. | |
| supply_chain_role | No | The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's. | |
| applicable_modules | No | Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics. | |
| product_description | No | Preferred 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_product | No | Whether the product is marketed as a children's product; keep unknown when not established. | |
| food_contact_material | No | The material that touches food. Migration limits and test methods differ by material. | |
| includes_mains_charger | No | Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope. | |
| is_electrically_operated | No | Whether the toy is electrically operated, including mains-powered or battery-powered operation. | |
| evidence_inventory_complete | No | True only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| payload | Yes |
TDQS
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.
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.
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.
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.
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.
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 reviewARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | No | The case this call continues, from an earlier result. Omit to start a new product case. | |
| markets | No | Optional destination-market hints. Omit when product_description names the destination. | |
| category | No | Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction. | |
| language | No | Language for seller-facing text. Questions and messages come back in it; en or zh. | zh |
| age_group | No | Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow. | |
| has_radio | No | 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. | |
| has_battery | No | Whether the product contains or ships with any battery, including a coin cell in a remote. | |
| battery_type | No | Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing. | |
| product_name | No | Human-readable product or SKU name | |
| evidence_held | No | 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. | |
| sales_channel | No | Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements. | |
| verified_only | No | Exclude decision rules not checked against primary sources | |
| eu_destination | No | Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU. | |
| supply_chain_role | No | The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's. | |
| applicable_modules | No | Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics. | |
| product_description | No | Preferred 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_california | No | Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements. | |
| is_childrens_product | No | Whether the product is marketed as a children's product; keep unknown when not established. | |
| food_contact_material | No | The material that touches food. Migration limits and test methods differ by material. | |
| accessible_small_parts | No | Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use. | |
| evidence_inventory_complete | No | True only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing. | |
| battery_compartment_security | No | How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| payload | Yes |
TDQS
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.
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.
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.
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.
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.
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 filingARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | No | The case this call continues, from an earlier result. Omit to start a new product case. | |
| markets | No | Optional destination-market hints. Omit when product_description names the destination. | |
| category | No | Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction. | |
| language | No | Language for seller-facing text. Questions and messages come back in it; en or zh. | zh |
| age_group | No | Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow. | |
| has_radio | No | 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. | |
| has_battery | No | Whether the product contains or ships with any battery, including a coin cell in a remote. | |
| battery_type | No | Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing. | |
| product_name | No | Human-readable product or SKU name | |
| evidence_held | No | 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. | |
| sales_channel | No | Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements. | |
| verified_only | No | Exclude decision rules not checked against primary sources | |
| supply_chain_role | No | The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's. | |
| applicable_modules | No | Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics. | |
| product_description | No | Preferred 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_california | No | Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements. | |
| is_childrens_product | No | Whether the product is marketed as a children's product; keep unknown when not established. | |
| accessible_small_parts | No | Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use. | |
| evidence_inventory_complete | No | True 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_complete | No | Whether a chemical safety assessment covering migration limits has already been completed for this toy. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| payload | Yes |
TDQS
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.
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.
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.
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.
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.
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 marketsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | No | The case this call continues, from an earlier result. Omit to start a new product case. | |
| markets | Yes | ||
| category | Yes | Product category | |
| language | No | Response language. Defaults to Chinese. | zh |
| age_group | No | Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow. | |
| food_type | No | The food the product will contact. Simulant selection for migration testing depends on it. | |
| has_radio | No | 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. | |
| has_battery | No | Whether the product contains or ships with any battery, including a coin cell in a remote. | |
| battery_type | No | Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing. | |
| is_sunscreen | No | Whether the product is sold as sun protection. Sunscreens carry separate testing and labelling duties. | |
| repeated_use | No | Whether the article is single-use or reused. Repeated use requires migration testing across successive cycles. | |
| verified_only | No | Exclude rules not yet checked against primary sources. Default false: unverified material is included but labelled via review_status and the trust envelope. | |
| eu_destination | No | Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU. | |
| contact_duration | No | How long the product touches food in normal use. Long-term contact triggers stricter migration testing. | |
| supply_chain_role | No | The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's. | |
| claims_therapeutic | No | Whether the product claims to treat, prevent or cure anything. A therapeutic claim moves a cosmetic into a different regime. | |
| contact_temperature | No | The temperature at contact. Hot fill and cooking raise migration limits and change the test. | |
| ingredients_reviewed | No | Whether the full ingredient list has already been checked against restricted-substance annexes. | |
| is_childrens_product | No | Whether the product is marketed as a children's product; keep unknown when not established. | |
| food_contact_material | No | The material that touches food. Migration limits and test methods differ by material. | |
| accessible_small_parts | No | Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use. | |
| includes_mains_charger | No | Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope. | |
| is_electrically_operated | No | Whether the toy is electrically operated, including mains-powered or battery-powered operation. | |
| battery_compartment_security | No | How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard. | |
| toy_chemical_assessment_complete | No | Whether a chemical safety assessment covering migration limits has already been completed for this toy. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| payload | Yes |
TDQS
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.
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.
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.
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.
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.
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 coverageARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | Full adds per-market coverage, input definitions and methodology. | summary |
| language | No | Response language. Defaults to Chinese. | zh |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| payload | Yes |
TDQS
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.
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.
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.
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.
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.
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 claimARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | No | 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. | |
| claim_id | Yes | ||
| language | No | Response language. Defaults to Chinese. | zh |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| payload | Yes |
TDQS
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.
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.
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.
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.
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.
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 checkAIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| No | For request_review_email only: the seller's real notification email, used with their permission. | ||
| action | No | Follow the returned next_action. Use correct_stage_2 for seller corrections; confirm_stage_1/correct_stage_1 are legacy aliases. | continue |
| answers | No | Optional structured answers keyed by the stable question.key values returned by the previous call. | |
| case_id | No | The case this call continues, from an earlier result. Omit to start a new product case. | |
| message | No | The seller's initial product/market description or their latest natural-language clarification. Do not repeat information already supplied. | |
| language | No | Preferred response language; inferred from the seller message when omitted. | |
| consent_to_contact | No | For 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
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| payload | Yes |
TDQS
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.
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.
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.
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.
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.
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 checkARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | No | The case this call continues, from an earlier result. Omit to start a new product case. | |
| markets | No | Optional destination-market hints. Omit when product_description names the destination. | |
| category | No | Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction. | |
| language | No | Language for seller-facing text. Questions and messages come back in it; en or zh. | zh |
| age_group | No | Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow. | |
| food_type | No | The food the product will contact. Simulant selection for migration testing depends on it. | |
| has_radio | No | 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. | |
| has_battery | No | Whether the product contains or ships with any battery, including a coin cell in a remote. | |
| battery_type | No | Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing. | |
| is_sunscreen | No | Whether the product is sold as sun protection. Sunscreens carry separate testing and labelling duties. | |
| product_name | No | Human-readable product or SKU name | |
| repeated_use | No | Whether the article is single-use or reused. Repeated use requires migration testing across successive cycles. | |
| evidence_held | No | 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. | |
| evidence_text | No | 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. | |
| sales_channel | No | Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements. | |
| verified_only | No | Exclude decision rules not checked against primary sources | |
| eu_destination | No | Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU. | |
| evidence_notes | No | 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. | |
| contact_duration | No | How long the product touches food in normal use. Long-term contact triggers stricter migration testing. | |
| supply_chain_role | No | The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's. | |
| applicable_modules | No | Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics. | |
| claims_therapeutic | No | Whether the product claims to treat, prevent or cure anything. A therapeutic claim moves a cosmetic into a different regime. | |
| contact_temperature | No | The temperature at contact. Hot fill and cooking raise migration limits and change the test. | |
| product_description | No | Preferred 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_california | No | Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements. | |
| clarification_answer | No | 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. | |
| ingredients_reviewed | No | Whether the full ingredient list has already been checked against restricted-substance annexes. | |
| is_childrens_product | No | Whether the product is marketed as a children's product; keep unknown when not established. | |
| evidence_observations | No | 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. | |
| food_contact_material | No | The material that touches food. Migration limits and test methods differ by material. | |
| accessible_small_parts | No | Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use. | |
| includes_mains_charger | No | Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope. | |
| is_electrically_operated | No | Whether the toy is electrically operated, including mains-powered or battery-powered operation. | |
| evidence_inventory_complete | No | True only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing. | |
| battery_compartment_security | No | How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard. | |
| toy_chemical_assessment_complete | No | Whether a chemical safety assessment covering migration limits has already been completed for this toy. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| payload | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Seller email for product-change alerts. Provide only after the seller explicitly asks for the alert subscription. | ||
| product_profile | Yes | The same normalized product profile used for the completed preflight. Do not include document contents or unrelated personal data. | |
| preflight_result | No | The completed preflight result when available. Its requirement, rule and claim IDs improve future change matching. | |
| consent_to_alerts | Yes | Must be true. The seller explicitly agrees to save this product profile and receive matched product-change and subscription-service emails. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| payload | Yes |
TDQS
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.
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.
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.
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.
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.
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.
2 tool updates
- Changed
describe_coverage1 field changed- added
Input schema / properties / detailAdded value: +{ + "default": "summary", + "description": "Full adds per-market coverage, input definitions and methodology.", + "enum": [ + "summary", + "full" + ], + "type": "string" +}
- Changed
market_access_check4 fields changed- changed
Input schema / properties / action / descriptionPrevious 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." - changed
Input schema / properties / action / enumPrevious 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" +] - added
Input schema / properties / consent_to_contactAdded 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" +} - added
Input schema / properties / emailAdded value: +{ + "description": "For request_review_email only: the seller's real notification email, used with their permission.", + "maxLength": 320, + "type": "string" +}
9 tool updates
- Changed
check_amazon_compliance_request28 fields changed- added
Input schema / properties / accessible_small_parts / descriptionAdded value: +"Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use." - added
Input schema / properties / age_group / descriptionAdded value: +"Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow." - removed
Input schema / properties / battery_compartment_securityRemoved value: -{ - "enum": [ - "tool_required", - "two_independent_actions", - "other_secured", - "unsecured", - "unknown" - ], - "type": "string" -} - added
Input schema / properties / battery_type / descriptionAdded value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing." - changed
Input schema / properties / case_id / descriptionPrevious 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." - removed
Input schema / properties / claims_therapeuticRemoved value: -{ - "type": "boolean" -} - removed
Input schema / properties / clarification_answerRemoved 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" -} - removed
Input schema / properties / contact_durationRemoved value: -{ - "enum": [ - "short", - "long_term", - "unknown" - ], - "type": "string" -} - removed
Input schema / properties / contact_temperatureRemoved value: -{ - "enum": [ - "ambient", - "hot_fill", - "cooking_reheating", - "freezing", - "unknown" - ], - "type": "string" -} - added
Input schema / properties / eu_destination / descriptionAdded value: +"Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU." - added
Input schema / properties / evidence_held / descriptionAdded 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." - removed
Input schema / properties / evidence_notesRemoved 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" -} - removed
Input schema / properties / evidence_observationsRemoved 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" -} - removed
Input schema / properties / evidence_textRemoved 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" -} - removed
Input schema / properties / food_contact_materialRemoved value: -{ - "enum": [ - "plastic", - "metal", - "ceramic_glass", - "paper_board", - "silicone_rubber", - "multi_material", - "unknown" - ], - "type": "string" -} - removed
Input schema / properties / food_typeRemoved value: -{ - "enum": [ - "dry", - "aqueous", - "acidic", - "fatty", - "alcoholic", - "mixed", - "unknown" - ], - "type": "string" -} - added
Input schema / properties / has_battery / descriptionAdded value: +"Whether the product contains or ships with any battery, including a coin cell in a remote." - added
Input schema / properties / has_radio / descriptionAdded 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." - added
Input schema / properties / includes_mains_charger / descriptionAdded value: +"Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope." - removed
Input schema / properties / ingredients_reviewedRemoved value: -{ - "type": "boolean" -} - removed
Input schema / properties / is_electrically_operatedRemoved value: -{ - "description": "Whether the toy is electrically operated, including mains-powered or battery-powered operation.", - "type": "boolean" -} - removed
Input schema / properties / is_sunscreenRemoved value: -{ - "type": "boolean" -} - changed
Input schema / properties / language / descriptionPrevious 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." - removed
Input schema / properties / repeated_useRemoved value: -{ - "enum": [ - "single_use", - "repeated_use", - "unknown" - ], - "type": "string" -} - changed
Input schema / properties / sales_channel / descriptionPrevious 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." - added
Input schema / properties / sells_in_california / descriptionAdded value: +"Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements." - changed
Input schema / properties / supply_chain_role / descriptionPrevious 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." - removed
Input schema / properties / toy_chemical_assessment_completeRemoved value: -{ - "type": "boolean" -}
- Changed
check_battery_transport_documents29 fields changed- removed
Input schema / properties / accessible_small_partsRemoved value: -{ - "type": "boolean" -} - removed
Input schema / properties / age_groupRemoved value: -{ - "enum": [ - "under_3", - "3_to_13", - "14_plus", - "unknown" - ], - "type": "string" -} - added
Input schema / properties / battery_compartment_security / descriptionAdded value: +"How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard." - added
Input schema / properties / battery_type / descriptionAdded value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing." - changed
Input schema / properties / case_id / descriptionPrevious 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." - removed
Input schema / properties / claims_therapeuticRemoved value: -{ - "type": "boolean" -} - removed
Input schema / properties / clarification_answerRemoved 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" -} - removed
Input schema / properties / contact_durationRemoved value: -{ - "enum": [ - "short", - "long_term", - "unknown" - ], - "type": "string" -} - removed
Input schema / properties / contact_temperatureRemoved value: -{ - "enum": [ - "ambient", - "hot_fill", - "cooking_reheating", - "freezing", - "unknown" - ], - "type": "string" -} - removed
Input schema / properties / eu_destinationRemoved value: -{ - "enum": [ - "DE", - "other_eu", - "unknown" - ], - "type": "string" -} - added
Input schema / properties / evidence_held / descriptionAdded 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." - removed
Input schema / properties / evidence_notesRemoved 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" -} - removed
Input schema / properties / evidence_observationsRemoved 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" -} - removed
Input schema / properties / evidence_textRemoved 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" -} - removed
Input schema / properties / food_contact_materialRemoved value: -{ - "enum": [ - "plastic", - "metal", - "ceramic_glass", - "paper_board", - "silicone_rubber", - "multi_material", - "unknown" - ], - "type": "string" -} - removed
Input schema / properties / food_typeRemoved value: -{ - "enum": [ - "dry", - "aqueous", - "acidic", - "fatty", - "alcoholic", - "mixed", - "unknown" - ], - "type": "string" -} - added
Input schema / properties / has_battery / descriptionAdded value: +"Whether the product contains or ships with any battery, including a coin cell in a remote." - removed
Input schema / properties / has_radioRemoved value: -{ - "type": "boolean" -} - added
Input schema / properties / includes_mains_charger / descriptionAdded value: +"Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope." - removed
Input schema / properties / ingredients_reviewedRemoved value: -{ - "type": "boolean" -} - removed
Input schema / properties / is_childrens_productRemoved value: -{ - "description": "Whether the product is marketed as a children's product; keep unknown when not established.", - "type": "boolean" -} - removed
Input schema / properties / is_electrically_operatedRemoved value: -{ - "description": "Whether the toy is electrically operated, including mains-powered or battery-powered operation.", - "type": "boolean" -} - removed
Input schema / properties / is_sunscreenRemoved value: -{ - "type": "boolean" -} - changed
Input schema / properties / language / descriptionPrevious 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." - removed
Input schema / properties / repeated_useRemoved value: -{ - "enum": [ - "single_use", - "repeated_use", - "unknown" - ], - "type": "string" -} - changed
Input schema / properties / sales_channel / descriptionPrevious 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." - removed
Input schema / properties / sells_in_californiaRemoved value: -{ - "type": "boolean" -} - changed
Input schema / properties / supply_chain_role / descriptionPrevious 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." - removed
Input schema / properties / toy_chemical_assessment_completeRemoved value: -{ - "type": "boolean" -}
- Changed
check_eu_declaration_basis27 fields changed- removed
Input schema / properties / accessible_small_partsRemoved value: -{ - "type": "boolean" -} - added
Input schema / properties / age_group / descriptionAdded value: +"Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow." - removed
Input schema / properties / battery_compartment_securityRemoved value: -{ - "enum": [ - "tool_required", - "two_independent_actions", - "other_secured", - "unsecured", - "unknown" - ], - "type": "string" -} - added
Input schema / properties / battery_type / descriptionAdded value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing." - changed
Input schema / properties / case_id / descriptionPrevious 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." - removed
Input schema / properties / claims_therapeuticRemoved value: -{ - "type": "boolean" -} - removed
Input schema / properties / clarification_answerRemoved 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" -} - removed
Input schema / properties / contact_durationRemoved value: -{ - "enum": [ - "short", - "long_term", - "unknown" - ], - "type": "string" -} - removed
Input schema / properties / contact_temperatureRemoved value: -{ - "enum": [ - "ambient", - "hot_fill", - "cooking_reheating", - "freezing", - "unknown" - ], - "type": "string" -} - added
Input schema / properties / eu_destination / descriptionAdded value: +"Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU." - added
Input schema / properties / evidence_held / descriptionAdded 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." - removed
Input schema / properties / evidence_notesRemoved 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" -} - removed
Input schema / properties / evidence_observationsRemoved 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" -} - removed
Input schema / properties / evidence_textRemoved 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" -} - added
Input schema / properties / food_contact_material / descriptionAdded value: +"The material that touches food. Migration limits and test methods differ by material." - removed
Input schema / properties / food_typeRemoved value: -{ - "enum": [ - "dry", - "aqueous", - "acidic", - "fatty", - "alcoholic", - "mixed", - "unknown" - ], - "type": "string" -} - added
Input schema / properties / has_battery / descriptionAdded value: +"Whether the product contains or ships with any battery, including a coin cell in a remote." - added
Input schema / properties / has_radio / descriptionAdded 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." - added
Input schema / properties / includes_mains_charger / descriptionAdded value: +"Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope." - removed
Input schema / properties / ingredients_reviewedRemoved value: -{ - "type": "boolean" -} - removed
Input schema / properties / is_sunscreenRemoved value: -{ - "type": "boolean" -} - changed
Input schema / properties / language / descriptionPrevious 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." - removed
Input schema / properties / repeated_useRemoved value: -{ - "enum": [ - "single_use", - "repeated_use", - "unknown" - ], - "type": "string" -} - changed
Input schema / properties / sales_channel / descriptionPrevious 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." - removed
Input schema / properties / sells_in_californiaRemoved value: -{ - "type": "boolean" -} - changed
Input schema / properties / supply_chain_role / descriptionPrevious 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." - removed
Input schema / properties / toy_chemical_assessment_completeRemoved value: -{ - "type": "boolean" -}
- Changed
check_label_and_packaging28 fields changed- added
Input schema / properties / accessible_small_parts / descriptionAdded value: +"Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use." - added
Input schema / properties / age_group / descriptionAdded value: +"Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow." - added
Input schema / properties / battery_compartment_security / descriptionAdded value: +"How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard." - added
Input schema / properties / battery_type / descriptionAdded value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing." - changed
Input schema / properties / case_id / descriptionPrevious 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." - removed
Input schema / properties / claims_therapeuticRemoved value: -{ - "type": "boolean" -} - removed
Input schema / properties / clarification_answerRemoved 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" -} - removed
Input schema / properties / contact_durationRemoved value: -{ - "enum": [ - "short", - "long_term", - "unknown" - ], - "type": "string" -} - removed
Input schema / properties / contact_temperatureRemoved value: -{ - "enum": [ - "ambient", - "hot_fill", - "cooking_reheating", - "freezing", - "unknown" - ], - "type": "string" -} - added
Input schema / properties / eu_destination / descriptionAdded value: +"Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU." - added
Input schema / properties / evidence_held / descriptionAdded 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." - removed
Input schema / properties / evidence_notesRemoved 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" -} - removed
Input schema / properties / evidence_observationsRemoved 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" -} - removed
Input schema / properties / evidence_textRemoved 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" -} - added
Input schema / properties / food_contact_material / descriptionAdded value: +"The material that touches food. Migration limits and test methods differ by material." - removed
Input schema / properties / food_typeRemoved value: -{ - "enum": [ - "dry", - "aqueous", - "acidic", - "fatty", - "alcoholic", - "mixed", - "unknown" - ], - "type": "string" -} - added
Input schema / properties / has_battery / descriptionAdded value: +"Whether the product contains or ships with any battery, including a coin cell in a remote." - added
Input schema / properties / has_radio / descriptionAdded 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." - removed
Input schema / properties / includes_mains_chargerRemoved value: -{ - "type": "boolean" -} - removed
Input schema / properties / ingredients_reviewedRemoved value: -{ - "type": "boolean" -} - removed
Input schema / properties / is_electrically_operatedRemoved value: -{ - "description": "Whether the toy is electrically operated, including mains-powered or battery-powered operation.", - "type": "boolean" -} - removed
Input schema / properties / is_sunscreenRemoved value: -{ - "type": "boolean" -} - changed
Input schema / properties / language / descriptionPrevious 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." - removed
Input schema / properties / repeated_useRemoved value: -{ - "enum": [ - "single_use", - "repeated_use", - "unknown" - ], - "type": "string" -} - changed
Input schema / properties / sales_channel / descriptionPrevious 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." - added
Input schema / properties / sells_in_california / descriptionAdded value: +"Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements." - changed
Input schema / properties / supply_chain_role / descriptionPrevious 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." - removed
Input schema / properties / toy_chemical_assessment_completeRemoved value: -{ - "type": "boolean" -}
- Changed
check_us_import_certification28 fields changed- added
Input schema / properties / accessible_small_parts / descriptionAdded value: +"Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use." - added
Input schema / properties / age_group / descriptionAdded value: +"Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow." - removed
Input schema / properties / battery_compartment_securityRemoved value: -{ - "enum": [ - "tool_required", - "two_independent_actions", - "other_secured", - "unsecured", - "unknown" - ], - "type": "string" -} - added
Input schema / properties / battery_type / descriptionAdded value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing." - changed
Input schema / properties / case_id / descriptionPrevious 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." - removed
Input schema / properties / claims_therapeuticRemoved value: -{ - "type": "boolean" -} - removed
Input schema / properties / clarification_answerRemoved 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" -} - removed
Input schema / properties / contact_durationRemoved value: -{ - "enum": [ - "short", - "long_term", - "unknown" - ], - "type": "string" -} - removed
Input schema / properties / contact_temperatureRemoved value: -{ - "enum": [ - "ambient", - "hot_fill", - "cooking_reheating", - "freezing", - "unknown" - ], - "type": "string" -} - removed
Input schema / properties / eu_destinationRemoved value: -{ - "enum": [ - "DE", - "other_eu", - "unknown" - ], - "type": "string" -} - added
Input schema / properties / evidence_held / descriptionAdded 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." - removed
Input schema / properties / evidence_notesRemoved 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" -} - removed
Input schema / properties / evidence_observationsRemoved 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" -} - removed
Input schema / properties / evidence_textRemoved 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" -} - removed
Input schema / properties / food_contact_materialRemoved value: -{ - "enum": [ - "plastic", - "metal", - "ceramic_glass", - "paper_board", - "silicone_rubber", - "multi_material", - "unknown" - ], - "type": "string" -} - removed
Input schema / properties / food_typeRemoved value: -{ - "enum": [ - "dry", - "aqueous", - "acidic", - "fatty", - "alcoholic", - "mixed", - "unknown" - ], - "type": "string" -} - added
Input schema / properties / has_battery / descriptionAdded value: +"Whether the product contains or ships with any battery, including a coin cell in a remote." - added
Input schema / properties / has_radio / descriptionAdded 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." - removed
Input schema / properties / includes_mains_chargerRemoved value: -{ - "type": "boolean" -} - removed
Input schema / properties / ingredients_reviewedRemoved value: -{ - "type": "boolean" -} - removed
Input schema / properties / is_electrically_operatedRemoved value: -{ - "description": "Whether the toy is electrically operated, including mains-powered or battery-powered operation.", - "type": "boolean" -} - removed
Input schema / properties / is_sunscreenRemoved value: -{ - "type": "boolean" -} - changed
Input schema / properties / language / descriptionPrevious 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." - removed
Input schema / properties / repeated_useRemoved value: -{ - "enum": [ - "single_use", - "repeated_use", - "unknown" - ], - "type": "string" -} - changed
Input schema / properties / sales_channel / descriptionPrevious 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." - added
Input schema / properties / sells_in_california / descriptionAdded value: +"Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements." - changed
Input schema / properties / supply_chain_role / descriptionPrevious 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." - added
Input schema / properties / toy_chemical_assessment_complete / descriptionAdded value: +"Whether a chemical safety assessment covering migration limits has already been completed for this toy."
- Changed
compare_market_requirements19 fields changed- added
Input schema / properties / accessible_small_parts / descriptionAdded value: +"Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use." - added
Input schema / properties / age_group / descriptionAdded value: +"Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow." - added
Input schema / properties / battery_compartment_security / descriptionAdded value: +"How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard." - added
Input schema / properties / battery_type / descriptionAdded value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing." - changed
Input schema / properties / case_id / descriptionPrevious 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." - added
Input schema / properties / claims_therapeutic / descriptionAdded value: +"Whether the product claims to treat, prevent or cure anything. A therapeutic claim moves a cosmetic into a different regime." - added
Input schema / properties / contact_duration / descriptionAdded value: +"How long the product touches food in normal use. Long-term contact triggers stricter migration testing." - added
Input schema / properties / contact_temperature / descriptionAdded value: +"The temperature at contact. Hot fill and cooking raise migration limits and change the test." - added
Input schema / properties / eu_destination / descriptionAdded value: +"Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU." - added
Input schema / properties / food_contact_material / descriptionAdded value: +"The material that touches food. Migration limits and test methods differ by material." - added
Input schema / properties / food_type / descriptionAdded value: +"The food the product will contact. Simulant selection for migration testing depends on it." - added
Input schema / properties / has_battery / descriptionAdded value: +"Whether the product contains or ships with any battery, including a coin cell in a remote." - added
Input schema / properties / has_radio / descriptionAdded 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." - added
Input schema / properties / includes_mains_charger / descriptionAdded value: +"Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope." - added
Input schema / properties / ingredients_reviewed / descriptionAdded value: +"Whether the full ingredient list has already been checked against restricted-substance annexes." - added
Input schema / properties / is_sunscreen / descriptionAdded value: +"Whether the product is sold as sun protection. Sunscreens carry separate testing and labelling duties." - added
Input schema / properties / repeated_use / descriptionAdded value: +"Whether the article is single-use or reused. Repeated use requires migration testing across successive cycles." - changed
Input schema / properties / supply_chain_role / descriptionPrevious 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." - added
Input schema / properties / toy_chemical_assessment_complete / descriptionAdded value: +"Whether a chemical safety assessment covering migration limits has already been completed for this toy."
- Changed
market_access_check1 field changed- changed
Input schema / properties / case_id / descriptionPrevious 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."
- Changed
preflight_product23 fields changed- added
Input schema / properties / accessible_small_parts / descriptionAdded value: +"Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use." - added
Input schema / properties / age_group / descriptionAdded value: +"Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow." - added
Input schema / properties / battery_compartment_security / descriptionAdded value: +"How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard." - added
Input schema / properties / battery_type / descriptionAdded value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing." - changed
Input schema / properties / case_id / descriptionPrevious 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." - added
Input schema / properties / claims_therapeutic / descriptionAdded value: +"Whether the product claims to treat, prevent or cure anything. A therapeutic claim moves a cosmetic into a different regime." - added
Input schema / properties / contact_duration / descriptionAdded value: +"How long the product touches food in normal use. Long-term contact triggers stricter migration testing." - added
Input schema / properties / contact_temperature / descriptionAdded value: +"The temperature at contact. Hot fill and cooking raise migration limits and change the test." - added
Input schema / properties / eu_destination / descriptionAdded value: +"Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU." - added
Input schema / properties / evidence_held / descriptionAdded 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." - added
Input schema / properties / food_contact_material / descriptionAdded value: +"The material that touches food. Migration limits and test methods differ by material." - added
Input schema / properties / food_type / descriptionAdded value: +"The food the product will contact. Simulant selection for migration testing depends on it." - added
Input schema / properties / has_battery / descriptionAdded value: +"Whether the product contains or ships with any battery, including a coin cell in a remote." - added
Input schema / properties / has_radio / descriptionAdded 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." - added
Input schema / properties / includes_mains_charger / descriptionAdded value: +"Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope." - added
Input schema / properties / ingredients_reviewed / descriptionAdded value: +"Whether the full ingredient list has already been checked against restricted-substance annexes." - added
Input schema / properties / is_sunscreen / descriptionAdded value: +"Whether the product is sold as sun protection. Sunscreens carry separate testing and labelling duties." - changed
Input schema / properties / language / descriptionPrevious 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." - added
Input schema / properties / repeated_use / descriptionAdded value: +"Whether the article is single-use or reused. Repeated use requires migration testing across successive cycles." - changed
Input schema / properties / sales_channel / descriptionPrevious 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." - added
Input schema / properties / sells_in_california / descriptionAdded value: +"Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements." - changed
Input schema / properties / supply_chain_role / descriptionPrevious 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." - added
Input schema / properties / toy_chemical_assessment_complete / descriptionAdded value: +"Whether a chemical safety assessment covering migration limits has already been completed for this toy."
- Changed
watch_product_regulatory_changes23 fields changed- added
Input schema / properties / product_profile / properties / accessible_small_parts / descriptionAdded value: +"Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use." - added
Input schema / properties / product_profile / properties / age_group / descriptionAdded value: +"Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow." - added
Input schema / properties / product_profile / properties / battery_compartment_security / descriptionAdded value: +"How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard." - added
Input schema / properties / product_profile / properties / battery_type / descriptionAdded value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing." - changed
Input schema / properties / product_profile / properties / case_id / descriptionPrevious 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." - added
Input schema / properties / product_profile / properties / claims_therapeutic / descriptionAdded value: +"Whether the product claims to treat, prevent or cure anything. A therapeutic claim moves a cosmetic into a different regime." - added
Input schema / properties / product_profile / properties / contact_duration / descriptionAdded value: +"How long the product touches food in normal use. Long-term contact triggers stricter migration testing." - added
Input schema / properties / product_profile / properties / contact_temperature / descriptionAdded value: +"The temperature at contact. Hot fill and cooking raise migration limits and change the test." - added
Input schema / properties / product_profile / properties / eu_destination / descriptionAdded value: +"Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU." - added
Input schema / properties / product_profile / properties / evidence_held / descriptionAdded 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." - added
Input schema / properties / product_profile / properties / food_contact_material / descriptionAdded value: +"The material that touches food. Migration limits and test methods differ by material." - added
Input schema / properties / product_profile / properties / food_type / descriptionAdded value: +"The food the product will contact. Simulant selection for migration testing depends on it." - added
Input schema / properties / product_profile / properties / has_battery / descriptionAdded value: +"Whether the product contains or ships with any battery, including a coin cell in a remote." - added
Input schema / properties / product_profile / properties / has_radio / descriptionAdded 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." - added
Input schema / properties / product_profile / properties / includes_mains_charger / descriptionAdded value: +"Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope." - added
Input schema / properties / product_profile / properties / ingredients_reviewed / descriptionAdded value: +"Whether the full ingredient list has already been checked against restricted-substance annexes." - added
Input schema / properties / product_profile / properties / is_sunscreen / descriptionAdded value: +"Whether the product is sold as sun protection. Sunscreens carry separate testing and labelling duties." - changed
Input schema / properties / product_profile / properties / language / descriptionPrevious 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." - added
Input schema / properties / product_profile / properties / repeated_use / descriptionAdded value: +"Whether the article is single-use or reused. Repeated use requires migration testing across successive cycles." - changed
Input schema / properties / product_profile / properties / sales_channel / descriptionPrevious 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." - added
Input schema / properties / product_profile / properties / sells_in_california / descriptionAdded value: +"Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements." - changed
Input schema / properties / product_profile / properties / supply_chain_role / descriptionPrevious 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." - added
Input schema / properties / product_profile / properties / toy_chemical_assessment_complete / descriptionAdded value: +"Whether a chemical safety assessment covering migration limits has already been completed for this toy."
2 tool updates
- Added
check_amazon_compliance_request - Removed
check_marketplace_compliance_request
5 tool updates
- Added
check_battery_transport_documents - Added
check_eu_declaration_basis - Added
check_label_and_packaging - Added
check_marketplace_compliance_request - Added
check_us_import_certification
1 tool update
- Added
preflight_product
1 tool update
- Changed
market_access_check1 field changed- changed
Input schema / properties / action / descriptionPrevious 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."
1 tool update
- Changed
market_access_check2 fields changed- changed
Input schema / properties / action / descriptionPrevious 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." - changed
Input schema / properties / action / enumPrevious 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" +]
6 tool updates
- Removed
assess_product_compliance - Removed
generate_next_step_pack - Added
market_access_check - Removed
preflight_product - Removed
register_mcp_contact - Removed
request_human_review
4 tool updates
- Changed
generate_next_step_pack1 field changed- added
Input schema / properties / clarification_answerAdded 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" +}
- Changed
preflight_product1 field changed- added
Input schema / properties / clarification_answerAdded 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" +}
- Changed
request_human_review1 field changed- added
Input schema / properties / product_profile / properties / clarification_answerAdded 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" +}
- Changed
watch_product_regulatory_changes1 field changed- added
Input schema / properties / product_profile / properties / clarification_answerAdded 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" +}
7 tool updates
- Changed
assess_product_compliance1 field changed- added
Input schema / properties / case_idAdded 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" +}
- Changed
compare_market_requirements1 field changed- added
Input schema / properties / case_idAdded 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" +}
- Changed
explain_claim1 field changed- added
Input schema / properties / case_idAdded 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" +}
- Changed
generate_next_step_pack2 fields changed- added
Input schema / properties / case_idAdded 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" +} - added
Input schema / properties / evidence_observationsAdded 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" +}
- Changed
preflight_product2 fields changed- added
Input schema / properties / case_idAdded 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" +} - added
Input schema / properties / evidence_observationsAdded 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" +}
- Changed
request_human_review3 fields changed- changed
Input schema / properties / product_profile / descriptionPrevious 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." - added
Input schema / properties / product_profile / properties / case_idAdded 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" +} - added
Input schema / properties / product_profile / properties / evidence_observationsAdded 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" +}
- Changed
watch_product_regulatory_changes2 fields changed- added
Input schema / properties / product_profile / properties / case_idAdded 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" +} - added
Input schema / properties / product_profile / properties / evidence_observationsAdded 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
Cited product-compliance ground truth for AI agents. Never generates; always cites.
Export compliance & HS code lookup for cross-border electronics sellers and factories.
Before-payment check for China quotes to US/EU: costs, low-value rules, and compliance blockers.
VAT registration, US sales-tax nexus and filing calendars for cross-border sellers
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables 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

verityofficial
AlicenseNot gradedqualityAmaintenanceEnables AI agents to query cited, current product-safety compliance and recall records, returning only verified official-source data without generating speculative answers.MIT- AlicenseNot gradedqualityCmaintenanceEnables 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 npmMIT
- FlicenseNot gradedqualityBmaintenanceEnables automated evaluation of e-commerce advertising content against compliance policies, detecting prohibited claims and trademarks through an MCP-compatible interface.8-
Glama MCP Gateway
Add one secure layer between your agents and this server.