Skip to main content
Glama
scollard001

fhir-patient-consent-mcp-server

by scollard001

fhir-patient-consent-mcp-server

Ein MCP-Server, der es einem Modell erlaubt, Fragen zu einem Patienten, seiner Insulinpumpe und dazu, wer in die Einsicht dieser Daten eingewilligt hat, zu stellen – alle Informationen live aus einem FHIR-Store (R4) bezogen. Auf diesem Server werden keine Daten gespeichert; jede Antwort ist eine Echtzeit-FHIR-REST-Abfrage.

Er ist eine Ergänzung zu fhir-consent-service (einer Spring-Boot-API zum Schreiben von Patient/Device/Consent-Datensätzen nach FHIR), hat aber keine Code-Abhängigkeit davon – dieser Server hängt nur vom FHIR-Wire-Format ab und funktioniert daher mit jedem FHIR-R4-Endpunkt.

Werkzeuge

Werkzeug

Zweck

find_patient

Patient anhand der MRN und/oder des Nachnamens suchen

get_patient

Demografische Daten eines Patienten anhand einer FHIR-ID abrufen

get_patient_devices

Geräte eines Patienten auflisten (kennzeichnet Insulinpumpen über SNOMED CT 469756000)

get_patient_consents

Einwilligungen eines Patienten zur Datenweitergabe auflisten (Partner, Zweck, Datenbestand, Zeitraum)

check_partner_consent

Autorisierungsprüfung: Hat Partner X derzeit eine aktive Einwilligung für Patient Y?

Related MCP server: FHIR MCP Server

Ressource

fhir-chart://{patientId} – ein konsolidiertes JSON-„Chart" (Demografie + Geräte + aktuelle Einwilligungen) eines Patienten, das von einer Host-Anwendung direkt in den Kontext eingefügt werden soll, anstatt vom Modell über mehrere Tool-Aufrufe zusammengesetzt zu werden. Siehe docs/architecture.md für die Begründung, warum dies eine Ressource und kein sechstes Tool ist.

Einrichtung

npm install
npm run build

An einen FHIR-Server anbinden

export FHIR_BASE_URL=http://localhost:8081/fhir   # default shown
export FHIR_AUTH_TOKEN=...                         # optional bearer token

Der einfachste Weg, um Abfragedaten zu erhalten: Starten Sie im Verzeichnis des fhir-consent-service docker compose up -d (startet einen lokalen HAPI-FHIR-JPA-Server auf :8081) und legen Sie über dessen REST-API einen Patienten, ein Gerät und eine Einwilligung an – dann können Sie denselben Bestand hier abfragen.

Direktausführung (für Tests mit stdio)

npm run dev

In einem MCP-Client registrieren

Für Claude Desktop / Claude Code fügen Sie der MCP-Konfiguration Folgendes hinzu:

{
  "mcpServers": {
    "fhir-patient-consent": {
      "command": "node",
      "args": ["/absolute/path/to/fhir-patient-consent-mcp-server/dist/index.js"],
      "env": {
        "FHIR_BASE_URL": "http://localhost:8081/fhir"
      }
    }
  }
}

Führen Sie zuerst npm run build aus, damit dist/index.js vorhanden ist.

Beispielfragen nach der Verbindung

  • „Suchen Sie den Patienten mit der MRN MRN-778001.“

  • „Welche Insulinpumpe hat Patient 123 und wie lautet ihre Seriennummer?“

  • „Hat GlucoVue Remote Monitoring zuvor seine Zustimmung erhalten, die Gerätedaten von Patient 123 zu sehen?“

  • „Zeig mir den vollständigen Chart von Patient 123.“ (nutz die fhir-chart://-Ressource)

Tests

npm test

Unit-Tests decken die Mappers-Schicht (src/mappers/*.ts) ab, einschließlich der Consent-Autorisierungslogik in isConsentActiveForPartner – insbesondere der Umgang mit widerrufenen Einwilligungen, noch nicht begonnenen/abgelaufenen Zeiträumen und offenen (ohne end) Zeiträumen, da dies die Fälle sind, die am wahrscheinlichsten subtil falsch umgesetzt werden.

Es gibt keinen Integrationstest gegen einen live FHIR-Server in diesem Repo (anders als fhir-consent-service, das Testcontainers verwendet), da dieser Server keinen Schreibpfad zum Anlegen von Daten hat – er müsste nur für Test-Fixtures von diesem Repo abhängen (oder dessen Logik zum Anlegen von Ressourcen duplizieren). Sollte dieses Repository je ein Skript zum Aufsetzen von Daten bekommen, fügen Sie dann einen hinzu.

Hinweis: In einer Sandbox-Umgebung ohne npm-Registry-Zugriff geschrieben, daher wurden npm install / npm run build / npm test hier nicht tatsächlich ausgeführt. Der Code zielt auf @modelcontextprotocol/sdk@^1.12; falls die Signaturen server.tool(...) / server.resource(...) des SDK in der Version, die Sie installieren, auf registerTool/registerResource geändert wurden, ist die Korrektur mechanisch: Prüfen Sie README/CHANGELOG des SDK.

Projektstruktur

src/
├── index.ts              Server entry point, registers all tools/resources
├── fhirClient.ts          Thin fetch-based FHIR REST client
├── tools/                 One file per MCP tool
├── resources/             One file per MCP resource
├── mappers/                FHIR JSON -> summary objects + consent auth logic
└── util/results.ts        Shared tool-result formatting helpers

Sicherheitshinweis

Dieser Server führt keine PHI-Redaktion durch, sondern gibt das aus, was der FHIR-Server heil – ungefiltert weiter. Wenn Sie das Produkt gegen echte Patientendaten einsetzen, setzen Sie Zugriffskontrolle vor den FHIR-Server selbst (dieser Server reicht FHIR_AUTH_TOKEN als Bearer-Token weiter, verwaltet aber nicht den Erwerb/Refresh von Tokens) und überlegen Sie, was einem MCP-Client überhaupt zugänglich gemacht werden sollte und was nicht.

Lizenz

MIT

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables querying FHIR healthcare data using natural language, allowing doctors to retrieve patient information, medications, observations, and other healthcare records.
    1
  • A
    license
    A
    quality
    D
    maintenance
    Enables LLM-based agents to interact with FHIR healthcare data through natural language prompts, providing full CRUD operations on FHIR resources, document processing, and semantic search capabilities.
    13
    97
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables seamless integration with FHIR APIs for healthcare applications, allowing users to search, retrieve, create, update, and analyze clinical information through natural language interactions. Supports SMART-on-FHIR authentication and works with various healthcare systems like EPIC and HAPI FHIR servers.

View all related MCP servers

Related MCP Connectors

  • Securely access and manage FHIR healthcare data stored in Medplum.

  • Hosted MCP server exposing US hospital procedure cost data to AI assistants

  • An AI concierge that turns static forms into adaptive AI conversations. From any MCP client.

View all MCP Connectors

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/scollard001/fhir-mcp-server'

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