
Healthcare
STDIOHealthcare MCP server providing AI assistants with medical data and information tools.
Healthcare MCP server providing AI assistants with medical data and information tools.
A Model Context Protocol (MCP) server providing AI assistants with access to healthcare data and medical information tools.
Healthcare MCP Server is a specialized Node.js server that implements the Model Context Protocol (MCP) to provide AI assistants with access to healthcare data and medical information tools. It enables AI models to retrieve accurate, up-to-date medical information from authoritative sources. This repository provides a single DXT package containing the complete Node.js implementation.
This repository includes a packaged DXT (Desktop Extension) file for easy installation in compatible development environments. Download healthcare-mcp.dxt
for one-click installation.
healthcare-mcp.dxt
from this repositoryTo install Healthcare Data and Medical Information Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @Cicatriiz/healthcare-mcp-public --client claude
Install the package:
npm install healthcare-mcp
Run the server:
npx healthcare-mcp
Clone the repository:
git clone https://github.com/Cicatriiz/healthcare-mcp-public.git cd healthcare-mcp-public/server
Install dependencies:
npm install
Set up environment variables (optional):
# Create .env file from example cp .env.example .env # Edit .env with your API keys (optional)
Run the server:
npm start
stdio mode (default, for MCP clients):
npm start
HTTP/SSE mode (for web clients):
npm run server:http
You can test the MCP tools using the built-in test scripts:
# Test all tools npm test # Test individual tools npm run test:fda # Test FDA drug lookup npm run test:pubmed # Test PubMed search npm run test:health # Test Health Topics npm run test:trials # Test Clinical Trials search npm run test:icd # Test ICD-10 code lookup
The Healthcare MCP Server provides both a programmatic API for direct integration and a RESTful HTTP API for web clients.
When running in HTTP mode, the following endpoints are available:
GET /health
Returns the status of the server and its services.
GET /api/fda?drug_name={drug_name}&search_type={search_type}
Parameters:
drug_name
: Name of the drug to search forsearch_type
: Type of information to retrieve
general
: Basic drug information (default)label
: Drug labeling informationadverse_events
: Reported adverse eventsExample Response:
{ "status": "success", "drug_name": "aspirin", "search_type": "general", "total_results": 25, "results": [ { "brand_name": "ASPIRIN", "generic_name": "ASPIRIN", "manufacturer": "Bayer Healthcare", "product_type": "HUMAN OTC DRUG", "route": "ORAL", "active_ingredients": [ { "name": "ASPIRIN", "strength": "325 mg/1" } ] } ] }
GET /api/pubmed?query={query}&max_results={max_results}&date_range={date_range}
Parameters:
query
: Search query for medical literaturemax_results
: Maximum number of results to return (default: 5, max: 50)date_range
: Limit to articles published within years (e.g. '5' for last 5 years)Example Response:
{ "status": "success", "query": "diabetes treatment", "total_results": 123456, "date_range": "5", "articles": [ { "pmid": "12345678", "title": "New advances in diabetes treatment", "authors": ["Smith J", "Johnson A"], "journal": "Journal of Diabetes Research", "publication_date": "2023-01-15", "abstract": "This study explores new treatment options...", "url": "https://pubmed.ncbi.nlm.nih.gov/12345678/" } ] }
GET /api/health_finder?topic={topic}&language={language}
Parameters:
topic
: Health topic to search for informationlanguage
: Language for content (en or es, default: en)Example Response:
{ "status": "success", "search_term": "diabetes", "language": "en", "total_results": 15, "topics": [ { "title": "Diabetes Type 2", "url": "https://health.gov/myhealthfinder/topics/health-conditions/diabetes/diabetes-type-2", "last_updated": "2023-05-20", "section": "Health Conditions", "description": "Information about managing type 2 diabetes", "content": ["Diabetes is a disease...", "Treatment options include..."] } ] }
GET /api/clinical_trials?condition={condition}&status={status}&max_results={max_results}
Parameters:
condition
: Medical condition or disease to search forstatus
: Trial status (recruiting, completed, active, not_recruiting, or all)max_results
: Maximum number of results to return (default: 10, max: 100)Example Response:
{ "status": "success", "condition": "breast cancer", "search_status": "recruiting", "total_results": 256, "trials": [ { "nct_id": "NCT12345678", "title": "Study of New Treatment for Breast Cancer", "status": "Recruiting", "phase": "Phase 2", "study_type": "Interventional", "conditions": ["Breast Cancer", "HER2-positive Breast Cancer"], "locations": [ { "facility": "Memorial Hospital", "city": "New York", "state": "NY", "country": "United States" } ], "sponsor": "National Cancer Institute", "url": "https://clinicaltrials.gov/study/NCT12345678", "eligibility": { "gender": "Female", "min_age": "18 Years", "max_age": "75 Years", "healthy_volunteers": "No" } } ] }
GET /api/medical_terminology?code={code}&description={description}&max_results={max_results}
Parameters:
code
: ICD-10 code to look up (optional if description is provided)description
: Medical condition description to search for (optional if code is provided)max_results
: Maximum number of results to return (default: 10, max: 50)Example Response:
{ "status": "success", "search_type": "description", "search_term": "diabetes", "total_results": 25, "codes": [ { "code": "E11", "description": "Type 2 diabetes mellitus", "category": "Endocrine, nutritional and metabolic diseases" }, { "code": "E10", "description": "Type 1 diabetes mellitus", "category": "Endocrine, nutritional and metabolic diseases" } ] }
POST /mcp/call-tool
Request Body:
{ "name": "fda_drug_lookup", "arguments": { "drug_name": "aspirin", "search_type": "general" }, "session_id": "optional-session-id" }
When using the MCP server through compatible clients, the following tools are available:
fda_drug_lookup(drug_name, search_type = "general")
Parameters:
drug_name
: Name of the drug to search forsearch_type
: Type of information to retrieve
general
: Basic drug information (default)label
: Drug labeling informationadverse_events
: Reported adverse eventspubmed_search(query, max_results = 5, date_range = "")
Parameters:
query
: Search query for medical literaturemax_results
: Maximum number of results to return (default: 5)date_range
: Limit to articles published within years (e.g. '5' for last 5 years)health_topics(topic, language = "en")
Parameters:
topic
: Health topic to search for informationlanguage
: Language for content (en or es, default: en)clinical_trials_search(condition, status = "recruiting", max_results = 10)
Parameters:
condition
: Medical condition or disease to search forstatus
: Trial status (recruiting, completed, active, not_recruiting, or all)max_results
: Maximum number of results to returnlookup_icd_code(code = null, description = null, max_results = 10)
Parameters:
code
: ICD-10 code to look up (optional if description is provided)description
: Medical condition description to search for (optional if code is provided)max_results
: Maximum number of results to returnmedrxiv_search(query, max_results = 10)
Parameters:
query
: Search query for medRxiv articlesmax_results
: Maximum number of results to returncalculate_bmi(height_meters, weight_kg)
Parameters:
height_meters
: Height in metersweight_kg
: Weight in kilogramsncbi_bookshelf_search(query, max_results = 10)
Parameters:
query
: Search query for NCBI Bookshelfmax_results
: Maximum number of results to returnextract_dicom_metadata(file_path)
Parameters:
file_path
: Path to the DICOM fileThis MCP server utilizes several publicly available healthcare APIs:
MIT License