# 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.

- Trust score: 71/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-17

## Components

- remote · `compliancecn.netlify.app`: 71/100 (this document), [markdown](https://verifymcp.io/servers/liamohtee-agentcn/compliancecn-2.md), [page](https://verifymcp.io/servers/liamohtee-agentcn/compliancecn-2)

## Channel facts

- Endpoint: `https://compliancecn.netlify.app/mcp?src=official_registry`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.3.4`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-17.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 67/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 7025 tokens (~540/item across 13 items; 11 tools + 2 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 13/100
  - Stability observed for 4 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 85/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 48% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http liamohtee-agentcn https://compliancecn.netlify.app/mcp?src=official_registry
```

### Codex

```toml
[mcp_servers.liamohtee-agentcn]
url = "https://compliancecn.netlify.app/mcp?src=official_registry"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "liamohtee-agentcn": {
      "type": "remote",
      "url": "https://compliancecn.netlify.app/mcp?src=official_registry",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add liamohtee-agentcn --url https://compliancecn.netlify.app/mcp?src=official_registry --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  liamohtee-agentcn:
    url: "https://compliancecn.netlify.app/mcp?src=official_registry"
```

### Other

```json
{
  "mcpServers": {
    "liamohtee-agentcn": {
      "type": "http",
      "url": "https://compliancecn.netlify.app/mcp?src=official_registry"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-17 (score 71, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-15 (score 70, +1)

- [functional] Server version: 0.3.2 → 0.3.4

### 2026-08-14 (score 69, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-08-13 (score 69)

First indexed and scored.

## MCP tools (11)

### `market_access_check` (~340 tokens)

Product market-access check

Check what a product needs to be sold into the EU, UK, US or Australia. Send a plain-language product description in `message`; the first response already contains preliminary requirements and an evidence checklist you can show the seller immediately. Every response carries a single `next_action` -- execute it exactly as returned to get the refined assessment and, optionally, a human-reviewed pack. Ask any returned questions by their `key`. The reviewed pack requires a confirmed seller email and reviewer sign-off. Send the description in English or Chinese; questions and seller-facing text come back in the seller's language.

Input parameters:

- `action` (string): 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 cor…
- `answers` (object): Optional structured answers keyed by the stable question.key values returned by the previous call.
- `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…
- `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.

Output parameters:

- `ok` (boolean)
- `payload` (object)

### `preflight_product` (~878 tokens)

Structured product readiness check

Single-call readiness check when you already have structured product facts: category, markets and any evidence held. Returns the applicable requirements, an evidence checklist and the gaps in one response, with no follow-up needed. For a plain-language description instead, use market_access_check, which also returns preliminary requirements on its first call and continues into evidence assessment and an optional human-reviewed pack.

Input parameters:

- `accessible_small_parts` (boolean)
- `age_group` (string)
- `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)
- `battery_type` (string)
- `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…
- `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)
- `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)
- `contact_temperature` (string)
- `eu_destination` (string)
- `evidence_held` (array)
- `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)
- `food_type` (string)
- `has_battery` (boolean)
- `has_radio` (boolean)
- `includes_mains_charger` (boolean)
- `ingredients_reviewed` (boolean)
- `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)
- `language` (string): Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized.
- `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)
- `sales_channel` (string): Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized.
- `sells_in_california` (boolean)
- `supply_chain_role` (string): Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized.
- `toy_chemical_assessment_complete` (boolean)
- `verified_only` (boolean): Exclude decision rules not checked against primary sources

Output parameters:

- `ok` (boolean)
- `payload` (object)

### `watch_product_regulatory_changes` (~259 tokens)

Email me when the rules for this product change

Start free email alerts for regulatory changes affecting a product already checked here. Use when a seller says they want to be told if the rules change -- for example "let me know if this changes", "can you monitor this for me?", or "email me about updates". Requires a real top-level email and consent_to_alerts=true; there is no payment and no checkout step. Alerts start immediately and cover human-reviewed ComplianceCN changelog updates matching the saved product, market, requirement or rule profile. It does not guarantee detection of every regulatory change. Call only after a product check has produced a usable product/market profile and the seller has explicitly asked to be notified.

Input parameters:

- `consent_to_alerts` (boolean, required): Must be true. The seller explicitly agrees to save this product profile and receive matched product-change and subscription-service emails.
- `email` (string, required): 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, required): The same normalized product profile used for the completed preflight. Do not include document contents or unrelated personal data.

Output parameters:

- `ok` (boolean)
- `payload` (object)

### `compare_market_requirements` (~521 tokens)

Compare markets

Compare what the same product needs across 2-4 of the EU, UK, US and Australia. Answers immediately from the published ruleset -- no case, no account, no follow-up. Send a category and the markets; partial product facts are fine, and it still returns a presentable comparison. Any optional_refinement_questions are non-blocking: show them if useful, but do not ask them automatically or re-run. For a full readiness assessment of one product, use market_access_check. Access notice: product assessment through market_access_check is free and unlimited -- the first call returns preliminary requirements, and a different product simply starts its own case. Only a second human-reviewed pack for the same confirmed seller email is arranged with ComplianceCN.

Input parameters:

- `accessible_small_parts` (boolean)
- `age_group` (string)
- `battery_compartment_security` (string)
- `battery_type` (string)
- `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…
- `category` (string, required): Product category
- `claims_therapeutic` (boolean)
- `contact_duration` (string)
- `contact_temperature` (string)
- `eu_destination` (string)
- `food_contact_material` (string)
- `food_type` (string)
- `has_battery` (boolean)
- `has_radio` (boolean)
- `includes_mains_charger` (boolean)
- `ingredients_reviewed` (boolean)
- `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)
- `language` (string): Response language. Defaults to Chinese.
- `markets` (array, required)
- `repeated_use` (string)
- `supply_chain_role` (string): Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized.
- `toy_chemical_assessment_complete` (boolean)
- `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.

Output parameters:

- `ok` (boolean)
- `payload` (object)

### `check_amazon_compliance_request` (~945 tokens)

Amazon or another marketplace asked for compliance files

Use when Amazon or another marketplace has asked a seller for compliance files or documents -- for example "Amazon asked me for compliance paperwork", "my listing was taken down pending documents", or "the platform wants safety evidence". Returns the evidence a marketplace typically requests for this product and destination market, which items the seller already holds, and what is still outstanding. Answers immediately from the published ruleset: no case, no account, no follow-up call. Access notice: product assessment through market_access_check is free and unlimited -- the first call returns preliminary requirements, and a different product simply starts its own case. Only a second human-reviewed pack for the same confirmed seller email is arranged with ComplianceCN.

Input parameters:

- `accessible_small_parts` (boolean)
- `age_group` (string)
- `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)
- `battery_type` (string)
- `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…
- `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)
- `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)
- `contact_temperature` (string)
- `eu_destination` (string)
- `evidence_held` (array)
- `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)
- `food_type` (string)
- `has_battery` (boolean)
- `has_radio` (boolean)
- `includes_mains_charger` (boolean)
- `ingredients_reviewed` (boolean)
- `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)
- `language` (string): Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized.
- `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)
- `sales_channel` (string): Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized.
- `sells_in_california` (boolean)
- `supply_chain_role` (string): Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized.
- `toy_chemical_assessment_complete` (boolean)
- `verified_only` (boolean): Exclude decision rules not checked against primary sources

Output parameters:

- `ok` (boolean)
- `payload` (object)

### `check_battery_transport_documents` (~949 tokens)

Forwarder will not take the battery product

Use when a freight forwarder, courier or carrier has refused or queried a battery product -- for example "my forwarder will not ship the lithium battery", "they want the UN 38.3 report", or "the airline rejected my dangerous-goods paperwork". Returns whether a UN 38.3 test summary applies to this cell and pack, the shipping marks required, and the transport documents a forwarder usually asks for. Answers immediately from the published ruleset. Access notice: product assessment through market_access_check is free and unlimited -- the first call returns preliminary requirements, and a different product simply starts its own case. Only a second human-reviewed pack for the same confirmed seller email is arranged with ComplianceCN.

Input parameters:

- `accessible_small_parts` (boolean)
- `age_group` (string)
- `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)
- `battery_type` (string)
- `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…
- `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)
- `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)
- `contact_temperature` (string)
- `eu_destination` (string)
- `evidence_held` (array)
- `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)
- `food_type` (string)
- `has_battery` (boolean)
- `has_radio` (boolean)
- `includes_mains_charger` (boolean)
- `ingredients_reviewed` (boolean)
- `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)
- `language` (string): Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized.
- `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)
- `sales_channel` (string): Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized.
- `sells_in_california` (boolean)
- `supply_chain_role` (string): Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized.
- `toy_chemical_assessment_complete` (boolean)
- `verified_only` (boolean): Exclude decision rules not checked against primary sources

Output parameters:

- `ok` (boolean)
- `payload` (object)

### `check_label_and_packaging` (~935 tokens)

Label and packaging review

Use when a seller is unsure their label, artwork or packaging is correct -- for example "is my CE label right?", "what warnings do I need on the box?", or "does the packaging need an importer address?". Returns the marks, symbols, warning language and responsible-entity details the destination market requires on the artwork, and which of them are evidenced. Answers immediately from the published ruleset. Access notice: product assessment through market_access_check is free and unlimited -- the first call returns preliminary requirements, and a different product simply starts its own case. Only a second human-reviewed pack for the same confirmed seller email is arranged with ComplianceCN.

Input parameters:

- `accessible_small_parts` (boolean)
- `age_group` (string)
- `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)
- `battery_type` (string)
- `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…
- `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)
- `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)
- `contact_temperature` (string)
- `eu_destination` (string)
- `evidence_held` (array)
- `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)
- `food_type` (string)
- `has_battery` (boolean)
- `has_radio` (boolean)
- `includes_mains_charger` (boolean)
- `ingredients_reviewed` (boolean)
- `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)
- `language` (string): Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized.
- `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)
- `sales_channel` (string): Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized.
- `sells_in_california` (boolean)
- `supply_chain_role` (string): Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized.
- `toy_chemical_assessment_complete` (boolean)
- `verified_only` (boolean): Exclude decision rules not checked against primary sources

Output parameters:

- `ok` (boolean)
- `payload` (object)

### `check_us_import_certification` (~945 tokens)

US certification and entry filing

Use when a US importer, customs broker or buyer needs certification or entry-filing data -- for example "my importer wants a CPC", "do I need a GCC?", "what does CBP need at entry?", or "the buyer asked for the FCC SDoC". Returns whether a CPC or GCC applies, the supporting test evidence, the US responsible-party details, and the same data needed at entry. Answers immediately from the published ruleset. Access notice: product assessment through market_access_check is free and unlimited -- the first call returns preliminary requirements, and a different product simply starts its own case. Only a second human-reviewed pack for the same confirmed seller email is arranged with ComplianceCN.

Input parameters:

- `accessible_small_parts` (boolean)
- `age_group` (string)
- `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)
- `battery_type` (string)
- `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…
- `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)
- `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)
- `contact_temperature` (string)
- `eu_destination` (string)
- `evidence_held` (array)
- `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)
- `food_type` (string)
- `has_battery` (boolean)
- `has_radio` (boolean)
- `includes_mains_charger` (boolean)
- `ingredients_reviewed` (boolean)
- `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)
- `language` (string): Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized.
- `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)
- `sales_channel` (string): Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized.
- `sells_in_california` (boolean)
- `supply_chain_role` (string): Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized.
- `toy_chemical_assessment_complete` (boolean)
- `verified_only` (boolean): Exclude decision rules not checked against primary sources

Output parameters:

- `ok` (boolean)
- `payload` (object)

### `check_eu_declaration_basis` (~959 tokens)

EU declaration basis

Use when a buyer, customs authority or distributor wants the EU Declaration of Conformity -- for example "customs is asking for the DoC", "my buyer wants the declaration", or "which directives do I cite?". Returns the legislation and standards a Declaration of Conformity would cite for this product, the evidence held against each, and the fields that still need confirming before anyone signs. This maps the basis for a declaration; it does not issue or sign one. Answers immediately from the published ruleset. Access notice: product assessment through market_access_check is free and unlimited -- the first call returns preliminary requirements, and a different product simply starts its own case. Only a second human-reviewed pack for the same confirmed seller email is arranged with ComplianceCN.

Input parameters:

- `accessible_small_parts` (boolean)
- `age_group` (string)
- `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)
- `battery_type` (string)
- `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…
- `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)
- `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)
- `contact_temperature` (string)
- `eu_destination` (string)
- `evidence_held` (array)
- `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)
- `food_type` (string)
- `has_battery` (boolean)
- `has_radio` (boolean)
- `includes_mains_charger` (boolean)
- `ingredients_reviewed` (boolean)
- `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)
- `language` (string): Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized.
- `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)
- `sales_channel` (string): Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized.
- `sells_in_california` (boolean)
- `supply_chain_role` (string): Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized.
- `toy_chemical_assessment_complete` (boolean)
- `verified_only` (boolean): Exclude decision rules not checked against primary sources

Output parameters:

- `ok` (boolean)
- `payload` (object)

### `explain_claim` (~172 tokens)

Explain claim

Explain only a stable claim_id returned by an earlier ComplianceCN result. Do not use this for broad natural-language questions or invent an ID. Returns the claim, primary-source evidence, verification date and evidence gaps. Access notice: product assessment through market_access_check is free and unlimited -- the first call returns preliminary requirements, and a different product simply starts its own case. Only a second human-reviewed pack for the same confirmed seller email is arranged with ComplianceCN.

Input parameters:

- `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, required)
- `language` (string): Response language. Defaults to Chinese.

Output parameters:

- `ok` (boolean)
- `payload` (object)

### `describe_coverage` (~82 tokens)

Describe coverage

Use when the user or agent needs to inspect scope, source trust or live-service details; do not repeat it before every seller request. Returns versions, category/market coverage, per-record verification, source policy and operational check links. Always start ordinary product requests at Stage 1 with market_access_check.

Input parameters:

- `language` (string): Response language. Defaults to Chinese.

Output parameters:

- `ok` (boolean)
- `payload` (object)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/liamohtee-agentcn/compliancecn-2#diagnostics

## Score history

- 2026-08-17: 71
- 2026-08-16: 70
- 2026-08-15: 70
- 2026-08-14: 69
- 2026-08-13: 69

## Links

- Remote endpoint: https://compliancecn.netlify.app/mcp?src=official_registry
- Repository: https://github.com/liamohtee/AgentCN
- Website: https://compliancecn.netlify.app/
- Changelog RSS feed: https://verifymcp.io/servers/liamohtee-agentcn/compliancecn-2.xml
- Changelog JSON feed: https://verifymcp.io/servers/liamohtee-agentcn/compliancecn-2.json
- HTML version of this page: https://verifymcp.io/servers/liamohtee-agentcn/compliancecn-2
