ComplianceCN — toys, batteries, cosmetics, food contact: CE, GPSR, UN 38.3, CPC/GCC and more
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Source-cited EU/UK/US/AU market-access checks for Amazon and cross-border product compliance.
| Author | io.github.liamohtee |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2948 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"GCC and more": {
"url": "https://compliancecn.netlify.app/mcp?src=official_registry",
"transport": "streamable-http"
}
}
}
Measured tools (11)
market_access_checkFree, 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.
Parameters:
email— string — For request_review_email only: the seller's real notification email, used with their permission.action— string — Follow the returned next_action. Use correct_stage_2 for seller corrections; confirm_stage_1/correct_stage_1 are legacy aliases.answers— object — Optional structured answers keyed by the stable question.key values returned by the previous call.case_id— string — The case this call continues, from an earlier result. Omit to start a new product case.message— string — The seller's initial product/market description or their latest natural-language clarification. Do not repeat information already supplied.language— string — Preferred response language; inferred from the seller message when omitted.consent_to_contact— boolean — For request_review_email: true only with the seller's permission to email them about this case. Reuse existing scoped consent; never infer it.
Hints: read-only no · destructive no · idempotent yes · open-world no
preflight_productread-onlyCheck 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.
Parameters:
case_id— string — The case this call continues, from an earlier result. Omit to start a new product case.markets— array — Optional destination-market hints. Omit when product_description names the destination.category— string — Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.language— string — Language for seller-facing text. Questions and messages come back in it; en or zh.age_group— string — Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.food_type— string — The food the product will contact. Simulant selection for migration testing depends on it.has_radio— boolean — 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— boolean — Whether the product contains or ships with any battery, including a coin cell in a remote.battery_type— string — Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.is_sunscreen— boolean — Whether the product is sold as sun protection. Sunscreens carry separate testing and labelling duties.product_name— string — Human-readable product or SKU namerepeated_use— string — Whether the article is single-use or reused. Repeated use requires migration testing across successive cycles.evidence_held— array — 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— string — 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— string — Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.verified_only— boolean — Exclude decision rules not checked against primary sourceseu_destination— string — Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU.evidence_notes— string — 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— string — How long the product touches food in normal use. Long-term contact triggers stricter migration testing.supply_chain_role— string — The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.applicable_modules— array — Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.claims_therapeutic— boolean — Whether the product claims to treat, prevent or cure anything. A therapeutic claim moves a cosmetic into a different regime.contact_temperature— string — The temperature at contact. Hot fill and cooking raise migration limits and change the test.product_description— string — 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— boolean — Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements.clarification_answer— string — 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— boolean — Whether the full ingredient list has already been checked against restricted-substance annexes.is_childrens_product— boolean — Whether the product is marketed as a children's product; keep unknown when not established.evidence_observations— array — 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— string — The material that touches food. Migration limits and test methods differ by material.accessible_small_parts— boolean — Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use.includes_mains_charger— boolean — Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope.is_electrically_operated— boolean — Whether the toy is electrically operated, including mains-powered or battery-powered operation.evidence_inventory_complete— boolean — 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— string — How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard.toy_chemical_assessment_complete— boolean — Whether a chemical safety assessment covering migration limits has already been completed for this toy.
Hints: read-only yes · destructive no · idempotent yes · open-world no
watch_product_regulatory_changesStart 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.
Parameters:
product_profile(required) — object — The same normalized product profile used for the completed preflight. Do not include document contents or unrelated personal data.email(required) — string — Seller email for product-change alerts. Provide only after the seller explicitly asks for the alert subscription.consent_to_alerts(required) — boolean — Must be true. The seller explicitly agrees to save this product profile and receive matched product-change and subscription-service emails.preflight_result— object — The completed preflight result when available. Its requirement, rule and claim IDs improve future change matching.
Hints: read-only no · destructive no · idempotent no · open-world yes
compare_market_requirementsread-onlyCompare 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.
Parameters:
category(required) — string — Product categorymarkets(required) — arraycase_id— string — The case this call continues, from an earlier result. Omit to start a new product case.language— string — Response language. Defaults to Chinese.age_group— string — Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.food_type— string — The food the product will contact. Simulant selection for migration testing depends on it.has_radio— boolean — 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— boolean — Whether the product contains or ships with any battery, including a coin cell in a remote.battery_type— string — Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.is_sunscreen— boolean — Whether the product is sold as sun protection. Sunscreens carry separate testing and labelling duties.repeated_use— string — Whether the article is single-use or reused. Repeated use requires migration testing across successive cycles.verified_only— boolean — 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— string — Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU.contact_duration— string — How long the product touches food in normal use. Long-term contact triggers stricter migration testing.supply_chain_role— string — The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.claims_therapeutic— boolean — Whether the product claims to treat, prevent or cure anything. A therapeutic claim moves a cosmetic into a different regime.contact_temperature— string — The temperature at contact. Hot fill and cooking raise migration limits and change the test.ingredients_reviewed— boolean — Whether the full ingredient list has already been checked against restricted-substance annexes.is_childrens_product— boolean — Whether the product is marketed as a children's product; keep unknown when not established.food_contact_material— string — The material that touches food. Migration limits and test methods differ by material.accessible_small_parts— boolean — Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use.includes_mains_charger— boolean — Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope.is_electrically_operated— boolean — Whether the toy is electrically operated, including mains-powered or battery-powered operation.battery_compartment_security— string — How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard.toy_chemical_assessment_complete— boolean — Whether a chemical safety assessment covering migration limits has already been completed for this toy.
Hints: read-only yes · destructive no · idempotent yes · open-world no
check_amazon_compliance_requestread-onlyUse 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.
Parameters:
case_id— string — The case this call continues, from an earlier result. Omit to start a new product case.markets— array — Optional destination-market hints. Omit when product_description names the destination.category— string — Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.language— string — Language for seller-facing text. Questions and messages come back in it; en or zh.age_group— string — Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.has_radio— boolean — 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— boolean — Whether the product contains or ships with any battery, including a coin cell in a remote.battery_type— string — Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.product_name— string — Human-readable product or SKU nameevidence_held— array — 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— string — Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.verified_only— boolean — Exclude decision rules not checked against primary sourceseu_destination— string — Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU.supply_chain_role— string — The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.applicable_modules— array — Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.product_description— string — 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— boolean — Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements.is_childrens_product— boolean — Whether the product is marketed as a children's product; keep unknown when not established.accessible_small_parts— boolean — Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use.includes_mains_charger— boolean — Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope.evidence_inventory_complete— boolean — True only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing.
Hints: read-only yes · destructive no · idempotent yes · open-world no
check_battery_transport_documentsread-onlyUse 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.
Parameters:
case_id— string — The case this call continues, from an earlier result. Omit to start a new product case.markets— array — Optional destination-market hints. Omit when product_description names the destination.category— string — Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.language— string — Language for seller-facing text. Questions and messages come back in it; en or zh.has_battery— boolean — Whether the product contains or ships with any battery, including a coin cell in a remote.battery_type— string — Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.product_name— string — Human-readable product or SKU nameevidence_held— array — 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— string — Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.verified_only— boolean — Exclude decision rules not checked against primary sourcessupply_chain_role— string — The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.applicable_modules— array — Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.product_description— string — 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— boolean — Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope.evidence_inventory_complete— boolean — 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— string — How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard.
Hints: read-only yes · destructive no · idempotent yes · open-world no
check_label_and_packagingread-onlyUse 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.
Parameters:
case_id— string — The case this call continues, from an earlier result. Omit to start a new product case.markets— array — Optional destination-market hints. Omit when product_description names the destination.category— string — Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.language— string — Language for seller-facing text. Questions and messages come back in it; en or zh.age_group— string — Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.has_radio— boolean — 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— boolean — Whether the product contains or ships with any battery, including a coin cell in a remote.battery_type— string — Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.product_name— string — Human-readable product or SKU nameevidence_held— array — 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— string — Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.verified_only— boolean — Exclude decision rules not checked against primary sourceseu_destination— string — Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU.supply_chain_role— string — The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.applicable_modules— array — Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.product_description— string — 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— boolean — Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements.is_childrens_product— boolean — Whether the product is marketed as a children's product; keep unknown when not established.food_contact_material— string — The material that touches food. Migration limits and test methods differ by material.accessible_small_parts— boolean — Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use.evidence_inventory_complete— boolean — 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— string — How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard.
Hints: read-only yes · destructive no · idempotent yes · open-world no
check_us_import_certificationread-onlyUse 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.
Parameters:
case_id— string — The case this call continues, from an earlier result. Omit to start a new product case.markets— array — Optional destination-market hints. Omit when product_description names the destination.category— string — Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.language— string — Language for seller-facing text. Questions and messages come back in it; en or zh.age_group— string — Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.has_radio— boolean — 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— boolean — Whether the product contains or ships with any battery, including a coin cell in a remote.battery_type— string — Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.product_name— string — Human-readable product or SKU nameevidence_held— array — 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— string — Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.verified_only— boolean — Exclude decision rules not checked against primary sourcessupply_chain_role— string — The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.applicable_modules— array — Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.product_description— string — 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— boolean — Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements.is_childrens_product— boolean — Whether the product is marketed as a children's product; keep unknown when not established.accessible_small_parts— boolean — Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use.evidence_inventory_complete— boolean — 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— boolean — Whether a chemical safety assessment covering migration limits has already been completed for this toy.
Hints: read-only yes · destructive no · idempotent yes · open-world no
check_eu_declaration_basisread-onlyUse 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.
Parameters:
case_id— string — The case this call continues, from an earlier result. Omit to start a new product case.markets— array — Optional destination-market hints. Omit when product_description names the destination.category— string — Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.language— string — Language for seller-facing text. Questions and messages come back in it; en or zh.age_group— string — Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.has_radio— boolean — 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— boolean — Whether the product contains or ships with any battery, including a coin cell in a remote.battery_type— string — Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.product_name— string — Human-readable product or SKU nameevidence_held— array — 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— string — Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.verified_only— boolean — Exclude decision rules not checked against primary sourceseu_destination— string — Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU.supply_chain_role— string — The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.applicable_modules— array — Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.product_description— string — 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— boolean — Whether the product is marketed as a children's product; keep unknown when not established.food_contact_material— string — The material that touches food. Migration limits and test methods differ by material.includes_mains_charger— boolean — Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope.is_electrically_operated— boolean — Whether the toy is electrically operated, including mains-powered or battery-powered operation.evidence_inventory_complete— boolean — True only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing.
Hints: read-only yes · destructive no · idempotent yes · open-world no
explain_claimread-onlyRetrieve 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.
Parameters:
claim_id(required) — stringcase_id— string — 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.language— string — Response language. Defaults to Chinese.
Hints: read-only yes · destructive no · idempotent yes · open-world no
describe_coverageread-onlyGet 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.
Parameters:
detail— string — Full adds per-market coverage, input definitions and methodology.language— string — Response language. Defaults to Chinese.
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.