fhir-patient-consent-mcp-server
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 |
| Patient anhand der MRN und/oder des Nachnamens suchen |
| Demografische Daten eines Patienten anhand einer FHIR-ID abrufen |
| Geräte eines Patienten auflisten (kennzeichnet Insulinpumpen über SNOMED CT |
| Einwilligungen eines Patienten zur Datenweitergabe auflisten (Partner, Zweck, Datenbestand, Zeitraum) |
| 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 buildAn einen FHIR-Server anbinden
export FHIR_BASE_URL=http://localhost:8081/fhir # default shown
export FHIR_AUTH_TOKEN=... # optional bearer tokenDer 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 devIn 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
123und 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 testUnit-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 testhier nicht tatsächlich ausgeführt. Der Code zielt auf@modelcontextprotocol/sdk@^1.12; falls die Signaturenserver.tool(...)/server.resource(...)des SDK in der Version, die Sie installieren, aufregisterTool/registerResourcegeä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 helpersSicherheitshinweis
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
This server cannot be installed
Maintenance
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
- AlicenseAqualityDmaintenanceEnables 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.1397MIT
- -licenseNot gradedqualityNot gradedmaintenanceEnables 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.
- AlicenseNot gradedqualityCmaintenanceEnables natural-language querying of a mock legacy healthcare database and returns validated FHIR resources (Patient, Observation, Condition).MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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