Skip to main content
Glama

MCP-Server für das Gesundheitswesen

Schmiedeabzeichen 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 claude

Manuelle Installation

  1. Klonen Sie das Repository:

    git clone https://github.com/Cicatriiz/healthcare-mcp-public.git
    cd healthcare-mcp-public
  2. Erstellen Sie eine virtuelle Umgebung:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Installieren Sie Abhängigkeiten:

    pip install -r requirements.txt
  4. Umgebungsvariablen einrichten (optional):

    # Create .env file from example
    cp .env.example .env
    # Edit .env with your API keys (optional)
  5. Führen Sie den Server aus:

    python run.py

Verwendung

Laufen mit verschiedenen Verkehrsmitteln

  • stdio-Modus (Standard, für Cline):

    python run.py
  • HTTP/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 8000

Aus 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 lookup

API-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 /health

Gibt 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 Medikaments

  • search_type : Art der abzurufenden Informationen

    • general : Grundlegende Arzneimittelinformationen (Standard)

    • label : Informationen zur Arzneimittelkennzeichnung

    • adverse_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 Literatur

  • max_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 Informationssuche

  • language : 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 soll

  • status : 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-tool

Anforderungstext:

{
  "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 Medikaments

  • search_type : Art der abzurufenden Informationen

    • general : Grundlegende Arzneimittelinformationen (Standard)

    • label : Informationen zur Arzneimittelkennzeichnung

    • adverse_events : Gemeldete unerwünschte Ereignisse

PubMed-Suche

pubmed_search(query: str, max_results: int = 5, date_range: str = "")

Parameter:

  • query : Suchanfrage für medizinische Literatur

  • max_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 Informationssuche

  • language : 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 soll

  • status : 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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Cicatriiz/healthcare-mcp-public'

If you have feedback or need assistance with the MCP directory API, please join our Discord server