# China NMPA Medical Device Data

> Structured China NMPA UDI data for AI agents: devices, registrants, models and registration numbers.

- name: io.github.huangjunsong404-crypto/china-nmpa-udi
- version: 1.0.1
- connection class: unknown (unknown)
- trust: 64/100 flags: unreachable
- quality: 88/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.huangjunsong404-crypto%2Fchina-nmpa-udi
- tools: https://api.protogrid.dev/v1/servers/io.github.huangjunsong404-crypto%2Fchina-nmpa-udi/tools

**Not classified yet.** The remote endpoints have not been probed successfully, or the listing has nothing to connect to.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "china-nmpa-udi": {
      "type": "http",
      "url": "https://mcp.agentdatacore.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 9
- freshness: 85
- provenance: 80
- drivers: +repository +namespace-matches-repo -unreachable(3 failures) ~updated-35d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 88/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 21 of 21 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- warn `tools.token_cost`: about 9,214 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 21, about 9,214 tokens to load them all
- tool set hash: 64b262688cdb69c35cf6019389d05cfa
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.huangjunsong404-crypto/china-nmpa-udi.svg)](https://protogrid.dev/servers/io.github.huangjunsong404-crypto/china-nmpa-udi)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://mcp.agentdatacore.com/mcp (streamable-http, auth none, reachable false, uptime30d 0.9736842)

## Packages

_none_

## Tools (21)

- `find_ccc_products`: Find CCC catalog product entries by product or category text. Inputs: product. Returns paginated structured records with source_class, provenance, snapshot, pagination and limits. Catalog matches only; does not determine certification or legal applicability. No match returns an empty data array. Required: product. Missing required or invalid input produces an argument error.
- `find_ccc_standard_references`: Find occurrences of a recorded standard number in CCC reference metadata. Inputs: standard_number. Returns paginated structured records with source_class, provenance, snapshot, pagination and limits. Reference occurrences only; does not imply equivalence or applicability. No match returns an empty data array. Required: standard_number. Missing required or invalid input produces an argument error.
- `find_country_institutions`: Find recorded institutions and roles for a country, optionally filtered by institution text. Inputs: country, institution. Returns paginated structured records with source_class, provenance, snapshot, pagination and limits. Recorded facts only; this query performs no new inference or aggregation. Coverage is limited to the available snapshot. No match returns an empty data array. Required: country. Missing required or invalid input produces an argument error.
- `find_license_catalog_items`: Find licence catalog entries by recorded product or commodity text. Inputs: product. Returns paginated structured records with source_class, provenance, snapshot, pagination and limits. Recorded facts only; this query performs no new inference or aggregation. Coverage is limited to the available snapshot. No match returns an empty data array. Required: product. Missing required or invalid input produces an argument error.
- `get_ccc_rule_versions`: Find recorded versions and dates for a CCC rule number. Inputs: rule_number. Returns paginated structured records with source_class, provenance, snapshot, pagination and limits. Recorded version facts only; does not infer legal applicability. No match returns an empty data array. Required: rule_number. Missing required or invalid input produces an argument error.
- `get_customs_commodity_trade`: Query China import or export observations by recorded major-commodity label. Inputs: period, commodity, flow and optional metric. Selected exact Chinese aliases and normalized existing names are supported; this is not general translation or HS-code classification. Returns trade_value or quantity observations with original commodity labels, units, scope, source_class, provenance, snapshot, pagination and limits. No category merging or conversion. No match returns an empty data array. Required: period, commodity, flow. Missing required or invalid input produces an argument error.
- `get_customs_country_trade`: Query China merchandise trade by partner country/region, including all-partner totals using country TOTAL. Inputs: period, country and optional flow. IMPORT and EXPORT are China imports and exports; BOTH is recorded combined trade. Returns recorded trade values and units (currently 1000USD), scope, source_class, provenance, snapshot, pagination and limits. No commodity filter or currency conversion. No match returns an empty data array. Required: period, country. Missing required or invalid input produces an argument error.
- `get_foreign_investment_stats`: Find foreign-investment observations for a statistical year, optionally filtered by country or measure. Inputs: year, country, metric. Returns paginated structured records with source_class, provenance, snapshot, pagination and limits. Recorded facts only; this query performs no new inference or aggregation. Coverage is limited to the available snapshot. No match returns an empty data array. Required: year. Missing required or invalid input produces an argument error.
- `get_gazette_items`: Find entries in a gazette issue, optionally filtered by document number. Inputs: issue, document_number. Returns paginated structured records with source_class, provenance, snapshot, pagination and limits. Recorded facts only; this query performs no new inference or aggregation. Coverage is limited to the available snapshot. No match returns an empty data array. Required: issue. Missing required or invalid input produces an argument error.
- `get_information_standard`: Retrieve definitions of information formation classes, provenance fields and snapshot/version metadata. Takes no arguments. Returns the information-standard document, not business records or an assessment of facts.
- `get_mofcom_trade_stats`: Query collected country-workbook trade observations (flows relative to the named reporting country) or China–Portuguese-speaking-country bilateral year-to-date observations. Inputs: period and optional country, flow and metric. This collection is not China national all-partner monthly totals. Returns original structured observations, units, scope, source_class, provenance, snapshot, pagination and limits. No conversion, aggregation or cross-period calculation. No match returns an empty data array. Required: period. Missing required or invalid input produces an argument error.
- `get_recall_record`: Retrieve a recall notice or detail record using an existing search-result identifier. Inputs: record_id. Returns paginated structured records with source_class, provenance, snapshot, pagination and limits. Recorded facts only; this query performs no new inference or aggregation. Coverage is limited to the available snapshot. No match returns an empty data array. Required: record_id. Missing required or invalid input produces an argument error.
- `get_standard_metadata`: Retrieve standard metadata when its recorded standard number is known. Inputs: standard_number. Returns paginated structured records with source_class, provenance, snapshot, pagination and limits. Metadata only; no standard full text. No match returns an empty data array. Required: standard_number. Missing required or invalid input produces an argument error.
- `get_udi_company_products`: Find recorded medical-device products associated with a company or registrant name. Inputs: company. Returns paginated structured records with source_class, provenance, snapshot, pagination and limits. Recorded facts only; this query performs no new inference or aggregation. Coverage is limited to the available snapshot. No match returns an empty data array. Required: company. Missing required or invalid input produces an argument error.
- `get_udi_device`: Look up medical-device records when a UDI identifier is known. Inputs: udi. Returns paginated structured records with source_class, provenance, snapshot, pagination and limits. Recorded facts only; this query performs no new inference or aggregation. Coverage is limited to the available snapshot. No match returns an empty data array. Required: udi. Missing required or invalid input produces an argument error.
- `get_udi_registration_products`: Find medical-device records associated with a registration or filing number. Inputs: registration_no. Returns paginated structured records with source_class, provenance, snapshot, pagination and limits. Recorded facts only; this query performs no new inference or aggregation. Coverage is limited to the available snapshot. No match returns an empty data array. Required: registration_no. Missing required or invalid input produces an argument error.
- `search_policy_facts`: Find policy and document facts by title or document-number text. Inputs: query. Returns paginated structured records with source_class, provenance, snapshot, pagination and limits. Recorded facts only; this query performs no new inference or aggregation. Coverage is limited to the available snapshot. No match returns an empty data array. Required: query. Missing required or invalid input produces an argument error.
- `search_recalls`: Find recall notices and detail records by product, manufacturer or title text. Inputs: query. Returns paginated structured records with source_class, provenance, snapshot, pagination and limits. Recorded notices only; an empty result does not establish absence of recalls. No match returns an empty data array. Required: query. Missing required or invalid input produces an argument error.
- `search_standard_metadata`: Find standard metadata by title text, optionally filtered by its recorded status. Inputs: query, status. Returns paginated structured records with source_class, provenance, snapshot, pagination and limits. Metadata only; no standard full text. No match returns an empty data array. Required: query. Missing required or invalid input produces an argument error.
- `search_udi_category`: Find medical devices by a recorded category name or classification code. Inputs: category. Returns paginated structured records with source_class, provenance, snapshot, pagination and limits. Recorded facts only; this query performs no new inference or aggregation. Coverage is limited to the available snapshot. No match returns an empty data array. Required: category. Missing required or invalid input produces an argument error.
- `search_udi_products`: Find medical devices by product or trade-name text. Inputs: query. Returns paginated structured records with source_class, provenance, snapshot, pagination and limits. Recorded facts only; this query performs no new inference or aggregation. Coverage is limited to the available snapshot. No match returns an empty data array. Required: query. Missing required or invalid input produces an argument error.
