ComplianceCN — toys, batteries, cosmetics, food contact: CE, GPSR, UN 38.3, CPC/GCC and more
REMOTE · COMPLIANCECN.NETLIFY.APP
Source-cited EU/UK/US/AU market-access checks for Amazon and cross-border product compliance.
Available components
Last scanned (11 hours ago)
Scores higher than 94% of remote servers
Reachable. Last reached 7 Nov 2026.
Category Security
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Nothing on it is marked destructive, but we can't show that an anonymous caller can only read: full credit needs the server to list at least one tool and every tool to be verifiably read-only. We use a best-effort check of tool names and descriptions to tell read-only tools from tools that change things, so some genuinely read-only tools may not get full credit. Names that start with a read verb (get, list, read, search and similar) and accurate readOnlyHint annotations help. Meet that to earn full credit, or require authorisation. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability72
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 5823 tokens (~447/item across 13 items; 11 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management97
- Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 99% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 11 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 12 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Checks we ran (13)
- TLS certificate
- Authorization
- HTTPS
- HSTS header
- DNSSEC
- Transport
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
Does not apply to this hosted endpoint (2)
- Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
- Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
The score does not measure everything. What the score does not measure →
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 7 Nov 26 0
- Stability: pass → 0.97 functional
- 6 Nov 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 3 Nov 26 +67
- Injection markers: unverified → pass ▲ security
- Authorization: unverified → partial ▲ security
- HTTPS: unverified → pass ▲ security
- Stability: unverified → pass ▲ security
- Transport: fail → pass ▲ security
- Endpoint reachability: not serving MCP → reachable ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- Schema quality: unverified → 100 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- 25 Oct 26 −67
- Endpoint reachability: reachable → not serving MCP ▼ security
- HTTPS: pass → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Authorization: partial → unverified ▼ security
- Stability: pass → unverified ▼ security
- Transport: pass → fail ▼ security
- Capabilities: pass → unverified ▼ functional
- Schema quality: 100 → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 19 Sept 26 0
- Tool “check_amazon_compliance_request” rewrote its description, which is the text the model reads security
- Tool “watch_product_regulatory_changes” rewrote its description, which is the text the model reads security
- Tool “preflight_product” rewrote its description, which is the text the model reads security
- Tool “market_access_check” rewrote its description, which is the text the model reads security
- Tool “explain_claim” rewrote its description, which is the text the model reads security
- Tool “describe_coverage” rewrote its description, which is the text the model reads security
- Tool “compare_market_requirements” rewrote its description, which is the text the model reads security
- Tool “check_us_import_certification” rewrote its description, which is the text the model reads security
- Tool “check_label_and_packaging” rewrote its description, which is the text the model reads security
- Tool “check_eu_declaration_basis” rewrote its description, which is the text the model reads security
- Tool “check_battery_transport_documents” rewrote its description, which is the text the model reads security
- Schema quality: 507 → 447 ▲ functional
- Schema quality: good → excellent functional
- “market_access_check” added an optional parameter “email” cosmetic
- “market_access_check” added an optional parameter “consent_to_contact” cosmetic
- “describe_coverage” added an optional parameter “detail” cosmetic
- “market_access_check” reworded the description of “action” cosmetic
- 12 Sept 26 0
- Stability: 0.97 → pass security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 7 Nov 2026 · Probed https://compliancecn.netlify.app/mcp?src=official_registry
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=*.netlify.app,O=Netlify\, Inc,L=San Francisco,ST=California,C=US | CN=DigiCert Global G2 TLS RSA SHA256 2020 CA1,O=DigiCert Inc,C=US | 16 Feb 2026 | 19 Mar 2027 | ECDSA 256 | SHA256-RSA | cd5d0afb0611b5bd9d692535c0ca7c4 |
| SANs: *.netlify.app, netlify.app | ||||||
| CN=DigiCert Global G2 TLS RSA SHA256 2020 CA1,O=DigiCert Inc,C=US (CA) | CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US | 30 Mar 2021 | 29 Mar 2031 | RSA 2048 | SHA256-RSA | cf5bd062b5602f47ab8502c23ccf066 |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of compliancecn.netlify.app. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | Trust anchor | 20326, 38696 | 8, 8 | Verified |
| app. | DS published | 23684 | 8 | Verified |
| netlify.app. | No DS | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains; preload |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://compliancecn.netlify.app/mcp?src=official_registry | Verified | 200 | |
| http (plaintext) | http://compliancecn.netlify.app/mcp?src=official_registry | HTTPS enforced | 301 | https://compliancecn.netlify.app/mcp?src=official_registry |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
check_amazon_compliance_request Amazon or another marketplace asked for compliance files ~673
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 | Type | Req | Description |
|---|---|---|---|
| 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. |
| age_group | string | – | Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow. |
| applicable_modules | array | – | Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics. |
| battery_type | string | – | Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing. |
| case_id | string | – | The case this call continues, from an earlier result. Omit to start a new product case. |
| category | string | – | Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction. |
| eu_destination | string | – | Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU. |
| 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_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. |
| has_battery | boolean | – | Whether the product contains or ships with any battery, including a coin cell in a remote. |
| 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. |
| 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_childrens_product | boolean | – | Whether the product is marketed as a children's product; keep unknown when not established. |
| language | string | – | Language for seller-facing text. Questions and messages come back in it; en or zh. |
| markets | array | – | Optional destination-market hints. Omit when product_description names the destination. |
| 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 check… |
| product_name | string | – | Human-readable product or SKU name |
| sales_channel | string | – | Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements. |
| sells_in_california | boolean | – | Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements. |
| supply_chain_role | string | – | The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's. |
| verified_only | boolean | – | Exclude decision rules not checked against primary sources |
| Name | Type | Req | Description |
|---|---|---|---|
| ok | boolean | yes | – |
| payload | object | yes | – |
No examples provided.
check_battery_transport_documents Forwarder will not take the battery product ~529
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 | Type | Req | Description |
|---|---|---|---|
| applicable_modules | array | – | Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics. |
| battery_compartment_security | string | – | How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard. |
| battery_type | string | – | Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing. |
| case_id | string | – | The case this call continues, from an earlier result. Omit to start a new product case. |
| category | string | – | Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction. |
| 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_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. |
| has_battery | boolean | – | Whether the product contains or ships with any battery, including a coin cell in a remote. |
| includes_mains_charger | boolean | – | Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope. |
| language | string | – | Language for seller-facing text. Questions and messages come back in it; en or zh. |
| markets | array | – | Optional destination-market hints. Omit when product_description names the destination. |
| 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 check… |
| product_name | string | – | Human-readable product or SKU name |
| sales_channel | string | – | Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements. |
| supply_chain_role | string | – | The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's. |
| verified_only | boolean | – | Exclude decision rules not checked against primary sources |
| Name | Type | Req | Description |
|---|---|---|---|
| ok | boolean | yes | – |
| payload | object | yes | – |
No examples provided.
check_eu_declaration_basis EU declaration basis ~663
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 | Type | Req | Description |
|---|---|---|---|
| age_group | string | – | Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow. |
| applicable_modules | array | – | Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics. |
| battery_type | string | – | Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing. |
| case_id | string | – | The case this call continues, from an earlier result. Omit to start a new product case. |
| category | string | – | Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction. |
| eu_destination | string | – | Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU. |
| 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_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. |
| food_contact_material | string | – | The material that touches food. Migration limits and test methods differ by material. |
| has_battery | boolean | – | Whether the product contains or ships with any battery, including a coin cell in a remote. |
| 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. |
| 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_childrens_product | boolean | – | Whether the product is marketed as a children's product; keep unknown when not established. |
| is_electrically_operated | boolean | – | Whether the toy is electrically operated, including mains-powered or battery-powered operation. |
| language | string | – | Language for seller-facing text. Questions and messages come back in it; en or zh. |
| markets | array | – | Optional destination-market hints. Omit when product_description names the destination. |
| 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 check… |
| product_name | string | – | Human-readable product or SKU name |
| sales_channel | string | – | Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements. |
| supply_chain_role | string | – | The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's. |
| verified_only | boolean | – | Exclude decision rules not checked against primary sources |
| Name | Type | Req | Description |
|---|---|---|---|
| ok | boolean | yes | – |
| payload | object | yes | – |
No examples provided.
check_label_and_packaging Label and packaging review ~691
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 | Type | Req | Description |
|---|---|---|---|
| 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. |
| age_group | string | – | Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow. |
| applicable_modules | array | – | Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics. |
| battery_compartment_security | string | – | How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard. |
| battery_type | string | – | Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing. |
| case_id | string | – | The case this call continues, from an earlier result. Omit to start a new product case. |
| category | string | – | Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction. |
| eu_destination | string | – | Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU. |
| 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_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. |
| food_contact_material | string | – | The material that touches food. Migration limits and test methods differ by material. |
| has_battery | boolean | – | Whether the product contains or ships with any battery, including a coin cell in a remote. |
| 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. |
| is_childrens_product | boolean | – | Whether the product is marketed as a children's product; keep unknown when not established. |
| language | string | – | Language for seller-facing text. Questions and messages come back in it; en or zh. |
| markets | array | – | Optional destination-market hints. Omit when product_description names the destination. |
| 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 check… |
| product_name | string | – | Human-readable product or SKU name |
| sales_channel | string | – | Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements. |
| sells_in_california | boolean | – | Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements. |
| supply_chain_role | string | – | The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's. |
| verified_only | boolean | – | Exclude decision rules not checked against primary sources |
| Name | Type | Req | Description |
|---|---|---|---|
| ok | boolean | yes | – |
| payload | object | yes | – |
No examples provided.
check_us_import_certification US certification and entry filing ~642
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 | Type | Req | Description |
|---|---|---|---|
| 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. |
| age_group | string | – | Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow. |
| applicable_modules | array | – | Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics. |
| battery_type | string | – | Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing. |
| case_id | string | – | The case this call continues, from an earlier result. Omit to start a new product case. |
| category | string | – | Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction. |
| 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_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. |
| has_battery | boolean | – | Whether the product contains or ships with any battery, including a coin cell in a remote. |
| 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. |
| is_childrens_product | boolean | – | Whether the product is marketed as a children's product; keep unknown when not established. |
| language | string | – | Language for seller-facing text. Questions and messages come back in it; en or zh. |
| markets | array | – | Optional destination-market hints. Omit when product_description names the destination. |
| 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 check… |
| product_name | string | – | Human-readable product or SKU name |
| sales_channel | string | – | Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements. |
| sells_in_california | boolean | – | Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements. |
| supply_chain_role | string | – | The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's. |
| toy_chemical_assessment_complete | boolean | – | Whether a chemical safety assessment covering migration limits has already been completed for this toy. |
| verified_only | boolean | – | Exclude decision rules not checked against primary sources |
| Name | Type | Req | Description |
|---|---|---|---|
| ok | boolean | yes | – |
| payload | object | yes | – |
No examples provided.
compare_market_requirements Compare markets ~725
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 | Type | Req | Description |
|---|---|---|---|
| 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. |
| age_group | string | – | Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow. |
| battery_compartment_security | string | – | How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard. |
| battery_type | string | – | Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing. |
| case_id | string | – | The case this call continues, from an earlier result. Omit to start a new product case. |
| category | string | yes | Product category |
| claims_therapeutic | boolean | – | Whether the product claims to treat, prevent or cure anything. A therapeutic claim moves a cosmetic into a different regime. |
| contact_duration | string | – | How long the product touches food in normal use. Long-term contact triggers stricter migration testing. |
| contact_temperature | string | – | The temperature at contact. Hot fill and cooking raise migration limits and change the test. |
| eu_destination | string | – | Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU. |
| food_contact_material | string | – | The material that touches food. Migration limits and test methods differ by material. |
| food_type | string | – | The food the product will contact. Simulant selection for migration testing depends on it. |
| has_battery | boolean | – | Whether the product contains or ships with any battery, including a coin cell in a remote. |
| 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. |
| includes_mains_charger | boolean | – | Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope. |
| 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. |
| is_electrically_operated | boolean | – | Whether the toy is electrically operated, including mains-powered or battery-powered operation. |
| is_sunscreen | boolean | – | Whether the product is sold as sun protection. Sunscreens carry separate testing and labelling duties. |
| language | string | – | Response language. Defaults to Chinese. |
| markets | array | yes | – |
| repeated_use | string | – | Whether the article is single-use or reused. Repeated use requires migration testing across successive cycles. |
| supply_chain_role | string | – | The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's. |
| toy_chemical_assessment_complete | boolean | – | Whether a chemical safety assessment covering migration limits has already been completed for this toy. |
| 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| ok | boolean | yes | – |
| payload | object | yes | – |
No examples provided.
describe_coverage Describe coverage ~81
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 | Type | Req | Description |
|---|---|---|---|
| detail | string | – | Full adds per-market coverage, input definitions and methodology. |
| language | string | – | Response language. Defaults to Chinese. |
| Name | Type | Req | Description |
|---|---|---|---|
| ok | boolean | yes | – |
| payload | object | yes | – |
No examples provided.
explain_claim Explain claim ~113
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 | Type | Req | Description |
|---|---|---|---|
| case_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 reu… |
| claim_id | string | yes | – |
| language | string | – | Response language. Defaults to Chinese. |
| Name | Type | Req | Description |
|---|---|---|---|
| ok | boolean | yes | – |
| payload | object | yes | – |
No examples provided.
market_access_check Product market-access check ~307
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 | Type | Req | Description |
|---|---|---|---|
| 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. |
| 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. |
| string | – | For request_review_email only: the seller's real notification email, used with their permission. | |
| language | string | – | Preferred response language; inferred from the seller message when omitted. |
| message | string | – | The seller's initial product/market description or their latest natural-language clarification. Do not repeat information already supplied. |
| Name | Type | Req | Description |
|---|---|---|---|
| ok | boolean | yes | – |
| payload | object | yes | – |
No examples provided.
preflight_product Structured product readiness check ~1,179
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 | Type | Req | Description |
|---|---|---|---|
| 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. |
| age_group | string | – | Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow. |
| applicable_modules | array | – | Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics. |
| battery_compartment_security | string | – | How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard. |
| battery_type | string | – | Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing. |
| case_id | string | – | The case this call continues, from an earlier result. Omit to start a new product case. |
| category | string | – | Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction. |
| claims_therapeutic | boolean | – | Whether the product claims to treat, prevent or cure anything. A therapeutic claim moves a cosmetic into a different regime. |
| 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 prof… |
| contact_duration | string | – | How long the product touches food in normal use. Long-term contact triggers stricter migration testing. |
| contact_temperature | string | – | The temperature at contact. Hot fill and cooking raise migration limits and change the test. |
| eu_destination | string | – | Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU. |
| 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_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. |
| 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;… |
| 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… |
| 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. |
| food_contact_material | string | – | The material that touches food. Migration limits and test methods differ by material. |
| food_type | string | – | The food the product will contact. Simulant selection for migration testing depends on it. |
| has_battery | boolean | – | Whether the product contains or ships with any battery, including a coin cell in a remote. |
| 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. |
| includes_mains_charger | boolean | – | Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope. |
| 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. |
| is_electrically_operated | boolean | – | Whether the toy is electrically operated, including mains-powered or battery-powered operation. |
| is_sunscreen | boolean | – | Whether the product is sold as sun protection. Sunscreens carry separate testing and labelling duties. |
| language | string | – | Language for seller-facing text. Questions and messages come back in it; en or zh. |
| markets | array | – | Optional destination-market hints. Omit when product_description names the destination. |
| 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 check… |
| product_name | string | – | Human-readable product or SKU name |
| repeated_use | string | – | Whether the article is single-use or reused. Repeated use requires migration testing across successive cycles. |
| sales_channel | string | – | Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements. |
| sells_in_california | boolean | – | Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements. |
| supply_chain_role | string | – | The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's. |
| toy_chemical_assessment_complete | boolean | – | Whether a chemical safety assessment covering migration limits has already been completed for this toy. |
| verified_only | boolean | – | Exclude decision rules not checked against primary sources |
| Name | Type | Req | Description |
|---|---|---|---|
| ok | boolean | yes | – |
| payload | object | yes | – |
No examples provided.
watch_product_regulatory_changes Email me when the rules for this product change ~180
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 | Type | Req | Description |
|---|---|---|---|
| consent_to_alerts | boolean | yes | Must be true. The seller explicitly agrees to save this product profile and receive matched product-change and subscription-service emails. |
| string | yes | Seller email for product-change alerts. Provide only after the seller explicitly asks for the alert subscription. | |
| preflight_result | object | – | The completed preflight result when available. Its requirement, rule and claim IDs improve future change matching. |
| product_profile | object | yes | The same normalized product profile used for the completed preflight. Do not include document contents or unrelated personal data. |
| Name | Type | Req | Description |
|---|---|---|---|
| ok | boolean | yes | – |
| payload | object | yes | – |
No examples provided.
How do I install the ComplianceCN — toys, batteries, cosmetics, food contact… MCP server?
ComplianceCN — toys, batteries, cosmetics, food contact… is a hosted endpoint at https://compliancecn.netlify.app/mcp?src=official_registry, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · compliancecn.netlify.app
claude mcp add --transport http liamohtee-agentcn 'https://compliancecn.netlify.app/mcp?src=official_registry'
What is the ComplianceCN — toys, batteries, cosmetics, food contact… MCP server?
ComplianceCN — toys, batteries, cosmetics, food contact… is an MCP server listed in the public MCP registry as io.github.liamohtee/agentcn. Source-cited EU/UK/US/AU market-access checks for Amazon and cross-border product compliance. This page covers its hosted endpoint (https://compliancecn.netlify.app/mcp?src=official_registry).
Is the ComplianceCN — toys, batteries, cosmetics, food contact… MCP server safe to use?
ComplianceCN — toys, batteries, cosmetics, food contact… scores 87 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the ComplianceCN — toys, batteries, cosmetics, food contact… MCP server expose?
ComplianceCN — toys, batteries, cosmetics, food contact… exposes 11 tools: market_access_check, preflight_product, watch_product_regulatory_changes, compare_market_requirements, check_amazon_compliance_request, and 6 more. Their descriptions and schemas cost roughly 5,783 tokens of context every time the server is loaded.
Does the ComplianceCN — toys, batteries, cosmetics, food contact… MCP server require authentication?
No. We connected to ComplianceCN — toys, batteries, cosmetics, food contact… without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the ComplianceCN — toys, batteries, cosmetics, food contact… MCP server still maintained?
ComplianceCN — toys, batteries, cosmetics, food contact… is still listed as active in the MCP registry. We last reached this channel on 7 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What did VerifyMCP test on the ComplianceCN — toys, batteries, cosmetics, food contact… MCP server?
VerifyMCP ran 13 checks on ComplianceCN — toys, batteries, cosmetics, food contact…, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.