Zum Inhalt springen

DDI-Checker — MCP-Server (Prototyp) für Interaktions-Recherche

Prototyp eines MCP-Servers zur Recherche von Arzneimittel-Wechselwirkungen in öffentlichen US-Daten (openFDA, FAERS).

2026

Experimenteller Prototyp, nicht für den klinischen Einsatz, nicht für die Patientenversorgung.

Eine Wechselwirkung (englisch Drug-Drug Interaction, kurz DDI) bedeutet, dass sich zwei Arzneistoffe gegenseitig beeinflussen. Für ein Wirkstoffpaar prüft das Werkzeug, ob offizielle Quellen eine solche Wechselwirkung nennen und welche Nebenwirkungen für dieses Paar gemeinsam gemeldet wurden. MCP steht für Model Context Protocol — ein offener Standard, über den ein KI-Assistent externe Werkzeuge und Datenquellen anspricht; hier stellt er die Nachschlage-Funktion einem KI-System bereit. Durchgehend gilt dabei ein cite-only-Prinzip (englisch „nur zitieren”): Der Server gibt nur die Fundstelle wieder — was die Quelle sagt —, nie eine eigene Bewertung.

Was der Server macht

Drei Werkzeuge greifen ineinander:

  • Fachinformations-Abgleich (check_pair, openFDA Drug Label): Nennt die offizielle US-Fachinformation eines Arzneimittels den jeweils anderen Wirkstoff in einem Wechselwirkungs- oder Warnabschnitt? Geprüft wird in beide Richtungen und sowohl namentlich als auch über die Wirkstoffklasse — die pharmakologische Gruppe eines Stoffes, etwa NSAR (nichtsteroidale Antirheumatika) oder SSRI (selektive Serotonin-Wiederaufnahmehemmer).
  • Gemeinsame Nebenwirkungs-Meldungen (coreported_adverse_events, FAERS): Welche unerwünschten Wirkungen wurden für genau dieses Wirkstoffpaar zusammen gemeldet?
  • Mehrere Wirkstoffe, paarweise (screen_regimen): Bei einer Wirkstoffliste schlägt der Server jedes vorkommende Paar einzeln nach (bei n Wirkstoffen n·(n−1)/2 Paare) — ein paarweiser Referenz-Lookup über die Liste, keine Gesamtbewertung der Medikation. Wechselwirkungen sind ein multifaktorielles Geschehen; die paarweise Prüfung ist eine handhabbare Näherung, kein vollständiges Bild.

Die Quellen

openFDA und FAERS sind gemeinfreie US-Behördendaten; RxNorm/RxClass werden über die offene RxNav-API abgefragt:

  • openFDA — die offene Abfrageschnittstelle (API, Application Programming Interface: eine maschinenlesbare Schnittstelle, über die ein Programm Daten abruft) der FDA, der US-amerikanischen Arzneimittelbehörde (Food and Drug Administration). Liefert die Fachinformationen.
  • FAERS (FDA Adverse Event Reporting System) — eine Datenbank mit Spontanmeldungen: freiwillig gemeldete Verdachtsfälle von Nebenwirkungen, etwa aus Fachkreisen, von Patienten oder Herstellern. Sie zeigt, was berichtet wurde — nicht, was belegt ist.
  • RxNorm und RxClass — Namens- und Klassifikationsdienste der US-Bibliothek NLM (National Library of Medicine). Sie übersetzen jeden Eingabe- oder Handelsnamen in den einheitlichen US-Wirkstoffnamen (Beispiel: Paracetamolacetaminophen) und liefern auch die Wirkstoffklasse. Ohne diese Normierung würde der Abgleich schon an unterschiedlichen Schreibweisen und Namen scheitern.

Signal oder Rauschen: die PRR

Statt die FAERS-Meldungen nur weiterzureichen, berechnet der Server die PRR (Proportional Reporting Ratio, proportionales Melde-Verhältnis). Die PRR ist eine Standard-Disproportionalitäts-Kennzahl der Pharmakovigilanz zur Signaldetektion aus Spontanmeldungen — eingeführt von Evans et al. 2001 und u. a. für FAERS-Auswertungen gebräuchlich. Vereinfacht gefragt: Tritt eine bestimmte Nebenwirkung bei diesem Wirkstoffpaar deutlich häufiger auf, als über alle Meldungen hinweg zu erwarten wäre? Wenn ja, ist das ein Disproportionalitäts-Signal — ein statistischer Auffälligkeits-Hinweis, der echtes Signal von allgemeinem Melderauschen trennt. Entscheidend: Ein solches Signal ist ein Hinweis, kein Beweis. Dass etwas gemeinsam gemeldet wird, ist nicht dasselbe wie ein ursächlicher Zusammenhang.

Nur zitieren, nicht bewerten

Was cite-only in der Praxis bedeutet: kein Schweregrad, keine Therapieempfehlung — der Server gibt nur die Fundstelle wieder. Auch die berechnete PRR ist dabei ein statistisches Signal, kein Schweregrad. Der Befund found=false heißt deshalb ausdrücklich nicht „keine Wechselwirkung”, sondern nur: „die geprüften Quellen nennen keine”. Jede Antwort trägt den Hinweis, dass die fachliche Bewertung bei der Apothekerin bleibt.

Ob Software ein Medizinprodukt ist, entscheidet nach der MDR (Medical Device Regulation, EU 2017/745) nicht die Technik, sondern die Zweckbestimmung — der Zweck, den der Hersteller dem Werkzeug ausdrücklich zuschreibt. Sobald ein System Schweregrade vergibt oder Therapieentscheidungen stützt, hat es eine medizinische Zweckbestimmung und wäre als Medizinprodukt reguliert. Als reines Informationssystem gibt sich das Werkzeug keine solche Zweckbestimmung.

Limitationen

Methodisch und herkunftsbedingt:

  • found=false heißt nicht „keine Wechselwirkung”, sondern: die abgefragten US-Quellen nennen keine.
  • openFDA liefert US-Fachinformationen, FAERS US-Spontanmeldungen. In Deutschland/Europa zugelassene, in den USA aber nicht geführte Wirkstoffe haben kein Label, auch wenn der Name auflöst. Die deutsche Fachinformation kann zudem andere Wechselwirkungen und Warnhinweise nennen.
  • FAERS ist Spontanmeldung, keine Kausalität. Die PRR filtert generisches Rauschen, trennt aber ein Wechselwirkungssignal nicht von dem Ko-Reporting, das schon aus den Einzelprofilen beider Stoffe folgt.
  • Geprüft wird Paar für Paar; additive Effekte (z. B. Serotonin-Last, QT-Verlängerung, anticholinerge Last) sind nicht paarweise zerlegbar und bleiben außerhalb des Modells.

Der Server liefert Recherche-Fundstellen, die fachliche Bewertung bleibt bei der Apothekerin.

Technischer Aufbau

Datenfluss des ddi-checker MCP-Servers: eine Anfrage vom MCP-Client läuft durch die RxNorm-Normalisierung und teilt sich dann in Zweig A (openFDA-Label-Scan) und Zweig B (FAERS-Signal mit PRR); jedes Werkzeug gibt ein cite-only-JSON-Dict an den Client zurück.

Datenfluss:
RxNorm-Normalisierung → Label-Scan (Zweig A) und FAERS-Signal (Zweig B) → cite-only-JSON zurück an den Client

So läuft eine Anfrage: Der KI-Client ruft eines der drei Werkzeuge auf — im Sprachgebrauch von KI-Systemen ein MCP Tool Call (auch Tool Use). Dabei übergibt er nur die rohen Wirkstoffnamen, so wie sie ankommen. Der erste Schritt innerhalb des Werkzeugs ist die RxNorm-Normalisierung — bewusst serverseitig, damit der Client keine US-Wirkstoffnamen kennen muss. Erst danach folgen Fachinformations-Abgleich und FAERS-Signal. Zurück an den Client geht ein cite-only-JSON-Dict, also das Ergebnis als strukturierter Datensatz.

Der Server folgt dem MCP-Standard und gibt seine Ergebnisse als JSON zurück — ein einfaches, maschinenlesbares Textformat. Die Verbindung zum KI-Client läuft über streamable-http (den Transportweg zwischen Client und Server); umgesetzt mit dem Software-Baustein FastMCP. Betrieben wird der Server auf eigener Infrastruktur (Hetzner, Coolify) als laufender Prototyp zu Demonstrations- und Forschungszwecken.