Chemical safety regulatory reference data: ECHA SVHC Candidate List screening, GHS hazard classifications (468,165 records), NIOSH occupational exposure profiles (677 chemicals), ICSC safety cards, and cross-references to cosmetic ingredient and food additive databases. For chemical hazard assessment, occupational safety, and REACH regulatory compliance.
Three well-named tools with comprehensive descriptions (194 - 392 chars, above baseline 194 avg). All tools have input schemas with type declarations. Tool names follow verb_noun pattern (check_*, search_*). Descriptions include use-case guidance and anti-patterns (e.g., 'Do not use for batch SVHC screening'). However, input parameters lack individual descriptions, only the top-level 'query' and 'substances' params are documented; nested or optional fields are not. Output schemas are not explicitly documented in the code. Error handling and recovery guidance are absent. Security annotations (readOnlyHint) are present but incomplete, no destructiveHint or idempotentHint differentiation across tools.
Retrieve chemical safety and hazard data for a substance used in industrial, cosmetic, or food applications, by name or CAS number. Input: chemical name, technical substance name, synonym, or CAS number (e.g. 'bisphenol A', 'formaldehyde', '80-05-7'). Returns: substance identifiers (CAS, EC number, PubChem CID, InChIKey, SMILES, molecular formula/weight via crosswalk), ECHA SVHC Candidate List status with reason and inclusion date, NIOSH occupational exposure data (REL, PEL, IDLH, exposure routes, symptoms, target organs, health hazards), GHS classification (signal word, hazard statements, pictograms), ICSC safety card data (short/long-term effects, exposure routes), and cross-references to cosmetic ingredient and food additive databases. Sources: ECHA SVHC Candidate List (253 substances), NIOSH Pocket Guide (677 chemicals), GHS classifications (468,165 records), ICSC safety cards, substance identifier crosswalk (73,252 substances). For chemical hazard assessment and regulatory compliance. Do not use for batch SVHC screening (use check_svhc_list), cosmetic formula checks, food additive safety, or drug interactions.
Screen multiple substances against the EU ECHA SVHC Candidate List for REACH regulatory compliance. Input: comma-separated or newline-separated chemical names or CAS numbers (up to 50 substances). Returns per-substance: match status (SVHC or not), resolved CAS number, SVHC substance name, EC number, reason for inclusion (CMR, PBT, vPvB, endocrine disruption, equivalent concern), and date included on Candidate List. Source: ECHA SVHC Candidate List (253 Substances of Very High Concern under EU REACH Regulation). For supply chain SVHC screening and REACH Article 33 compliance. Do not use for full hazard profiles (use check_chemical) or broad hazard discovery (use search_chemicals).
Search chemical safety datasets by hazard keyword, exposure route, organ effect, GHS phrase, or regulatory concept for chemical hazard discovery. Input: hazard keyword (e.g. 'carcinogen', 'respiratory', 'liver', 'skin sensitizer', 'endocrine') with optional dataset filter (svhc, niosh, ghs, icsc, or all). Returns: ranked matches from SVHC (with reason and date), NIOSH (with REL/PEL/IDLH and symptoms), GHS (with hazard statements and pictograms), and ICSC (with exposure effects) — each with dataset label, CAS number, and detail URL. Database: 468,165 GHS records, 677 NIOSH chemicals, 253 SVHC substances, ICSC safety cards. For chemical hazard research and regulatory intelligence. Do not use for exact substance lookup (use check_chemical) or batch SVHC screening (use check_svhc_list).
Input parameter descriptions incomplete. 'query' and 'substances' params have descriptions, but no documentation of expected format (e.g., max length, character restrictions, case sensitivity, synonym handling). Descriptions state 'chemical name, technical substance name, synonym, or CAS number' but do not specify format constraints or examples in the schema itself.
Output schemas not documented. Tool descriptions describe return fields (CAS, EC number, GHS classification, etc.) in prose, but no structured JSON Schema is provided for the response. LLMs cannot infer field types or nesting without explicit schema documentation.
Error handling and recovery guidance absent. No documented error cases, error codes, or recovery instructions. If a chemical is not found or a batch exceeds limits, the LLM has no guidance on what to do next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
Tool annotations incomplete. All three tools are marked readOnlyHint=true, but no distinction between idempotent vs. non-idempotent reads. search_chemicals may have side effects (logging, rate limiting) that should be documented.
Batch size limits mentioned in descriptions but not enforced in schema. check_svhc_list accepts 'up to 50 substances' and search_chemicals has implicit limits, but no maxLength or enum constraints in the input schema to prevent LLM from exceeding them.