MCP-Server für das Gesundheitswesen
Ein Model Context Protocol (MCP)-Server, der KI-Assistenten Zugriff auf Gesundheitsdaten und medizinische Informationstools bietet.
Überblick
Der Healthcare MCP Server ist ein spezialisierter Server, der das Model Context Protocol (MCP) implementiert, um KI-Assistenten Zugriff auf Gesundheitsdaten und medizinische Informationstools zu ermöglichen. Er ermöglicht es KI-Modellen, genaue und aktuelle medizinische Informationen aus zuverlässigen Quellen abzurufen.
Related MCP server: MCP Toolkit
Merkmale
FDA-Arzneimittelinformationen : Suchen und Abrufen umfassender Arzneimittelinformationen aus der FDA-Datenbank
PubMed-Recherche : Durchsuchen Sie die medizinische Literatur in der PubMed-Datenbank mit wissenschaftlichen Artikeln
Gesundheitsthemen : Greifen Sie auf evidenzbasierte Gesundheitsinformationen von Health.gov zu
Klinische Studien : Suche nach laufenden und abgeschlossenen klinischen Studien
Medizinische Terminologie : Suchen Sie nach ICD-10-Codes und Definitionen der medizinischen Terminologie
Caching : Effizientes Caching-System mit Verbindungspooling zur Reduzierung von API-Aufrufen und Verbesserung der Leistung
Nutzungsverfolgung : Anonyme Nutzungsverfolgung zur Überwachung der API-Nutzung
Fehlerbehandlung : Robuste Fehlerbehandlung und Protokollierung
Mehrere Schnittstellen : Unterstützung sowohl für stdio- (für CLI) als auch für HTTP/SSE-Schnittstellen
API-Dokumentation : Interaktive API-Dokumentation mit Swagger UI
Umfassende Tests : Umfangreiche Testsuite mit Pytest und Coverage-Reporting
Installation
Installation über Smithery
So installieren Sie den Healthcare Data and Medical Information Server für Claude Desktop automatisch über Smithery :
npx -y @smithery/cli install @Cicatriiz/healthcare-mcp-public --client claudeManuelle Installation
Klonen Sie das Repository:
git clone https://github.com/Cicatriiz/healthcare-mcp-public.git cd healthcare-mcp-publicErstellen Sie eine virtuelle Umgebung:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activateInstallieren Sie Abhängigkeiten:
pip install -r requirements.txtUmgebungsvariablen einrichten (optional):
# Create .env file from example cp .env.example .env # Edit .env with your API keys (optional)Führen Sie den Server aus:
python run.py
Verwendung
Laufen mit verschiedenen Verkehrsmitteln
stdio-Modus (Standard, für Cline):
python run.pyHTTP/SSE-Modus (für Webclients):
python run.py --http --port 8000
Testen der Tools
Sie können die MCP-Tools mit der neuen, auf pytest basierenden Testsuite testen:
# Run all tests with pytest and coverage
python -m tests.run_tests --pytest
# Run a specific test file
python -m tests.run_tests --test test_fda_tool.py
# Test the HTTP server
python -m tests.run_tests --server --port 8000Aus Gründen der Abwärtskompatibilität können Sie die alten Tests weiterhin ausführen:
# Run all tests (old style)
python -m tests.run_tests
# Test individual tools (old style)
python -m tests.run_tests --fda # Test FDA drug lookup
python -m tests.run_tests --pubmed # Test PubMed search
python -m tests.run_tests --health # Test Health Topics
python -m tests.run_tests --trials # Test Clinical Trials search
python -m tests.run_tests --icd # Test ICD-10 code lookupAPI-Referenz
Der Healthcare MCP Server bietet sowohl eine programmgesteuerte API für die direkte Integration als auch eine RESTful HTTP API für Webclients.
RESTful API-Endpunkte
Beim Ausführen im HTTP-Modus sind die folgenden Endpunkte verfügbar:
Gesundheitscheck
GET /healthGibt den Status des Servers und seiner Dienste zurück.
FDA-Medikamentensuche
GET /api/fda?drug_name={drug_name}&search_type={search_type}Parameter:
drug_name: Name des zu suchenden Medikamentssearch_type: Art der abzurufenden Informationengeneral: Grundlegende Arzneimittelinformationen (Standard)label: Informationen zur Arzneimittelkennzeichnungadverse_events: Gemeldete unerwünschte Ereignisse
Beispielantwort:
{
"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"
}
]
}
]
}PubMed-Suche
GET /api/pubmed?query={query}&max_results={max_results}&date_range={date_range}Parameter:
query: Suchanfrage für medizinische Literaturmax_results: Maximale Anzahl der zurückzugebenden Ergebnisse (Standard: 5, Max: 50)date_range: Beschränkung auf Artikel, die innerhalb von Jahren veröffentlicht wurden (z. B. „5“ für die letzten 5 Jahre)
Beispielantwort:
{
"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/"
}
]
}Gesundheitsthemen
GET /api/health_finder?topic={topic}&language={language}Parameter:
topic: Gesundheitsthema zur Informationssuchelanguage: Sprache für den Inhalt (en oder es, Standard: en)
Beispielantwort:
{
"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..."]
}
]
}Suche nach klinischen Studien
GET /api/clinical_trials?condition={condition}&status={status}&max_results={max_results}Parameter:
condition: Medizinischer Zustand oder Krankheit, nach der gesucht werden sollstatus: Teststatus (Rekrutierung, abgeschlossen, aktiv, keine Rekrutierung oder alle)max_results: Maximale Anzahl der zurückzugebenden Ergebnisse (Standard: 10, Max: 100)
Beispielantwort:
{
"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"
}
}
]
}ICD-10-Code-Suche
GET /api/medical_terminology?code={code}&description={description}&max_results={max_results}Parameter:
code: Nachzuschlagender ICD-10-Code (optional, wenn eine Beschreibung angegeben ist)description: Beschreibung des zu suchenden medizinischen Zustands (optional, wenn ein Code angegeben ist)max_results: Maximale Anzahl der zurückzugebenden Ergebnisse (Standard: 10, Max: 50)
Beispielantwort:
{
"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"
}
]
}Generische Tool-Ausführung
POST /mcp/call-toolAnforderungstext:
{
"name": "fda_drug_lookup",
"arguments": {
"drug_name": "aspirin",
"search_type": "general"
},
"session_id": "optional-session-id"
}Programmatische API
Bei der programmgesteuerten Verwendung des MCP-Servers stehen folgende Funktionen zur Verfügung:
FDA-Medikamentensuche
fda_drug_lookup(drug_name: str, search_type: str = "general")Parameter:
drug_name: Name des zu suchenden Medikamentssearch_type: Art der abzurufenden Informationengeneral: Grundlegende Arzneimittelinformationen (Standard)label: Informationen zur Arzneimittelkennzeichnungadverse_events: Gemeldete unerwünschte Ereignisse
PubMed-Suche
pubmed_search(query: str, max_results: int = 5, date_range: str = "")Parameter:
query: Suchanfrage für medizinische Literaturmax_results: Maximale Anzahl der zurückzugebenden Ergebnisse (Standard: 5)date_range: Beschränkung auf Artikel, die innerhalb von Jahren veröffentlicht wurden (z. B. „5“ für die letzten 5 Jahre)
Gesundheitsthemen
health_topics(topic: str, language: str = "en")Parameter:
topic: Gesundheitsthema zur Informationssuchelanguage: Sprache für den Inhalt (en oder es, Standard: en)
Suche nach klinischen Studien
clinical_trials_search(condition: str, status: str = "recruiting", max_results: int = 10)Parameter:
condition: Medizinischer Zustand oder Krankheit, nach der gesucht werden sollstatus: Teststatus (Rekrutierung, abgeschlossen, aktiv, keine Rekrutierung oder alle)max_results: Maximale Anzahl der zurückzugebenden Ergebnisse
ICD-10-Code-Suche
lookup_icd_code(code: str = None, description: str = None, max_results: int = 10)Parameter:
code: Nachzuschlagender ICD-10-Code (optional, wenn eine Beschreibung angegeben ist)description: Beschreibung des zu suchenden medizinischen Zustands (optional, wenn ein Code angegeben ist)max_results: Maximale Anzahl der zurückzugebenden Ergebnisse
Datenquellen
Dieser MCP-Server nutzt mehrere öffentlich verfügbare APIs für das Gesundheitswesen:
Premium-Version (wird noch erstellt)
Dies ist die kostenlose Version des Healthcare MCP Servers mit Nutzungsbeschränkungen. Für erweiterte Funktionen und höhere Nutzungsbeschränkungen sehen Sie sich unsere Premium-Version an:
Unbegrenzte API-Aufrufe
Erweiterte Tools für Gesundheitsdaten
Benutzerdefinierte Integrationen
Vorrangiger Support
Lizenz
MIT-Lizenz