drug-pipeline-mcp
Pharmaceutical R\&D Pipeline Intelligence for AI Agents β Clinical trials, FDA approvals, drug information & publications in one MCP server.
README
π drug-pipeline-mcp
Pharmaceutical R&D Pipeline Intelligence for AI Agents β Clinical trials, FDA approvals, drug information & publications in one MCP server.
No hallucination. Every output traces to a source NCT ID, FDA application number, or PMID.
Quick Start
pip install git+https://github.com/DasClown/drug-pipeline-mcp.git
# or try it on Smithery: https://smithery.ai/servers/crop-mcp/drug-pipeline
# Start MCP server (stdio)
drug-pipeline
# Or HTTP mode for remote access
pip install drug-pipeline-mcp[http]
drug-pipeline --http --port 8081
Tools (16)
| Tool | What it does | Data Source |
|---|---|---|
search_trials |
Search clinical trials by condition, phase, status, sponsor | ClinicalTrials.gov |
get_trial_detail |
Full protocol for a specific NCT (eligibility, outcomes, locations) | ClinicalTrials.gov |
lookup_drug |
Drug info: active ingredients, strength, ATC classification, NDC | openFDA + RxNorm |
get_approvals |
FDA approval history with submission dates and status | openFDA |
get_eu_approvals |
EU/EMA authorization status β brand names, ATC, status, orphan/biosimilar flags | EMA Daily XLSX |
get_safety_data |
FAERS adverse event reports β top reactions, serious outcomes, total count | openFDA FAERS |
approved_for_condition |
Find drugs by indication β which drugs are EU-approved for a condition | EMA Daily XLSX |
get_trial_results |
Trial results β outcome measures, adverse events, baseline, participant flow | ClinicalTrials.gov |
list_orphan_drugs |
EU orphan drug designations β filter by therapeutic area | EMA Daily XLSX |
company_pipeline |
Company R&D pipeline β all trials grouped by phase + EU approval status | ClinicalTrials.gov + EMA |
search_publications |
PubMed search for drug/trial publications | PubMed / NCBI |
get_drug_label |
FDA drug label β indications, boxed warnings, contraindications, dosing | openFDA Drug Labeling |
get_recalls |
FDA drug recalls β Class I/II/III, reasons, dates, recalling firms | openFDA Enforcement |
detect_safety_signals |
PRR safety signal detection β disproportionate adverse event analysis | openFDA FAERS |
get_patent_expiry |
Patent & exclusivity info β approval dates, market exclusivity estimates | openFDA |
drug_pipeline |
Composite β drug info + FDA + EU + safety + label + signals + recalls + trials + pubs + patent | All sources |
Example Agent Queries
"What's in the pipeline for GLP-1 agonists?" β
drug_pipeline(drug_name="semaglutide")β ATC class, FDA status, 10+ trials, publications
"Which companies have Phase 3 trials for non-small cell lung cancer?" β
search_trials(condition="non-small cell lung cancer", phase="PHASE3", status="RECRUITING")
"Is pembrolizumab approved in the EU vs US?" β
get_approvals(drug_name="Keytruda")β FDA submission history with dates βget_eu_approvals(drug_name="Keytruda")β EU authorization status
"What are the safety signals for semaglutide?" β
get_safety_data(drug_name="semaglutide")β 6,027 FAERS reports, top reactions: Nausea (862), Vomiting (750) βdetect_safety_signals(drug_name="semaglutide")β PRR analysis, disproportionate signals
"What does the label say for Keytruda?" β
get_drug_label(drug_name="Keytruda")β indications, boxed warnings, contraindications, dosing
"Are there recalls for Tylenol?" β
get_recalls(drug_name="Tylenol")β recall dates, reasons, classification, firms
"When does the patent for Keytruda expire?" β
get_patent_expiry(drug_name="Keytruda")β approval dates, exclusivity information
"What drugs are approved for non-small cell lung cancer?" β
approved_for_condition(condition="non-small cell lung cancer")β 82 drugs (Keytruda, Tagrisso, Opdivo, Tecentriq, ...)
"What are the eligibility criteria for NCT03178617?" β
get_trial_detail(nct_id="NCT03178617")
Example Output (drug_pipeline)
{
"status": "ok",
"query": {"drug_name": "semaglutide"},
"drug_info": {
"atc_classification": {"code": "A10BJ", "name": "GLP-1 analogues"},
"rxcui": "1991302",
"products": [{"brand_name": "Ozempic", "generic_name": "semaglutide", "labeler": "Novo Nordisk"}]
},
"clinical_trials": { "results": [ ... ] },
"publications": { "total_count": 846, "returned_count": 5 },
"data_sources": ["openFDA", "RxNorm", "PubMed", "clinicaltrials.gov"]
}
Architecture
drug-pipeline-mcp/
βββ drug_pipeline/
β βββ __init__.py # Version
β βββ server.py # MCP server (16 tools)
β βββ sources.py # Data source fetchers
βββ drug_pipeline_cli.py # CLI entry point
βββ pyproject.toml
βββ README.md
No machine learning. No predictions. Only structured synthesis of verified primary sources.
Data Sources
| Source | Data | Free |
|---|---|---|
| ClinicalTrials.gov | 500K+ studies, phases, status, eligibility, results | β Always free |
| openFDA Drug Approvals | FDA approvals, NDC directory, submissions | β Always free |
| openFDA FAERS | Adverse event reports, reactions, outcomes | β Always free |
| RxNorm / RxNav | Drug identifiers, ATC classification | β Always free |
| PubMed / NCBI | Scientific publications | β Always free |
| EMA Medicines Register | EU authorization status, ATC, orphan/biosimilar flags, therapeutic areas | β Always free |
Anti-Hallucination
Every result includes:
- NCT ID β
https://clinicaltrials.gov/study/NCT... - FDA Application Number β
https://www.accessdata.fda.gov/... - PMID β
https://pubmed.ncbi.nlm.nih.gov/PMID...
No calculated fields, no predictions, no "ungefΓ€hre" estimates.
Language
All output is in English (JSON field names, descriptions, results). The server can be configured via the language parameter on Smithery for future localization support.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.