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.

Zweckbestimmung: Forschungs- und Demonstrationsprototyp zur Untersuchung von Arzneimittelinformations-Workflows über MCP (Model Context Protocol). Nicht zur Anwendung auf Medikationen realer Personen; nicht für Dritte bereitgestellt; nicht für medizinische Zwecke im Sinne der MDR (Medical Device Regulation, EU 2017/745) bestimmt. Der Server ist nicht öffentlich zugänglich; Anfragen erfordern Zugangsdaten.

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 Wirkstoffliste. 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: Paracetamol → acetaminophen) und liefern auch die Wirkstoffklasse. Ohne diese Normierung würde der Abgleich schon an unterschiedlichen Schreibweisen und Namen scheitern.

Nutzungsbedingungen: „It is not the intention of NLM to provide specific medical advice, but rather to provide users with information to better understand their health and their medications. NLM urges you to consult with a qualified physician for advice about medications“ — wörtlich aus den Terms of Service von RxNav/RxClass (NLM = U.S. National Library of Medicine). FDA und NLM haben dieses Werkzeug weder geprüft noch gebilligt.

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 Fundstellen keine fachliche Bewertung ersetzen.

Ob Software ein Medizinprodukt ist, entscheidet nach der MDR (Medical Device Regulation, EU 2017/745) nicht die Technik, sondern die Zweckbestimmung: Sie ergibt sich aus Kennzeichnung, Gebrauchsanweisung sowie Werbe- und Verkaufsangaben (MDR Art. 2 Nr. 12). Software, die patientenbezogene Daten mit Arzneimitteldaten abgleicht, um Wechselwirkungen zu erkennen, kann ein Medizinprodukt sein — so hat es der EuGH für einen Wechselwirkungs-Checker entschieden (Urteil C-329/16, „Snitem und Philips France“). Deshalb ist dieser Prototyp ausdrücklich nicht für reale Medikationen bestimmt. Eine Orientierung für die Abgrenzung liefert die Leitlinie MDCG 2019-11.

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 Fundstellen ersetzen keine fachliche Bewertung.

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.