Health Canada Drug Product Database MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_active_ingredientsA | Get active ingredient(s) for a drug product. Active ingredients are components that have medicinal properties and supply pharmacological activity. Returns ingredient name, strength, and dosage information. |
| search_active_ingredientsA | Search for active ingredients by name across all drug products. |
| get_companyA | Get company information by company code. Companies include DIN owners and manufacturers of drug products. |
| get_drug_productA | Get drug product information by drug code. |
| search_drug_by_dinA | Search for a drug product by Drug Identification Number (DIN). The DIN is an 8-digit number assigned by Health Canada to a drug product prior to being marketed in Canada. |
| search_drug_by_brand_nameA | Search for drug products by brand name. |
| get_dosage_formA | Get dosage form(s) for a drug product. Dosage form is the form of presentation (e.g., tablet, capsule, liquid, powder). A product can have multiple dosage forms when it's a kit. |
| get_packagingB | Get packaging information for a drug product. |
| get_pharmaceutical_standardA | Get pharmaceutical standard for a drug product. The pharmaceutical standard is the standard to which a drug product is manufactured and represented. |
| get_route_of_administrationA | Get route(s) of administration for a drug product. Indicates how the product is introduced to the body (e.g., oral, topical, intramuscular, intravenous, rectal). A product can have multiple routes. |
| get_scheduleA | Get drug schedule(s) for a drug product. Schedules indicate the regulatory classification according to the Food and Drug Regulations and Controlled Drugs and Substances Act. Examples include:
|
| get_product_statusA | Get the status of a drug product. Status types include:
|
| get_therapeutic_classA | Get the therapeutic class(es) for a drug product. Therapeutic classification is assigned according to the drug's main therapeutic use, using the Anatomical Therapeutic Chemical (ATC) classification system. |
| get_veterinary_speciesA | Get the veterinary species for a veterinary drug product. Only applicable to veterinary drugs. Returns the animal species the drug is approved for (e.g., dogs, cats, horses, cattle, poultry). |
| get_all_drug_infoA | Get comprehensive information about a drug product in a single call. Fetches all available data for a drug product including: basic product info, active ingredients, company, dosage form, packaging, pharmaceutical standard, route of administration, schedule, status, and therapeutic class. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| drug_lookup | Guided workflow to look up comprehensive information about a drug. |
| compare_drugs | Guided workflow to compare two drug products. |
| find_alternatives | Find alternative products with the same active ingredient. |
| check_din | Verify a Drug Identification Number (DIN) and get product details. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_api_overview | Health Canada Drug Product Database (DPD) API Overview. Provides general information about the DPD and how to use this MCP server. |
| get_status_codes_reference | Reference for drug product status codes in the DPD. Explains what each status means and when products have that status. |
| get_schedules_reference | Reference for drug schedules in Canada. Explains the different schedule classifications for drugs. |
| get_routes_reference | Common routes of administration for drug products. |
TDQS
Scored across 15 tools
Each tool targets a distinct resource or attribute (e.g., active ingredients, company, dosage form, packaging). Getter and search functions are clearly separated, with no overlapping purposes. The only potential overlap between `get_drug_product` and `get_all_drug_info` is resolved by explicit descriptions of basic vs. comprehensive info.
All tool names follow a consistent snake_case verb_noun pattern: `get_<attribute>` or `search_<entity>`. The getters are uniformly prefixed with `get_`, and the search tools with `search_`. No mixed conventions or vague verbs.
At 15 tools, the set sits at the upper boundary of an appropriately scoped server. Each getter addresses a specific drug product attribute, and `get_all_drug_info` provides a useful aggregate. There is no redundancy or unnecessary expansion.
The server covers all major drug product attributes, including active ingredients, company, dosage form, packaging, pharmaceutical standard, route, schedule, status, therapeutic class, and veterinary species. Searches by DIN and brand name cover primary lookup methods. However, there is no reverse lookup to find drugs by active ingredient or company, which is a notable gap for a drug database.