RegAffairs AI
Server Details
Cited answers on chemical, food, pharma, device, cosmetic and pesticide rules, linked to sources.
- Status
- Healthy
- Uptime
- 83.7% over 19 days
- OAuth
- Requires browser extension
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 15 tools
The tools are largely separated by industry vertical and action, with explicit 'not intended for' notes that clarify boundaries. However, regaffairs_ask_question, regaffairs_search_regulations, and some broad industry checks can still overlap for cross-cutting regulatory questions, so an agent may occasionally hesitate between them.
All tool names use the same regaffairs_ prefix followed by a snake_case verb_noun pattern such as check_chemical_substance, get_ghs_hazard_classification, and search_regulations. The verbs vary appropriately by action and no inconsistent casing or naming style appears.
The server has 15 tools, which is within a well-scoped range for a multi-industry regulatory research platform. Each tool covers a meaningful domain slice or orchestration function, and none appears redundant or trivially included.
The surface covers major regulatory domains including chemicals, biocides, cosmetics, food, pesticides, pharmaceuticals, devices, textiles, GHS, and workplace exposure limits, along with general research and catalogue tools. Minor gaps remain, such as dedicated MDR/IVDR legal-requirement guidance and modal transport rules beyond the US DOT table, but generic search and ask tools provide workarounds.
Available Tools
15 toolsregaffairs_ask_questionAsk a regulatory question (full cited answer)AInspect
Answers a regulatory question that needs reasoning across several sources, jurisdictions or industries, or one that no industry tool covers. Examples: "is X restricted and what must my SDS say", "compare EU and GB rules for Y", "who must notify, by when, under which article". The tool runs the RegAffairs AI research agent over more than 1,400 regulator datasets and returns a written answer with numbered citations. Sources include ECHA REACH and CLP lists, EU food, cosmetics, plant protection and biocides law, HSE, US EPA TSCA, FDA 21 CFR, California Prop 65, EudraLex Volume 4 GMP, ICH, EMA and Health Canada. Each citation links to the source document. The tool can take up to a minute. If it is still running, it returns status: "running" and an answer_id for regaffairs_get_answer_status. Each call counts as one question on the user's RegAffairs AI plan and is saved to their history. Not intended for a single fact that an industry tool answers (one substance's list status or classification, an exposure limit, an ingredient's status, an MRL, a drug or device register entry). Not intended for legal advice, clinical trial design or FDA submission strategy.
| Name | Required | Description | Default |
|---|---|---|---|
| industry | No | Optional hint. | |
| question | Yes | The question in the user's words. Include substance names with CAS/EC numbers, the product type and the market when known. | |
| jurisdictions | No | Optional ISO codes to focus on, e.g. ["EU","GB","US","US-CA","TR","CA","BR"]. |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| message | No | |
| sources | Yes | |
| answer_id | Yes | |
| truncated | No | |
| answer_url | No | |
| answer_markdown | No | |
| web_sources_used | Yes | |
| datasets_searched | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the annotations: the possible ~1 minute latency, the async fallback returning status "running" plus an answer_id for regaffairs_get_answer_status, that sources are 1,400+ regulator datasets with linked citations, and that each call consumes one question on the user's plan and is saved to history. The only gap is that nothing warns whether an in-flight answer can be reused or re-asked without consuming another credit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose and exclusions before the source inventory; every sentence carries routing or behavioral information. The long list of covered regulators and source names is the least essential portion and could be trimmed given regaffairs_list_covered_regulations exists, but nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an open-world, quota-consuming research call with an output schema, the description covers routing, latency, the async status contract, credit cost and persistence. An agent has everything needed to decide to call it and to handle both the immediate-answer and running cases correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so question, industry and jurisdictions are all already documented in the schema, including the ISO-code example format and the advice to include CAS/EC numbers and market. The description reinforces the question style via examples but adds no parameter-level guidance beyond what the schema provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (answers a regulatory question) with an explicit scope: questions needing reasoning across several sources, jurisdictions or industries, or ones no industry tool covers. It names the sibling family it is not meant to replace (single-fact industry checks) and gives concrete example phrasings, so an agent can route correctly without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use criteria (multi-source, multi-jurisdiction, cross-industry reasoning), an explicit when-not-to-use list enumerating exactly the single-fact queries the check_* siblings handle (list status, classification, exposure limit, ingredient status, MRL, register entry), and excludes legal advice, trial design and submission strategy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regaffairs_check_biocide_active_substanceCheck a biocide active substance, product type or disinfectant registrationARead-onlyIdempotentInspect
Checks whether a biocidal active substance is approved and for which product types (PT1 to PT22), whether a supplier is on the Article 95 list, whether a biocidal product or disinfectant is authorised, and which EPA-registered disinfectants work against a pathogen. EU coverage: BPR active substance approvals, the Article 95 supplier list, Union authorised biocidal products, BPC opinions and the product type definitions. National: the GB biocides active substances, GB Article 95 list and GB biocidal products register (HSE), the French SIMMBAD inventory and the ANSES biocide decisions register, and the German BAuA register of notified biocidal products. US: EPA List N and the other selected EPA-registered disinfectant lists by pathogen. Canada: Health Canada's archived COVID-19 lists of hard-surface disinfectants and hand sanitizers. Give an active substance or a product name. Not intended for plant protection products or MRLs (regaffairs_check_pesticide_approval_and_mrl covers those).
| Name | Required | Description | Default |
|---|---|---|---|
| product_name | No | Biocidal product or disinfectant name, or an EPA registration number. Give active_substance or product_name. | |
| product_type | No | e.g. 'PT18' (insecticides), 'PT8' (wood preservatives). | |
| jurisdictions | No | ||
| target_pathogen | No | For US disinfectant lists, e.g. 'SARS-CoV-2', 'norovirus', 'C. difficile'. | |
| active_substance | No | Active substance name or CAS, e.g. 'permethrin', 'hydrogen peroxide'. Give active_substance or product_name. | |
| include_suppliers | No | Add Article 95 supplier entries. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| sources | Yes | |
| not_found | Yes | |
| truncated | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavioral context by disclosing the exact data sources consulted (BPR, Article 95, BPC opinions, HSE/GB, SIMMBAD, ANSES, BAuA, EPA List N, Health Canada), which tells the agent what answers are grounded in.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core purpose, then organizes the source list into labeled groups (EU / National / US / Canada), which makes the length scannable. The jurisdiction-by-jurisdiction register enumeration is dense and borders on over-long, but each group carries real routing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values needn't be described, and the description fully covers scope, supported jurisdictions, input convention, and the exclusion boundary. For a 6-param, zero-required, multi-jurisdiction lookup tool, nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83%, so the schema does most of the work (baseline 3). The description adds meaning by framing the PT1–PT22 product-type range, explaining that target_pathogen drives US disinfectant lists, and tying include_suppliers to the Article 95 list, which goes beyond the field-level descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource ('Checks whether a biocidal active substance is approved') and enumerates the exact facets covered (active substance approval, Article 95 list, product authorization, EPA disinfectant lists). It explicitly carves out the sibling regaffairs_check_pesticide_approval_and_mrl, so an agent can distinguish it without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States the input convention ('Give an active substance or a product name') and an explicit exclusion with the alternative tool named for plant protection/MRLs. It lacks guidance on choosing among the sibling check_* tools (e.g. check_chemical_substance) or when to set jurisdictions, so it stops short of full when/when-not coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regaffairs_check_chemical_substanceCheck a chemical substance: REACH, SVHC, TSCA, Prop 65 statusARead-onlyIdempotentInspect
Checks whether one or more chemical substances (name, CAS or EC number) are registered, listed, restricted or banned, and screens a bill of materials. It resolves the identity against the ECHA C&L Inventory and REACH registered substances, the EU customs inventory (ECICS), the US TSCA Inventory, the Australian AICIS inventory and the Turkish chemical inventory. It then checks the ECHA SVHC Candidate List, REACH Annex XIV (authorisation, with sunset dates), REACH Annex XVII (restrictions, with entry conditions), CoRAP and POPs; the UK REACH candidate, authorisation and restriction lists (HSE) and the UK REACH candidate list policy paper (Defra); Turkey KKDIK Annex 17; US EPA TSCA section 6 risk management rules, SNURs and PFAS reporting; the California Prop 65 list with safe harbor levels; Belgian PFAS restrictions; and the AICIS banned and restricted chemicals list. Accepts up to 50 substances. A substance missing from a list is reported as not listed on it. Not intended for hazard classification, pictograms or UN numbers (regaffairs_get_ghs_hazard_classification covers those), exposure limits (regaffairs_get_workplace_exposure_limits), or cosmetic, food, pesticide or biocide ingredient status (the matching industry tools cover those).
| Name | Required | Description | Default |
|---|---|---|---|
| lists | No | Default: all lists for the chosen jurisdictions. | |
| substances | Yes | Names, CAS (e.g. 80-05-7) or EC numbers (e.g. 201-245-8). | |
| identity_only | No | Only resolve name, CAS and EC (for ambiguous names, salts, hydrates, group entries). | |
| jurisdictions | No | Default: all. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| sources | Yes | |
| not_found | Yes | |
| truncated | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds genuine behavioral context beyond the annotations: the identity-resolution step, the 50-substance cap, and the important semantic rule that absence from a list is reported as 'not listed'. It stops short of describing return format or partial-failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and delivery are front-loaded in the first sentence, and the exclusions close the paragraph cleanly. The middle enumeration of every inventory and list is lengthy and somewhat padded, but it directly informs list selection, so it earns most of its space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations carry the safety profile. Combined with full scope, jurisdiction/list coverage, the 50-item limit and explicit sibling boundaries, an agent has everything needed to invoke this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description nevertheless glosses the meaning of `lists` (naming the actual regulatory mechanisms behind the enums) and `identity_only`, and confirms the accepted identifier formats (name, CAS, EC) — adding real meaning over the schema's terse per-field text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('Checks whether one or more chemical substances... are registered, listed, restricted or banned') and scopes it further ('screens a bill of materials'). It also names the sibling tools it is NOT (GHS hazard classification, workplace exposure limits, industry-specific ingredient checks), so an agent can differentiate it without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-not guidance is given: 'Not intended for hazard classification, pictograms or UN numbers', exposure limits, and cosmetic/food/pesticide/biocide status, each with the sibling tool named as the alternative. The 'Accept up to 50 substances' and 'missing from a list = not listed' rules set invocation expectations clearly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regaffairs_check_cosmetic_ingredientCheck a cosmetic ingredient (banned, restricted, max concentration, INCI)ARead-onlyIdempotentInspect
Checks whether a cosmetic ingredient is banned, restricted or permitted, and gives its INCI name, maximum concentration, product-type conditions and label warnings. It covers the EU Cosmetics Regulation (EC) No 1223/2009 Annexes II to VI with entry numbers, the EU common ingredient names glossary (Decision 2019/701, the last published edition), the UK cosmetics rules and UK ingredient opinions, the SCCS Notes of Guidance, ICCR reports on fragrance allergens and nanomaterials, US prohibited and restricted cosmetic ingredients, 21 CFR Parts 700 to 740, the Health Canada Cosmetic Ingredient Hotlist, the ASEAN Cosmetic Directive annexes and the Japanese cosmetic ingredient labelling names list. Not intended for food, medicines or general chemical restrictions (the food, pharma and chemical tools cover those).
| Name | Required | Description | Default |
|---|---|---|---|
| function | No | Optional, narrows to the matching annex. | |
| ingredient | Yes | INCI name, common name, CAS or EC. | |
| application | No | any | |
| product_type | No | Optional, e.g. 'face cream', 'hair dye', 'oral care', 'sunscreen', 'spray', 'eye area'. | |
| jurisdictions | No | ||
| for_children_under_3 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| sources | Yes | |
| not_found | Yes | |
| truncated | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds substantive behavioral context: the authoritative sources consulted (Annexes II–VI, Hotlist, ASEAN Directive, etc.), the jurisdictional boundaries, and that the glossary is a specific edition ('last published edition'). It omits freshness/versioning caveats and error behavior, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the answer to 'what does this do' in the first clause, then coverage, then exclusions. The regulation enumeration is long, but each item is a genuine coverage claim rather than filler; a mildly tighter grouping could shorten it without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value documentation is unnecessary, and annotations cover safety. The description supplies scope, source authority and exclusions – everything needed to decide to call it. The residual gap is the unexplained non-enum parameters, which the schema's sparse descriptions do not fully close.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, so the description carries some burden. It implicitly maps the jurisdictions enum by naming the specific regime for each bloc (EU, UK, US, Health Canada, ASEAN, Japan) and hints at product_type via 'product-type conditions', but it says nothing about the 'function' enum, 'application', or 'for_children_under_3', which are left to the schema alone. Partial compensation warrants a baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb and resource ('Checks whether a cosmetic ingredient is banned, restricted or permitted') and enumerates the outputs it returns (INCI name, max concentration, product-type conditions, label warnings). The scope sentence pinpoints the exact regulatory domains covered, which cleanly separates it from siblings like check_chemical_substance or check_food_additive_or_ingredient.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit boundary: 'Not intended for food, medicines or general chemical restrictions (the food, pharma and chemical tools cover those)' – naming both the exclusion and the alternatives. Combined with the coverage list, an agent can route an ingredient query to this tool or a sibling without guessing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regaffairs_check_drug_or_device_approvalCheck a drug or medical device approval, classification or shortageARead-onlyIdempotentInspect
Checks whether a medicine is authorised in a market, with its approval details and shortage status, or a medical device's classification, registration, approval or notified body. Medicines: the FDA Orange Book (approved drugs, therapeutic equivalence, patents and exclusivity), EMA authorised medicines, EMA orphan designations, the EMA, FDA and MHRA shortage lists, the Health Canada Drug Product Database (DIN) and Notice of Compliance database. Devices: the FDA device classification database (product codes, device class, regulation number), FDA De Novo decisions and PMA approvals, FDA MAUDE adverse event reports, MHRA guidance on registering devices for the GB market, EU NANDO notified bodies under the MDR and IVDR, the CDSCO approved device lists (India) and the Italian national medical devices database. Not intended for GMP or ICH guidance (regaffairs_find_pharma_gmp_and_ich_guidance covers that), for MDR or IVDR legal requirements, or for clinical trials.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | ||
| product | Yes | Medicine brand or active ingredient, DIN, NDA/ANDA number, device name, FDA product code (e.g. 'DXY'), PMA number or notified body number. | |
| product_kind | No | any | |
| jurisdictions | No | Default: all held for the product kind. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| sources | Yes | |
| not_found | Yes | |
| truncated | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive and closed-world behavior, so the safety profile is covered. The description goes further by disclosing exactly which data sources back the answer per jurisdiction and per facet (Orange Book, EMA, shortage lists, MAUDE, NANDO, CDSCO, etc.), which is meaningful coverage/trust context beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose in the first clause, then organized as Medicines / Devices / Not-intended. It is dense and list-heavy, but each listed source maps to a data facet or enum value, so most of the length earns its place. Minor redundancy between the title and opening sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value explanation is unnecessary, and annotations cover the safety profile. The description supplies source coverage, jurisdictional scope and facet mapping, leaving only edge behavior (no-match results, cross-kind ambiguity) unstated. Adequate-to-strong for a tool of this scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%, so the description must compensate, and it does: the enumerated sources map directly onto the `include` enum values (shortage lists, orphan designations, MAUDE adverse events, NANDO notified bodies, FDA device classification), giving the agent a basis for choosing facets. `product` and `jurisdictions` already carry schema descriptions, and the medicine-vs-device framing clarifies `product_kind`, though it doesn't state input formats or behavior for ambiguous products.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (checks/retrieves) plus the two distinct resources it spans — a medicine's authorisation/shortage status and a device's classification, registration, approval or notified body. The description lets an agent distinguish it from siblings like regaffairs_check_chemical_substance or regaffairs_check_pesticide_approval_and_mrl without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit exclusions and names the alternative: 'Not intended for GMP or ICH guidance (regaffairs_find_pharma_gmp_and_ich_guidance covers that), for MDR or IVDR legal requirements, or for clinical trials.' That is clear routing guidance. It lacks a positive 'use this when' phrasing relative to other checking siblings, so it stops short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regaffairs_check_food_additive_or_ingredientCheck a food additive, colour, novel food or food contact substanceARead-onlyIdempotentInspect
Checks whether a food additive (E-number), colour additive, novel food, vitamin or mineral form, food contact substance or contaminant limit is allowed, and under which conditions, in the EU or US. EU coverage: Regulation (EC) No 1333/2008 Annex II with food categories and maximum levels, the Novel Food Union list (Regulation 2015/2283), contaminant maximum levels (Regulation 2023/915), the food supplements Directive 2002/46/EC and fortified foods Regulation 1925/2006, the plastics food contact Union list (Regulation 10/2011), the German BfR food contact recommendations, and EFSA scientific opinions. US coverage: 21 CFR Parts 170 to 189, FDA GRAS notices, the FDA substances added to food inventory, colour additives in 21 CFR Parts 73 and 74 and the FDA colour additive status list, food contact notifications and indirect additives. Not intended for labelling, allergen or health claim questions (regaffairs_check_food_label_and_allergens covers those) or pesticide residues (regaffairs_check_pesticide_approval_and_mrl).
| Name | Required | Description | Default |
|---|---|---|---|
| regime | No | any | |
| ingredient | Yes | Name, E-number (e.g. E171), INS number, FD&C name (e.g. Red No. 3) or CAS. | |
| food_category | No | Optional, e.g. 'flavoured drinks', 'confectionery' or EU category 14.1.4. | |
| jurisdictions | No | ||
| contact_material | No | For food contact questions. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| sources | Yes | |
| not_found | Yes | |
| truncated | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered structurally. The description adds genuine behavioral context beyond that: the exact regulatory corpus consulted (1333/2008 Annex II, 2015/2283, 2023/915, 10/2011, 21 CFR 170-189, GRAS notices) and that results are jurisdiction- and category-conditional. It does not discuss latency, rate limits, or answer-completeness caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is front-loaded and efficient, but the middle is a dense, unbroken enumeration of regulations that reads more like documentation than selection guidance. It is informative yet disproportionately long relative to the decision it supports, and the exclusions would be easier to scan if split out from the coverage dump.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex multi-jurisdiction regulatory lookup with 5 parameters, an output schema, and rich annotations, the description supplies the domain scope, jurisdiction coverage and sibling boundaries an agent needs. It is nearly complete; only the meaning of the 'any' regime default and how multiple jurisdictions combine in the response are left to the schema/output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60%, so the description must carry part of the load, and it does: the coverage list maps directly onto the regime enum values (food_additive, colour_additive, novel_food, supplement_or_fortification, food_contact, contaminant, gras), 'EU or US' explains the jurisdictions array, and 'food categories and maximum levels' and 'plastics food contact' imply food_category and contact_material usage. It does not spell out the 'any' default or the accepted input formats beyond the schema's own E-number/INS/FD&C/CAS note.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb ('Checks whether... is allowed') and enumerates the exact resource classes covered (food additive E-number, colour additive, novel food, vitamin/mineral, food contact substance, contaminant limit) across two jurisdictions. It also names the siblings it is NOT, so an agent can separate it from regaffairs_check_food_label_and_allergens and regaffairs_check_pesticide_approval_and_mrl without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-not guidance is present with named alternatives: 'Not intended for labelling, allergen or health claim questions (regaffairs_check_food_label_and_allergens covers those) or pesticide residues (regaffairs_check_pesticide_approval_and_mrl).' Combined with the positive statement of scope (EU or US, allowed and under which conditions), the routing decision is fully determined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regaffairs_check_food_label_and_allergensCheck food labelling, allergen and health claim rulesARead-onlyIdempotentInspect
Answers what a food label must show (mandatory particulars, nutrition declaration, ingredients list, allergen emphasis, gluten-free, date marking), which allergens must be declared, and whether a nutrition or health claim is authorised. It covers the EU Food Information to Consumers Regulation (EU) No 1169/2011, the EU nutrition and health claims Regulation (EC) No 1924/2006 and its register, the GB health claims register, Regulation (EU) No 609/2013 on food for specific groups, US 21 CFR Parts 100 to 169 (food labeling and standards of identity), the FDA authorised and qualified health claims lists, Food Standards Code Standard 1.2.2 on food identification and the FSANZ register of notified food-health relationships (Australia and New Zealand), and FSSAI labelling amendments (India). Not intended for whether an ingredient or additive is allowed (regaffairs_check_food_additive_or_ingredient covers that) or for cosmetic labels (regaffairs_check_cosmetic_ingredient).
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | ||
| detail | No | The allergen, claim wording, nutrient or particular, e.g. 'sesame', 'vitamin C contributes to the normal function of the immune system'. | |
| food_type | No | Optional, e.g. 'prepacked', 'prepacked for direct sale', 'non-prepacked', 'infant formula', 'food supplement'. | |
| jurisdictions | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| sources | Yes | |
| not_found | Yes | |
| truncated | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false, and idempotentHint=true, so the safety profile is fully covered. The description adds useful scope detail (which regulatory regimes it covers) but no behavioral context beyond what annotations provide, such as latency, rate limits, or what happens when a jurisdiction is unsupported.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but front-loaded: the opening sentence states the three question types, then the middle enumerates regulations, then the final sentence handles exclusions. It is dense but every sentence serves routing or scope. Slightly verbose in the regulation enumeration, which could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only lookup tool with an output schema present, the description covers scope, jurisdictions, and exclusions adequately. It doesn't explain return format, but the output schema handles that. The regulation enumeration is thorough, though jurisdiction parameter semantics remain thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: topic enum and detail are self-documenting, but food_type and jurisdictions lack full schema descriptions. The description mentions covered regimes (EU, GB, US, AU-NZ, IN) implicitly through the regulation list, but doesn't clarify parameter usage. With 50% coverage, the description adds marginal value only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a precise statement of what questions it answers (mandatory particulars, allergen declaration, claim authorisation), which cleanly distinguishes it from the sibling tools it names explicitly (food_additive_or_ingredient, cosmetic_ingredient). An agent can route correctly without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit negative guidance: 'Not intended for whether an ingredient or additive is allowed (`regaffairs_check_food_additive_or_ingredient` covers that) or for cosmetic labels (`regaffairs_check_cosmetic_ingredient`).' Both exclusions name the alternative sibling tool. This is textbook when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regaffairs_check_pesticide_approval_and_mrlCheck pesticide approval status and maximum residue levels (MRLs)ARead-onlyIdempotentInspect
Checks whether a plant protection active substance is approved, banned or under review, and gives the maximum residue level (MRL) or tolerance for a crop. EU coverage: approvals under Regulation (EC) No 1107/2009, candidates for substitution, emergency authorisations, MRLs under Regulation (EC) No 396/2005, and the EU fertilising products Regulation 2019/1009 for biostimulants. GB: the HSE active substance register and GB MRLs. US: EPA tolerances (40 CFR 180), registration review dockets and the EPA pesticide chemical search. Also Health Canada pesticide product data, the Australia New Zealand MRL schedule, Codex pesticide residue limits, and ANVISA monographs and re-evaluations (Brazil). Not intended for disinfectants and other biocides (regaffairs_check_biocide_active_substance covers those) or for industrial chemicals.
| Name | Required | Description | Default |
|---|---|---|---|
| crop | No | For MRLs or tolerances, e.g. 'wheat', 'peaches', 'table grapes'. | |
| include | No | ||
| jurisdictions | No | ||
| active_substance | Yes | Active substance name or CAS, e.g. 'glyphosate'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| sources | Yes | |
| not_found | Yes | |
| truncated | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, so safety is covered. The description adds genuinely useful behavioral context by enumerating the underlying data sources and regulations (Reg 1107/2009, Reg 396/2005, 40 CFR 180, ANVISA, Codex), telling the agent what kind of authority backs each answer. It stops short of freshness/coverage limits for each source.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then the jurisdiction/regulation survey, then exclusions last — a sensible order. It reads as a dense run-on sentence, but each clause maps to a selectable jurisdiction or data type, so little is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is unnecessary; the description focuses correctly on scope, coverage and exclusions. For a 4-parameter tool it is nearly complete, with the main gap being the absence of guidance on combining `include` and `jurisdictions` or on when a CAS versus a name should be supplied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% — only `crop` and `active_substance` are documented, while `include` and `jurisdictions` are not. The description partially compensates by enumerating approval/review/emergency-authorisation/MRL concepts and naming EU, GB, US, Canada, Australia-NZ, Codex and Brazil, which maps to the two undocumented enums, but it never explains them as parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb and resource — 'Checks whether a plant protection active substance is approved, banned or under review' and returns the MRL/tolerance for a crop. The scope (pesticide active substances) is unambiguous and clearly separable from the biocide sibling tool it names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly excludes adjacent domains: 'Not intended for disinfectants and other biocides (`regaffairs_check_biocide_active_substance` covers those) or for industrial chemicals.' This names both the boundary and the alternative tool, which is exactly the routing information an agent needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regaffairs_check_textile_restricted_substancesCheck textile restricted substances and labelling (ZDHC, OEKO-TEX, REACH)ARead-onlyIdempotentInspect
Checks whether a substance is restricted in textiles, clothing, footwear or leather and what limit applies under a brand or certification list, and what a textile fibre, care or flammability label must show. Substance lists: the ZDHC MRSL, OEKO-TEX Standard 100 limit values by product class, the bluesign system substances list, REACH Annex XVII entries that apply to textiles and leather (for example entry 72 on CMR substances in clothing), the EU Ecolabel textile criteria, and Japanese household goods limits (formaldehyde). Labelling: the EU textile fibre names Regulation (EU) No 1007/2011, the US Textile Fiber Products Identification Act (16 CFR 303), the FTC care labeling rule (16 CFR 423) and wool and fur rules, the Canadian Textile Labelling Act, and US flammability standards (16 CFR 1610, 1611, 1615, 1616). Give substances or a topic. Not intended for general chemical status outside textiles (regaffairs_check_chemical_substance covers that).
| Name | Required | Description | Default |
|---|---|---|---|
| lists | No | Default: all. | |
| topic | No | What to check. Give substances or topic; substances without a topic are checked as restricted_substances. | |
| substances | No | Names, CAS numbers or substance groups, e.g. 'APEOs', 'PFAS', 'azo dyes', '117-81-7'. Give substances or topic. | |
| jurisdictions | No | ||
| product_class | No | OEKO-TEX product class I to IV. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| sources | Yes | |
| not_found | Yes | |
| truncated | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld=false, so the safety profile is covered. The description adds real scope context — the exact standard lists and labelling regulations consulted — which is not derivable from the annotations. No auth or rate-limit detail, but that is minor here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose, scope and the sibling exclusion are front-loaded; the long enumerations of lists and labelling rules each earn their place by anchoring schema enum values. The mid-sentence 'Give substances or a topic' is slightly awkwardly placed but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described. The description covers the substance-list scope, the labelling scope, the input convention and the sibling boundary — sufficient for a 5-parameter, 0-required tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so baseline is 3. The description exceeds that by mapping enum values to their real-world meaning (zdhc_mrsl = ZDHC MRSL, oeko_tex_100 = Standard 100 class limits, reach_annex_xvii = Annex XVII textile entries) and clarifying the substances-vs-topic interplay, which the enum labels alone do not convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (checks) and resource (restricted substances and labelling for textiles/clothing/footwear/leather) and enumerates exactly which regimes are covered. It explicitly distinguishes itself from sibling `regaffairs_check_chemical_substance`, so an agent can route without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an input convention ('Give substances or a topic') and an explicit exclusion with the named alternative ('Not intended for general chemical status outside textiles; regaffairs_check_chemical_substance covers that'). It lacks a positive when-to-use example, but the routing guidance is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regaffairs_find_pharma_gmp_and_ich_guidanceFind pharma GMP and ICH guidance (EU GMP, cGMP, ICH, CTD)ARead-onlyIdempotentInspect
Finds what a GMP or ICH guideline requires and the text of a GMP annex or ICH guideline, and checks whether a UK site holds an MHRA manufacturing or wholesale (GMP/GDP) licence. It covers EU GMP (EudraLex Volume 4, Parts I to IV and Annexes 1 to 21), US cGMP for finished pharmaceuticals (21 CFR Parts 210 and 211), the ICH Quality, Safety, Efficacy and Multidisciplinary guidelines and the ICH M4 Common Technical Document, Directive 2001/83/EC, the MHRA GMDP register (GMP and GDP certificates, manufacturer and wholesaler authorisations), MHRA GMP inspection deficiency data, and EDQM OMCL network market surveillance reports. It returns passages with the guideline code, section and version date. Give a topic, a guideline code or a site or company. It does not count as a question. Not intended for whether a medicine is authorised or in shortage (regaffairs_check_drug_or_device_approval covers that), for clinical trial conduct or GCP, or for FDA submission strategy.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | The GMP or ICH topic, e.g. 'contamination control strategy', 'stability testing zones', 'nitrosamine risk assessment'. Give query, guideline or site_or_company. | |
| source | No | any | |
| guideline | No | Code or annex, e.g. 'Annex 1', 'Q9(R1)', 'Q1A(R2)', 'M7', '211.192'. Give query, guideline or site_or_company. | |
| site_or_company | No | For MHRA licence lookups: company or site name, or licence number. Give query, guideline or site_or_company. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| sources | Yes | |
| not_found | Yes | |
| truncated | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotent/openWorldHint=false, so the safety profile is covered. The description adds genuine non-annotation context: it discloses the return shape ('passages with the guideline code, section and version date') and the fact that licence results come from the MHRA GMDP register. It does not note rate limits or result caps, so it falls short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and the 'give a topic/code/site' instruction are front-loaded, and the exclusion clause is placed last where it belongs. The long enumeration of covered corpora is dense but each item aids source routing; it is slightly bloated but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-param, openWorld=false lookup tool with an output schema, the description covers purpose, accepted inputs, exclusions with named alternatives, and (redundantly) the return shape. An agent has everything needed to select and call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, so baseline is 3. The description adds meaning beyond the schema by mapping its coverage list onto the 'source' enum values (eu_gmp, us_cgmp, ich, ctd, eu_medicines_law, mhra_licences) and clarifying that site_or_company drives the MHRA lookup, which the bare schema does not spell out.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb ('Finds') and precise resources (GMP/ICH guideline requirements and text, MHRA GMP/GDP licence status), and enumerates the exact corpora covered (EudraLex Vol 4, 21 CFR 210/211, ICH Q/S/E/M, M4 CTD, MHRA GMDP register). An agent can distinguish it from every sibling, especially check_drug_or_device_approval, without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit input guidance ('Give a topic, a guideline code or a site or company'), explicitly disambiguates from the ask_question sibling ('It does not count as a question'), and states three concrete exclusions (medicine authorisation/shortage, clinical trial conduct/GCP, FDA submission strategy) with the alternative tool named. Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regaffairs_get_answer_statusGet the status of a running answerARead-onlyIdempotentInspect
Fetches the result of a regaffairs_ask_question call that returned status: "running" and an answer_id. It waits up to 40 seconds and returns the finished answer with citations, or running again. It does not count as a new question. Not intended for starting a new question.
| Name | Required | Description | Default |
|---|---|---|---|
| answer_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| message | No | |
| sources | Yes | |
| answer_id | Yes | |
| truncated | No | |
| answer_url | No | |
| answer_markdown | No | |
| web_sources_used | Yes | |
| datasets_searched | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), yet the description still adds real behavioral detail: a bounded wait of up to 40 seconds, two possible outcomes (finished answer with citations, or running again), and that the call does not consume a question. It stops short of saying whether repeated polling is expected or rate-limited, which is the only meaningful gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the verb and resource, then the wait semantics, then the exclusion. No filler and no repetition of annotation facts.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A one-parameter polling tool with an output schema and full annotation coverage needs little more than trigger condition, timing behavior, and what comes back. All three are present, and return-value detail is properly left to the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single property is a bare string, but the description supplies the provenance of answer_id (returned by regaffairs_ask_question alongside status: "running"), which the schema does not say. That is the one thing an agent needs to populate the field correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (fetches) and resource (result of a running answer), and explicitly ties it to the sibling regaffairs_ask_question that produces the answer_id. The closing sentence distinguishes it from starting a new question, so an agent can tell it apart from its nearest sibling without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives the precise trigger condition: use it after regaffairs_ask_question returned status: "running" with an answer_id. It also names the excluded case (not for starting a new question), leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regaffairs_get_ghs_hazard_classificationGet GHS/CLP hazard classification, label elements and UN numberARead-onlyIdempotentInspect
Looks up a substance's hazard classification, GHS pictograms, H-statements, signal word or label elements (for example for SDS sections 2 and 3 or a CLP label), and its UN number and transport hazard class (SDS section 14). It returns the EU CLP Annex VI harmonised entry (hazard classes and categories, H-statements, pictograms, signal word, specific concentration limits, M-factors and the ATP that set it) from ECHA's harmonised classification list and Regulation (EC) No 1272/2008. Optionally it adds the self-classifications notified to the ECHA C&L Inventory, the GB mandatory classification list and GB CLP (HSE), pending CLH intentions and RAC opinions, the Korean GHS classification list, and the US DOT Hazardous Materials Table (49 CFR 172.101: UN number, proper shipping name, hazard class, packing group). Not intended for mixtures, which need the user's own calculation, for ADR, IMDG or IATA transport rules, or for whether a substance is restricted (regaffairs_check_chemical_substance covers that).
| Name | Required | Description | Default |
|---|---|---|---|
| substance | Yes | Name, CAS, EC, CLP index number or UN number (e.g. UN1090). | |
| jurisdictions | No | ||
| include_pending | No | Add open CLH intentions and RAC opinions. | |
| include_notified | No | Add the C&L Inventory notified classifications. | |
| include_transport | No | Add the US DOT 49 CFR 172.101 entry (UN number, class, packing group). |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| sources | Yes | |
| not_found | Yes | |
| transport | No | |
| truncated | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered; the description adds meaningful context beyond that by naming the underlying sources (ECHA harmonised list, Regulation 1272/2008, C&L Inventory, HSE, Korean GHS, US DOT 49 CFR 172.101) and by warning that mixtures require the user's own calculation. It does not describe coverage limits, staleness of the lists, or failure behavior when a substance is unmatched.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and scope are front-loaded and no sentence is filler, but the prose is dense and list-heavy, and the UN number/transport concept appears twice (once in the opening clause, once in the transport clause), which slightly inflates the length for a single-parameter-required lookup.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter lookup with an output schema present, the description supplies everything an agent still needs: what sources are queried, what the optional flags add, which jurisdictions are supported, and what the tool deliberately does not cover. Nothing material is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 80%, yet the description adds real semantic value by mapping `jurisdictions` values to concrete data sources (EU CLP Annex VI, GB mandatory list/HSE, Korean GHS) and by tying `include_transport`, `include_notified` and `include_pending` to the specific datasets they pull in. The `substance` identifier formats are left to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('looks up') and resource (a substance's GHS/CLP hazard classification, label elements and UN number), then enumerates exactly what comes back (Annex VI entry, H-statements, pictograms, signal word, SCLs, M-factors, ATP). It explicitly carves itself out from `regaffairs_check_chemical_substance`, so an agent can distinguish it from siblings without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete triggers ('for SDS sections 2 and 3 or a CLP label', 'SDS section 14') and explicit when-not conditions: not for mixtures, not for ADR/IMDG/IATA rules, and restrictions go to `regaffairs_check_chemical_substance`. The only gap is that the positive trigger is embedded in the purpose sentence rather than framed as a standalone 'use this when' rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regaffairs_get_workplace_exposure_limitsGet workplace exposure limits (OEL, WEL, PEL, AGW, VLEP)ARead-onlyIdempotentInspect
Looks up occupational exposure limits for a substance (OEL, WEL, PEL, AGW, VLEP, MAC, STEL) in one or more countries, for example for SDS section 8, a COSHH assessment or an OSHA compliance check. It covers HSE EH40 and the COSHH Regulations 2002 (GB), TRGS 900 and the GESTIS substance database (Germany), INRS VLEP tables (France), INSST LEP (Spain), the SER database (Netherlands), FOD WASO limits (Belgium), the HSA chemical agents code (Ireland), Arbeidstilsynet limits (Norway), OSHA annotated PELs, Table Z-1 and the OSHA chemical exposure data (US), Safe Work Australia HCIS, the CSGB chemical agents regulation limits (Turkey), the MOEL exposure limits notice (Korea), NOM-010-STPS-2014 (Mexico), SUVA limit values (Switzerland), the Alberta OHS Code (Canada), and the GESTIS international limit values compilation. Not intended for drinking water, ambient air or food limits (regaffairs_search_regulations covers those), or for hazard classification (regaffairs_get_ghs_hazard_classification).
| Name | Required | Description | Default |
|---|---|---|---|
| countries | No | Default: all held. INTL = the GESTIS international compilation; CA-AB = Alberta. | |
| substance | Yes | Name, CAS or EC number. | |
| limit_types | No | Default: all. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| sources | Yes | |
| not_found | Yes | |
| truncated | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful coverage context by naming the specific national frameworks and databases held (HSE EH40, TRGS 900/GESTIS, INRS VLEP, OSHA Z-1, etc.), which is not derivable from annotations or the country enum alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and exclusions are front-loaded, but the middle is a single sprawling sentence enumerating sixteen source documents, which is longer than selection requires. It is serviceable but not tight; a representative subset plus 'and other national OEL frameworks' would carry the same selection signal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. The description covers scope, jurisdictional coverage, defaults and exclusions; only minor gaps remain, such as whether limits are returned in normalized units across jurisdictions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the country enum, substance identifiers and limit_types defaults are already documented in the schema. The description adds only marginal parameter meaning via the limit acronyms in the title (MAC, STEL, AGW), which loosely maps to limit_types, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('looks up') and resource ('occupational exposure limits for a substance'), enumerates the limit-type acronyms it returns, and names the siblings it is not (search_regulations, get_ghs_hazard_classification). An agent can distinguish it from every sibling without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete use cases (SDS section 8, COSHH assessment, OSHA compliance check) and explicit exclusions: drinking water/ambient air/food limits route to regaffairs_search_regulations, hazard classification routes to regaffairs_get_ghs_hazard_classification. Both when-to-use and when-not are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regaffairs_list_covered_regulationsList the regulations and datasets coveredARead-onlyIdempotentInspect
Lists what RegAffairs AI covers ("do you have the EU Cosmetics Regulation?", "which Brazil pesticide registers are in?", "what do you cover for food in the UK?"), and checks before answering that a regulation or register is available. It returns the live catalogue: dataset id, plain name, regulator, jurisdiction, industry, what it contains and when it was last refreshed. Filter by industry, jurisdiction or a text query. It does not count as a question.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| industry | No | ||
| jurisdictions | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | Yes | |
| datasets | Yes | |
| truncated | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower, yet the description adds real context: it returns the *live* catalogue, it validates availability before answering, and it carries no question-quota cost. It does not mention rate limits or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads purpose in the first clause, then examples, then return shape, then filters, then the quota caveat. Tight overall; the parenthetical example questions are useful but make it longer than strictly necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't detail return values, yet it summarizes them reasonably. For a zero-required-parameter discovery tool the description is nearly sufficient; only the limit parameter handling is left unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It names the filter axes ('industry, jurisdiction or a text query'), covering three of the four parameters, but says nothing about the limit parameter or the array format of jurisdictions, leaving genuine gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Lists what RegAffairs AI covers') and enumerates the exact return fields (dataset id, name, regulator, jurisdiction, industry, contents, last refresh). It is clearly distinguishable from siblings like search_regulations and ask_question because it describes a coverage catalogue rather than a lookup or a question.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete trigger questions ('do you have the EU Cosmetics Regulation?') and states the operational rule that it 'does not count as a question,' which distinguishes it from regaffairs_ask_question. It does not explicitly name the sibling tool or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regaffairs_search_regulationsSearch regulation text and source documentsARead-onlyIdempotentInspect
Searches the wording of regulations, guidelines and register entries, for questions that need the text rather than a written answer or that fall in an area no industry tool covers, such as REACH or CLP article text, drinking water limits or industrial emissions reporting. It runs a ranked full-text search over every live dataset and returns passages with citations. It does not count as a question. Examples: REACH (eu_reach_1907_2006) and CLP (eu_clp_1272_2008) articles and annexes, US EPA drinking water MCLs (us_epa_npdwr_contaminant_mcls), the EU E-PRTR (eu_eea_industrial_reporting_eprtr). Pass document_id from an earlier result to read more of one document. Each dataset is searched in its own language: for a register outside the English-speaking world (Brazil, Turkey, Korea, Japan, China, Latin America and most of the EU), put the terms in that language too, for example 'arsênio arroz' for ANVISA's contaminant limits. Give query or document_id. Not intended for questions an industry tool fits; those tools return structured results.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | What to search for, in the dataset's language when it is not English. Give query or document_id. | |
| datasets | No | Optional dataset ids to restrict the search (from regaffairs_list_covered_regulations). | |
| industry | No | ||
| document_id | No | Read passages from one document returned earlier. Give query or document_id. | |
| jurisdictions | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| sources | Yes | |
| not_found | Yes | |
| truncated | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/openWorld safety profile, but the description adds genuinely new behavior: ranked full-text search, passages returned with citations, and per-dataset language search with a concrete non-English example. It doesn't discuss result limits or pagination, but with an output schema present the return-shape burden is lower.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and route guidance, and the examples are useful, but the paragraph is dense and runs long. Some sentences are clumsily worded (e.g. 'It does not count as a question') and could be tightened without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter, 50%-coverage tool this is fairly complete: it explains the search model, language behavior, dataset scoping and the document_id workflow, and an output schema covers return values. The main gap is the unexplained industry/jurisdictions/limit parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%. The description adds meaning for query, document_id and the language-to-use-per-dataset rule, but says nothing about industry, jurisdictions, or the limit cap (default 8, max 20). It compensates only partially for the uncovered half.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (searches) and resource (wording of regulations, guidelines, register entries) with concrete scope and named datasets. It explicitly distinguishes itself from siblings by saying it differs from a 'written answer' (regaffairs_ask_question) and from 'an industry tool'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear when-to-use (need the actual text, or an area no industry tool covers like REACH/CLP/EPA/E-PRTR) and when-not ('Not intended for questions an industry tool fits; those tools return structured results'). It also explains the document_id follow-up read pattern. Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Changed
regaffairs_ask_question1 field changed- changed
Output schema / properties / status / enumPrevious value: -[ - "complete", - "running", - "failed", - "limit_reached" -]New value: +[ + "complete", + "partial", + "running", + "failed", + "limit_reached" +]
- Changed
regaffairs_get_answer_status1 field changed- changed
Output schema / properties / status / enumPrevious value: -[ - "complete", - "running", - "failed", - "limit_reached" -]New value: +[ + "complete", + "partial", + "running", + "failed", + "limit_reached" +]
15 tool updates
- First observed
regaffairs_ask_question - First observed
regaffairs_check_biocide_active_substance - First observed
regaffairs_check_chemical_substance - First observed
regaffairs_check_cosmetic_ingredient - First observed
regaffairs_check_drug_or_device_approval - First observed
regaffairs_check_food_additive_or_ingredient - First observed
regaffairs_check_food_label_and_allergens - First observed
regaffairs_check_pesticide_approval_and_mrl - First observed
regaffairs_check_textile_restricted_substances - First observed
regaffairs_find_pharma_gmp_and_ich_guidance - First observed
regaffairs_get_answer_status - First observed
regaffairs_get_ghs_hazard_classification - First observed
regaffairs_get_workplace_exposure_limits - First observed
regaffairs_list_covered_regulations - First observed
regaffairs_search_regulations
Related MCP Connectors
Cited product-compliance ground truth for AI agents. Never generates; always cites.
Deterministic, cited regulatory research for product launches; legal information, not legal advice.
Regulatory compliance, FDA recalls, federal register, enforcement actions & comment deadlines.
Source-linked US federal regulations: CFR provision history, obligations, rules, comments.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to access US FDA regulations (21 CFR) through natural language queries, providing tools for retrieving regulatory information.10 npmMIT
- FlicenseNot gradedqualityBmaintenanceEnables querying cosmetics ingredient data across EU, China, and US regulations, running 65-rule formula risk reviews, multi-region compliance checks, and retrieving synthetic biology company metadata via natural language.-
- AlicenseNot gradedqualityFmaintenanceEnables checking cosmetic ingredient safety and multi-jurisdiction compliance across 12 regulatory bodies, backed by a comprehensive dataset of safety opinions and studies.MIT

verityofficial
AlicenseNot gradedqualityAmaintenanceEnables AI agents to query cited, current product-safety compliance and recall records, returning only verified official-source data without generating speculative answers.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.