Skip to main content
Glama
VidyasreeJayaprasad

DrugWise

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.

Model Context Protocol Built with Nitrostack Status

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 install

Configuration

Copy the example environment file and add your own values:

cp .env.example .env

Run

npm run start

Connect 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 tools
clinical_trials_search_clinical_trialsC

Search ClinicalTrials.gov for studies related to a drug and current medications.

ParametersJSON Schema
NameRequiredDescriptionDefault
newDrugYes
currentMedicationsYes

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
drug_classNoDrug class if known e.g. "azole antifungal" โ€” helps narrow alternatives faster
drug_to_replaceYesThe drug that has the dangerous interaction and needs to be replaced
condition_being_treatedYesWhat the drug was being prescribed for e.g. "fungal infection", "hypertension", "depression"
patient_current_medicationsYesPatient current medications โ€” needed to ensure the alternative also does not interact

TDQS

A4.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
drug_nameYesDrug name โ€” generic or brand name accepted

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
new_drugYesThe new drug the doctor wants to prescribe. Use the generic name where possible.
patient_contextNoPatient clinical context โ€” the more you provide, the more specific the analysis
current_medicationsYesComplete list of drugs the patient is currently taking.

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
patient_medicationsYes

TDQS

C2.4/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness1/5

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.

Parameters1/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

  1. 5 tool updatesv1.0.0
    • First observedclinical_trials_search_clinical_trials
    • First observeddrug_alternatives_get_drug_alternatives
    • First observeddrug_info_get_drug_info
    • First observedorchestrator_check_drug_interactions
    • First observedpolypharmacy_risk_check_polypharmacy_risk

TDQS

B3.3/5.0

Scored across 5 tools

Disambiguation4/5

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 Consistency3/5

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.

Tool Count4/5

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.

Completeness4/5

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

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    An 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.
    17
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive MCP server that bridges AI applications with FHIR healthcare data systems, enabling patient data access, clinical data retrieval, and data quality assessment.
    4
    -