DrugWise
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DrugWisecheck interaction between warfarin and aspirin"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DrugWise :An MCP Server for Evidence Based Clinical Decision Support Assistant
DrugWise is an MCP (Model Context Protocol) server that provides AI-assisted clinical decision support for medication safety.
DrugWise :An MCP Server for Evidence Based Clinical Decision Support Assistant is an MCP (Model Context Protocol) server that extends AI assistants โ like Claude, Cursor, and any MCP-compatible client โ with new, real-world capabilities. It is built and deployed on Nitrostack, the fastest way to build, deploy, and share MCP apps.
Table of Contents
Related MCP server: openemr-mcp
Overview
DrugWise is an MCP (Model Context Protocol) server that provides AI-assisted clinical decision support for medication safety. It integrates trusted biomedical sources, such as OpenFDA, PubMed, and ClinicalTrials.gov, to provide comprehensive drug information, detect potential drug interactions, retrieve supporting clinical evidence, and suggest possible therapeutic alternatives. Rather than making prescribing decisions, DrugWise empowers healthcare professionals with consolidated, evidence-based insights to support safer and more informed treatment decisions.
What is MCP?
The Model Context Protocol (MCP) is an open standard that lets AI assistants securely connect to external tools, data sources, and services. Instead of being limited to what it was trained on, an AI model can call MCP servers to fetch live data, run actions, and integrate with real systems.
This project is one such MCP server. Learn more about building and shipping MCP apps at nitrostack.ai.
Features
๐ MCP-native โ works with any MCP-compatible client (Claude, Cursor, and more)
๐ ๏ธ Tools, resources & prompts โ exposes structured capabilities to AI agents
โก Deployed on Nitrostack โ reliable, hosted, and instantly shareable
๐ Secure by design โ secrets stay in environment variables, never in code
๐งฉ Composable โ combine with other MCP apps to build powerful AI workflows
Live Demo
๐ Live MCP endpoint: https://drugwise-6a5b32b8-nova-amrita-university-amritapuri-campus.app.nitrocloud.ai
Point your MCP client at the endpoint above to try it instantly. Prefer a hosted setup? Deploy your own in minutes on Nitrostack.
Getting Started
Prerequisites
Node.js 18+ (or your project runtime)
An MCP-compatible client (Claude Desktop, Cursor, etc.)
Installation
git clone https://github.com/your-username/your-mcp-project.git
cd drugwise-an-mcp-server-for-evidence-based-clinical-decision-
npm installConfiguration
Copy the example environment file and add your own values:
cp .env.example .envRun
npm run startConnect to an MCP Client
Add this server to your MCP client configuration. A typical entry looks like:
{
"mcpServers": {
"drugwise-an-mcp-server-for-evidence-based-clinical-decision-": {
"url": "https://drugwise-6a5b32b8-nova-amrita-university-amritapuri-campus.app.nitrocloud.ai"
}
}
}Restart your client and the tools from this MCP server will be available to your AI assistant.
Deploy Your Own MCP App
Want to build and ship an MCP server like this one? Nitrostack lets you create, deploy, and host MCP apps in minutes โ no infrastructure to manage.
๐ Start building: https://nitrostack.ai
Explore More MCP Apps
๐ Discover and share MCP projects with the community on r/mcptothemoon
๐งฐ Browse a growing catalog of MCP apps on Nitrostack
FAQ
What is an MCP server?
An MCP server implements the Model Context Protocol to expose tools, resources, and prompts that AI assistants can call. It lets an AI model take real actions and access live data.
What does DrugWise :An MCP Server for Evidence Based Clinical Decision Support Assistant do?
DrugWise is an MCP (Model Context Protocol) server that provides AI-assisted clinical decision support for medication safety.
Which AI clients does this work with?
Any MCP-compatible client, including Claude Desktop and Cursor. New clients are adding MCP support regularly.
How do I deploy my own MCP app?
Use Nitrostack to build, deploy, and host MCP apps without managing infrastructure.
Keywords
HealthTech & Life Sciences ยท DrugWise :An MCP Server for Evidence Based Clinical Decision Support Assistant ยท MCP ยท Model Context Protocol ยท MCP server ยท MCP app ยท AI tools ยท AI agents ยท LLM tools ยท Claude MCP ยท Nitrostack ยท deploy MCP server ยท build MCP app
License
MIT ยฉ 2026
Built with โค๏ธ using the Model Context Protocol on Nitrostack. Share your MCP app on r/mcptothemoon.
Available Tools
5 toolsclinical_trials_search_clinical_trialsC
Search ClinicalTrials.gov for studies related to a drug and current medications.
| Name | Required | Description | Default |
|---|---|---|---|
| newDrug | Yes | ||
| currentMedications | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only states the search action but fails to mention safety (read-only), output format, rate limits, or authentication needs. The tool's behavior is largely opaque.
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 that conveys the core purpose without verbosity. However, some essential details are omitted in favor of brevity, preventing a higher score.
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 tool with no output schema or annotations, the description is insufficient. It does not cover return values, usage boundaries, or integration with sibling tools, leaving significant context gaps.
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%, yet the description only loosely maps 'a drug and current medications' to the parameters. It does not specify formats, constraints, or examples, adding minimal semantic value beyond parameter names.
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 clearly states the action (search), the resource (ClinicalTrials.gov), and the scope (studies related to a drug and current medications). It effectively distinguishes this tool from siblings like check interactions or drug info, as clinical trials research is a distinct use case.
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 guidance is provided on when to use this tool versus its siblings. The description does not mention prerequisites, alternatives, or exclusion criteria, leaving the agent to infer the appropriate context without explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drug_alternatives_get_drug_alternativesA
When a dangerous drug interaction is found, call this tool to get safer alternative medications in the same therapeutic class. Returns brand names, generic names, key side effects, contraindications, and why the alternative is safer for this specific patient. Provide the drug class and the condition being treated for best results.
| Name | Required | Description | Default |
|---|---|---|---|
| drug_class | No | Drug class if known e.g. "azole antifungal" โ helps narrow alternatives faster | |
| drug_to_replace | Yes | The drug that has the dangerous interaction and needs to be replaced | |
| condition_being_treated | Yes | What the drug was being prescribed for e.g. "fungal infection", "hypertension", "depression" | |
| patient_current_medications | Yes | Patient current medications โ needed to ensure the alternative also does not interact |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description covers what the tool returns but does not explicitly state that it is a read-only operation or disclose any side effects, authorization needs, or rate limits. With no annotations, this is a moderate 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?
The description is three sentences with critical information front-loaded: purpose first, then return contents, then usage advice. Every sentence adds value without redundancy.
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?
Given no output schema, the description adequately explains what the tool returns (brand names, generic names, side effects, etc.) and why each parameter is needed. It also relates to the sibling tool for drug interactions, making the context complete for an AI agent.
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?
The schema already provides detailed descriptions for all parameters (100% coverage). The description adds context (e.g., 'needed to ensure the alternative also does not interact' for patient_current_medications) and suggests optional use of drug_class, enhancing clarity beyond 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 explicitly states the tool's purpose: to get safer alternative medications when a dangerous drug interaction is found, distinguishing it from sibling tools like checking interactions or drug info.
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 description clearly indicates when to use the tool ('when a dangerous drug interaction is found') and suggests providing the drug class and condition for best results, but does not explicitly exclude other scenarios or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drug_info_get_drug_infoA
Get comprehensive pharmacological information about any drug โ drug class, enzyme pathways it inhibits or induces (CYP2C9, CYP3A4, etc.), brand names, generic name, primary use, and which other drug classes it commonly interacts with. ALWAYS call this tool first before calling check_drug_interactions. Understanding the mechanism (e.g. strong CYP2C9 inhibitor) tells you which patient medications to be most concerned about.
| Name | Required | Description | Default |
|---|---|---|---|
| drug_name | Yes | Drug name โ generic or brand name accepted |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It lists the types of information returned (drug class, enzymes, brand names, etc.) and gives usage context. However, it does not mention that the tool is read-only or if it has any side effects, but for a data lookup tool this is sufficient.
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 sentences plus an imperative instruction, all front-loaded with essential information. No wasted words.
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?
The description covers purpose, usage sequence, and scope. Without an output schema, listing the types of information (drug class, enzymes, etc.) provides good completeness. Could be explicit about the exact return structure but is adequate 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 100% with one parameter (drug_name) described as 'Drug name โ generic or brand name accepted'. The description repeats this but adds context about what the tool does with the name. Baseline 3 since schema already documents the parameter adequately.
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 clearly states the tool gets comprehensive pharmacological information about a drug, listing specific details like drug class, enzyme pathways, brand/generic names, primary use, and common interactions. It distinguishes from sibling tools by specifying it should be called first before check_drug_interactions.
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 description explicitly says 'ALWAYS call this tool first before calling check_drug_interactions' and explains why (understanding mechanism helps determine which patient medications to be concerned about).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
orchestrator_check_drug_interactionsA
Checks real-time drug interaction safety by querying FDA adverse event reports, PubMed biomedical research, and ClinicalTrials.gov simultaneously. Call this when a doctor wants to prescribe a new drug to a patient already on other medications. Returns live evidence from all three sources with dates, so you know the data is current. Always call get_drug_info first to understand the mechanism, then call this tool.
| Name | Required | Description | Default |
|---|---|---|---|
| new_drug | Yes | The new drug the doctor wants to prescribe. Use the generic name where possible. | |
| patient_context | No | Patient clinical context โ the more you provide, the more specific the analysis | |
| current_medications | Yes | Complete list of drugs the patient is currently taking. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool queries three sources and returns live evidence with dates, indicating current data. However, it does not mention potential delays, partial failures, or other behavioral traits. The transparency is adequate but not thorough.
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 concise, with four sentences. The first sentence states the purpose, the second gives usage, the third highlights a benefit (current data), and the fourth provides a prerequisite. No unnecessary words.
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?
Given the complexity (three sources, real-time) and no output schema, the description should explain what is returned more thoroughly. It only says 'live evidence with dates,' which is vague. It also doesn't describe the format or structure of the output, leaving gaps.
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 baseline is 3. The description adds value by advising to use generic names for new_drug and by noting that providing more patient_context yields more specific analysis. This goes beyond the schema 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?
The description clearly states the tool's purpose: checking drug interaction safety by querying FDA adverse event reports, PubMed, and ClinicalTrials.gov simultaneously. It distinguishes itself from sibling tools like get_drug_info (mechanism) and polypharmacy_risk (risk assessment).
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 description explicitly says when to call it: when a doctor wants to prescribe a new drug to a patient already on other medications. It also recommends calling get_drug_info first, providing a clear prerequisite. It does not explicitly mention when not to use or alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
polypharmacy_risk_check_polypharmacy_riskC
Checks every pair of medications in a patient medication list for interaction risks.
| Name | Required | Description | Default |
|---|---|---|---|
| patient_medications | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should disclose behavioral traits. It does not mention whether the operation is read-only, if interactions are returned sorted or categorized, or any side effects. The description is too minimal to inform the agent about behavioral expectations.
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 concise sentence, but it lacks sufficient detail. It is front-loaded but fails to earn its place because it omits critical information that could be added without much bloat.
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?
Given the tool performs a complex check (polypharmacy risk) and has no output schema, the description should explain the output format (e.g., list of interactions, severity). It provides no information about return values or behavior, leaving a significant gap for an AI agent.
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?
The schema has 0% description coverage for the single parameter. The description adds no meaning about what format medication strings should take (e.g., names, codes), leaving the agent without guidance on how to populate the input 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?
The description clearly states the tool checks every pair of medications in a patient list for interaction risks, specifying the action and resource. It is specific enough to distinguish from some siblings, but does not explicitly differentiate from the similar 'orchestrator_check_drug_interactions' 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?
No guidance is provided on when to use this tool versus alternatives, such as the sibling 'orchestrator_check_drug_interactions'. There is no indication of prerequisites or exclusions.
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.
5 tool updates
v1.0.0- First observed
clinical_trials_search_clinical_trials - First observed
drug_alternatives_get_drug_alternatives - First observed
drug_info_get_drug_info - First observed
orchestrator_check_drug_interactions - First observed
polypharmacy_risk_check_polypharmacy_risk
TDQS
Scored across 5 tools
Tools have distinct purposes, but there is some overlap: orchestrator_check_drug_interactions already queries ClinicalTrials.gov, overlapping with clinical_trials_search_clinical_trials. Also, polypharmacy_risk_check_polypharmacy_risk duplicates the interaction checking logic for multiple medications. Descriptions help differentiate, but boundaries are not perfectly clear.
Naming uses long descriptive underscores, but prefixes are inconsistent: 'orchestrator_', 'drug_info_', 'drug_alternatives_', 'clinical_trials_', 'polypharmacy_risk_'. Also, 'clinical_trials_search_clinical_trials' is redundant. Overall, pattern is present but mixed.
With 5 tools, the server is well-scoped for its purpose. Each tool covers an essential step in the drug interaction workflow. Could potentially be consolidated (e.g., search trials into check interactions), but current count is reasonable.
Covers core workflow: get info, check interactions, find alternatives, search trials, polypharmacy check. Missing drug-food interactions and allergy checks, but these are tangential. Minor gaps, but agents can still complete main tasks.
Maintenance
Related MCP Connectors
Hybrid human + AI expertise for faster, trusted answers and decisions via MCP Server.
Auditable MCP server for PubMed, Europe PMC, ClinicalTrials.gov, and bioRxiv/medRxiv queries
MCP gateway federating 22 biomedical MCP servers behind one endpoint: gnomAD, ClinVar, HPO, VEP.
MCP server for querying BrainKB, a knowledge base for neuroscience knowledge graphs.
Related MCP Servers
- AlicenseBqualityCmaintenanceAn MCP server that provides standardized access to biomedical knowledge bases and resources, enabling AI systems to retrieve verified information from sources like bioRxiv, EuropePMC, and various protein/gene databases.5230Apache 2.0
- AlicenseBqualityCmaintenanceAn MCP server that connects AI assistants to OpenEMR instances to manage patient records, clinical trends, and medication safety. It provides 17 tools for tasks such as patient search, drug interaction checks, and generating comprehensive health trajectories and visit preparations.17MIT
- FlicenseNot gradedqualityDmaintenanceA comprehensive MCP server that bridges AI applications with FHIR healthcare data systems, enabling patient data access, clinical data retrieval, and data quality assessment.4-
- FlicenseNot gradedqualityDmaintenanceAn MCP server that analyzes patient symptoms using AI, suggests potential diagnoses, and retrieves relevant medical literature from PubMed.-