Canada Health Product Recalls MCP
Server Details
Health Canada recalls for drugs, natural health products and medical devices.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-03-26
- URL
- Repository
- donniertf-hub/uk-mcp-fleet
- GitHub Stars
- 0
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 4 tools
latest_recalls is effectively a thin wrapper over recall_search (keyword + newest 5), and new_since is recall_search with a since-date, so three of four tools are near-subsets of one another. Descriptions do signal intended use cases (free quick peek vs. daily monitoring vs. bulk filtered query vs. batch watchlist), which keeps an agent from fatally misselecting.
All names are snake_case, but the conventions are mixed: an adjective+noun (latest_recalls), an adjective+preposition phrase (new_since), a noun+verb ordering (recall_search), and a bare noun (watchlist). Readable but not a predictable verb_noun pattern.
Four tools is a tight, focused surface for a single-domain recall lookup server. Slightly over-minimal in that one of the four (latest_recalls) is largely redundant with recall_search.
Search, date-based monitoring, and batch watchlist cover the discovery workflows, but there is no tool to fetch a single recall's full record (lot numbers, affected products, remediation steps), which is a common dead end after a search hit. No way to enumerate categories or recall classes for building filters either.
Available Tools
4 toolslatest_recallsAInspect
FREE. Latest canada health product recalls matching a keyword (product, brand, allergen or hazard) — newest 5.
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden. It usefully discloses two behavioral traits: the call is free and the result set is capped at 5 newest items, which is real information an agent can't get from schema or annotations. It says nothing about auth requirements, pagination, or what happens when nothing matches.
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?
One dense sentence with no waste: cost signal, jurisdiction, resource, match semantics, and result cap all front-loaded in that order.
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 simple single-optional-param read tool with no output schema, the description covers the essentials (what it returns, how many). It leaves gaps an agent may care about: behavior with no keyword supplied, whether results are sorted strictly by date, and the data source coverage.
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%, so the description must compensate, and it partly does by enumerating what a keyword can be (product, brand, allergen, hazard). However, the single parameter is optional (required=0), and the description never says what happens when keyword is omitted — a meaningful ambiguity for a 1-param tool.
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 (health product recalls) with scope qualifiers (Canada, latest, newest 5) and what the keyword can match (product, brand, allergen, hazard). It implicitly distinguishes itself from recall_search by capping results to the newest 5, but never names that sibling explicitly.
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?
The word 'latest' plus 'newest 5' implies this is the recency-oriented lookup versus a broader search, but there is no explicit when-to-use / when-not-to-use guidance and no sibling (new_since, recall_search, watchlist) is named as an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
new_sinceBInspect
PRO. All recalls updated on or after a date — for daily monitoring jobs.
| Name | Required | Description | Default |
|---|---|---|---|
| since | Yes | ||
| access_token | No | Subscriber token from /success (or Authorization: Bearer) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure burden. It adds PRO gating and inclusive date semantics, but omits read-only status, pagination/rate limits, and return behavior, leaving important gaps.
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?
Two short sentences, front-loaded with the core scope and with no wasted verbiage. The PRO marker and monitoring use case are compactly conveyed.
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 simple two-parameter list tool without an output schema, the description covers the core filter and a use case. However, with no annotations and incomplete schema descriptions, it should say more about date format, auth/pagination, and result 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 50%; the description clarifies that 'since' means recalls updated on or after that date, adding meaning beyond the schema's bare string type. It does not specify date format, and access_token semantics come only from 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?
The description states the resource (recalls) and the temporal filter (updated on or after a date), making the scope clear and distinguishable from latest_recalls and recall_search. It lacks an explicit verb and does not name siblings, so it stops short of 5.
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?
The phrase 'for daily monitoring jobs' gives a clear usage scenario, but there is no when-not guidance, prerequisite detail, or explicit comparison to latest_recalls/watchlist. The context is implied rather than fully specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recall_searchBInspect
PRO. Up to 100 recalls with filters: keyword, category, recall class, since date (YYYY-MM-DD).
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | ||
| keyword | No | ||
| category | No | ||
| access_token | No | Subscriber token from /success (or Authorization: Bearer) | |
| recall_class | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral load; it does disclose two useful traits — a 100-result cap and a 'PRO'/subscriber-tier requirement (reinforced by the access_token param). It omits result ordering, pagination/truncation behavior, and anything about read vs. write semantics or rate limits.
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?
Extremely tight, front-loaded, and every fragment carries information; 'PRO.' telegraphs the tier constraint immediately. It is slightly clipped to the point of terseness (no full sentence framing), but nothing is wasted.
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 5-parameter, no-annotation, no-output-schema search tool, the definition covers filters and the result cap but says nothing about the shape of returned recall records or what happens past 100 results, leaving the agent guessing about 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 only 20%, so the description must compensate; it does name four of the five parameters (keyword, category, recall class, since) and adds the YYYY-MM-DD format for since, but leaves keyword matching semantics and the valid values for category/recall_class unexplained.
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 concrete action (return up to 100 recalls) with an explicit list of filter dimensions, so the agent knows it's a filtered search over recalls. It is distinguishable in spirit from latest_recalls and new_since, but the description never names those siblings or states the boundary between them.
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?
There is no explicit when-to-use or when-not-to-use guidance; the only hint is that filters exist, which implies 'use this when you need filtering.' Nothing tells the agent how this differs from latest_recalls or new_since, so the routing decision 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.
watchlistBInspect
PRO. Check up to 50 products, brands or suppliers at once; returns any matching recalls (optionally only since a date).
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | ||
| since | No | ||
| access_token | No | Subscriber token from /success (or Authorization: Bearer) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It usefully adds the 50-item cap, indicates a read-style check returning matching recalls, and notes the optional 'since' filter, but it does not explain matching behavior, result shape, rate limits, or that access_token authentication is required.
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 a single efficient sentence with the core capability front-loaded. The leading 'PRO.' is compact but slightly cryptic, and the parenthetical date filter is appropriately brief.
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 three-parameter tool with no annotations and no output schema, the description covers the basic purpose, batch limit, and return intent. However, it leaves out important context such as authentication requirements, matching semantics, and what a matching recall record contains, making it only minimally sufficient.
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 33%, but the description compensates by explaining that 'items' are products, brands, or suppliers and are limited to 50, and that 'since' optionally restricts results by date. The access_token parameter is documented in the schema, so most parameter meaning is covered, though item format and date syntax remain unstated.
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 action and resource: checking batches of up to 50 products, brands, or suppliers for matching recalls, with an optional date filter. It is clear what the tool does, but it does not explicitly distinguish itself from siblings like recall_search or new_since, despite overlapping recall-search semantics.
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?
There is no explicit guidance on when to choose watchlist over recall_search, new_since, or latest_recalls. The word 'PRO' hints at a paid-plan gate, but the description does not say when this batch check is preferable to the sibling tools.
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.
4 tool updates
- First observed
latest_recalls - First observed
new_since - First observed
recall_search - First observed
watchlist
Related MCP Connectors
Health Canada consumer product recalls (toys, electronics, household, children's products).
CFIA food recalls and allergy alerts for Canada.
Transport Canada vehicle safety recalls by make, model and year.
Health Canada Drug Product Database (fleet #522).
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables querying the Health Canada Drug Product Database for approved drugs, including brand names, DINs, active ingredients, strengths, dosage forms, routes, and market status.512 npmMIT
- FlicenseAqualityDmaintenanceEnables querying the Health Canada Drug Product Database for information on approximately 47,000 approved drugs, including human pharmaceuticals, biologics, veterinary drugs, radiopharmaceuticals, and disinfectants.152-
- AlicenseAqualityBmaintenanceSearches US product recalls across CPSC, FDA, and NHTSA in one call, matching by name, brand, model number, UPC, or VIN with confidence scoring.31MIT
- AlicenseNot gradedqualityBmaintenanceEnables searching and retrieving UK MHRA drug and device safety alerts, recalls, and Drug Safety Update bulletins, including detailed alert information such as affected batch numbers and required actions.462 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.