Canada Medical Device Licences MCP
Server Details
Is this medical device licensed in Canada? Search Health Canada MDALL and verify licences.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-03-26
- URL
- Repository
- donniertf-hub/uk-mcp-fleet
- GitHub Stars
- 0
TDQS
Scored across 4 tools
The tools are mostly distinct: device_search and device_search_full overlap in purpose but are clearly differentiated by free/pro status, result cap, and active/expired detail. batch_licence_check and licence_detail both use licence numbers but serve different actions (validity check vs. detailed lookup).
All names use consistent snake_case and are readable. They do not follow a strict verb_noun pattern, but the noun_action or noun_detail style is coherent across the set.
Four tools are well-scoped for a focused licence lookup server, with each tool serving a clear role. The free/pro split is compact rather than redundant.
The set covers trade-name search, full search, licence detail, and batch validity checking, which are the core lookup workflows. Minor gaps exist, such as searching by company or filtering by device class, but agents can work around them.
Available Tools
4 toolsbatch_licence_checkCInspect
PRO. Check up to 50 licence numbers for current validity.
| Name | Required | Description | Default |
|---|---|---|---|
| licences | 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?
With no annotations, the description carries the full burden and mostly doesn't. The 50-item cap is a genuinely useful disclosed constraint, but there is nothing on whether 'PRO' gating requires a paid token, how invalid or malformed licences are reported, or whether partial failures abort the batch.
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, front-loaded fragments with no filler. The unexplained 'PRO.' token borders on cryptic rather than informative, but the size is well matched to the tool.
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?
No output schema and no annotations, so the description must convey results and failure modes — it says nothing about what 'current validity' returns per licence. For a batch tool where partial results are the norm, this leaves the agent guessing.
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%: access_token is documented in-schema while licences is not. The description does compensate for that gap by establishing that licences is a list of licence numbers capped at 50, but adds no format, normalization, or duplicate-handling detail.
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 (Check), resource (licence numbers), and the checked property (current validity), plus a batch bound of 50. This implicitly separates it from the single-record sibling licence_detail, though that separation is never made explicit.
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?
No statement of when to choose this over licence_detail or the device_search tools, and no prerequisites beyond the opaque 'PRO.' prefix. The only routing signal is the 50-licence batch framing, which the agent must infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
device_searchAInspect
FREE. Find Health Canada-licensed medical devices by trade name — licence number, first licensed, end date. Top 5.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It usefully discloses that the tool is free and returns only the top 5 results with fields such as licence number, first licensed, and end date, but it does not explain matching behavior, ordering, or what happens when no results are found.
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 extremely concise and front-loads the most important attributes: free, what it finds, how, and the top-5 limitation. There is no wasted text.
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 one-parameter search tool, the description covers the core purpose, cost, result limit, and some returned fields. However, with no annotations or output schema and 0% schema description coverage, more detail on matching semantics and result ordering would be needed for full completeness.
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 needs to clarify the single required parameter. It does so minimally by saying 'by trade name,' which is more meaningful than the bare schema property 'name,' but it does not specify exact vs partial matching or formatting expectations.
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 and resource: find Health Canada-licensed medical devices by trade name. It also discloses the result scope (top 5), which helps distinguish it from device_search_full, though it does not name 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 mention of 'FREE' and 'Top 5' implies this is the quick limited lookup, but the description never explicitly says when to use it instead of device_search_full, licence_detail, or batch_licence_check. Usage is inferable but not guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
device_search_fullBInspect
PRO. All licensed devices matching a trade name (up to 200), with active/expired flag.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| active_only | 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 burden. It does disclose genuinely useful behavior: a hard result cap of 200, that only licensed devices are returned, and that active/expired status is surfaced. It says nothing about the authentication/token requirement behind access_token, whether results are paginated or truncated when the cap is hit, or what happens with non-existent trade names.
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?
A single front-loaded sentence with the result cap and scope stated early, and no filler. The opaque 'PRO.' token is the only element that consumes space without conveying usable 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?
No annotations and no output schema mean the description is the only source of behavioral detail, and it is thin for a three-parameter search over a licensed-device dataset. Auth requirements, the truncation behavior at 200 results, and the sibling disambiguation are all absent, though the core purpose is recoverable.
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 only 33%, with just access_token documented, so the description must compensate and largely does not. It does clarify that 'name' is a trade name and that 'active_only' relates to the active/expired flag, but it never states what active_only=true actually filters versus what the flag field itself reports, leaving an ambiguity the schema cannot resolve.
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 resource and scope: all licensed devices matching a trade name, capped at 200, with an active/expired flag. The 'PRO.' prefix and the 'licensed devices' qualifier hint at how it differs from the plain device_search sibling, but the difference is never made explicit. An agent can infer the purpose but must guess at the sibling distinction.
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 when-to-use or when-not-to-use guidance, and the sibling tool 'device_search' is never mentioned even though the near-identical name makes disambiguation the single most important thing this description could do. The 'PRO.' marker implies a tier restriction but the condition that selects this tool over device_search is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
licence_detailBInspect
PRO. Licence details for an original licence number: name, device class, licence type and company.
| Name | Required | Description | Default |
|---|---|---|---|
| licence_no | 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?
With no annotations, the description carries the burden; it does disclose the returned fields and flags PRO-tier access, which is useful context. However, it omits auth requirements beyond the schema's access_token, does not state read-only/mutation status, and never clarifies what 'original' versus a derived licence means.
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?
A single front-loaded sentence with the PRO flag and the field list; nothing is redundant. Efficient though it sacrifices detail for brevity.
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?
No annotations and no output schema, so the description should do more; it lists returned fields (helpful) and notes PRO status. But it leaves licence_no format, 'original' semantics, and error/auth behavior unaddressed, so an agent lacks full footing for a lookup 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 coverage is 50%: access_token is documented in-schema while licence_no has no schema description. The description contributes 'original licence number' to characterize licence_no, but adds no format or syntax detail, so value over the schema is marginal.
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 (retrieve licence details) and resource (licence), and enumerates the return fields (name, device class, licence type, company). It implicitly differentiates from batch_licence_check via 'an original licence number' (singular) but doesn't name the 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?
There is no explicit guidance on when to use this versus batch_licence_check or device_search. The 'PRO.' prefix hints at a tier/access nuance but no when/when-not or alternatives are stated, leaving usage 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.
4 tool updates
- First observed
batch_licence_check - First observed
device_search - First observed
device_search_full - First observed
licence_detail
Related MCP Connectors
Verify supplements and natural health products are licensed in Canada (NPN).
Clinical trials authorised by Health Canada.
Health Canada Drug Product Database (fleet #522).
- MD AtlasOAuthcom.md-atlas
Search international medical-device companies, people, devices, certificates, documents & UDI codes.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables classification of medical devices, IVDs, and AI/ML SaMD under EU MDR and IVDR regulations.28 PyPIMIT
- 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.398 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables querying FDA medical device regulatory databases including 510(k) clearances, PMA approvals, recalls, and adverse events through natural language.414 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI clients to query FDA medical-device data through public keyless APIs, including 510(k) clearances, predicates, MAUDE adverse events, recalls, warning letters, PMA approvals, registrations, and UDI records, with tools for postmarket health checks and raw FDA endpoint access.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.