# FHIR MCP-Server für KI-Agenten

> Verbinden Sie Claude Code, Cursor, VS Code oder Claude Desktop über MCP mit einer HL7 FHIR R4 API: 20 Tools zum Lesen von Datensätzen, KI-bereiter Kontext, Schreiben, Laborimport und Sandbox-Reset, auf 30 synthetischen Patienten, kostenlos.

Source: https://developers.anpheros.com/de/guides/mcp

**Anpheros FHIR ist ein entfernter MCP-Server, der es einem KI-Agenten (Claude, Claude Code, Cursor, VS Code, Claude Desktop) ermöglicht, mit einer HL7 FHIR R4 Gesundheitsdaten-API zu arbeiten.** Er verbindet sich auf zwei Arten:

- **Mit einem kostenlosen Sandbox-Schlüssel** für Entwickler: Ihr Agent listet Patienten auf, liest deren Datensätze als FHIR oder als KI-bereiten Kontext mit Herkunftsnachweis, schreibt Beobachtungen, importiert Laborberichte und setzt seine Testdaten zurück, alles auf 30 synthetischen Patienten mit realistischen Historien.
- **Mit OAuth** für eine Person und deren eigenen Datensatz: Der Assistent registriert sich selbst, die Person meldet sich an und genehmigt ihn auf dem Anpheros-Zustimmungsbildschirm, und der Assistent kann dann diesen einen Datensatz für die gewählte Dauer lesen, schreibgeschützt, es sei denn, die Person hat mehr erlaubt.

Serveradresse: `https://platform.anpheros.com/mcp` (Streamable HTTP, zustandslos).

## Verbindung mit OAuth (Claude und andere Assistenten)

Fügen Sie `https://platform.anpheros.com/mcp` als benutzerdefinierten Connector hinzu (in Claude: Einstellungen → Connectors → Benutzerdefinierten Connector hinzufügen). Keine weitere Konfiguration erforderlich: Der Assistent erkennt den Autorisierungsserver, registriert sich selbst und öffnet den Anpheros-Zustimmungsbildschirm. Dort sieht die Person, dass es sich um einen KI-Assistenten handelt, dass das Gelesene an das Unternehmen gesendet wird, das den Assistenten betreibt, was er lesen darf, wie lange und wohin sie nach der Auswahl zurückkehren. Der Zugriff ist schreibgeschützt, es sei denn, es wurde mehr angefordert und erlaubt, und die Person kann ihn jederzeit widerrufen.

Während der privaten Betaversion verwenden OAuth-Verbindungen Sandbox-Datensätze. Verbindungen zu echten Datensätzen werden nach Aktualisierung der Datenschutzrichtlinie geöffnet.

## Verbindung mit einem Sandbox-Schlüssel (Entwickler)

1. Melden Sie sich unter [platform.anpheros.com/dashboard](https://platform.anpheros.com/dashboard/) mit Google an und wählen Sie **Get a sandbox key**. Sie erhalten einen `sk_test_…`-Schlüssel und ein Projekt mit 30 synthetischen Patienten.
2. Fügen Sie den Schlüssel in eine Umgebungsvariable ein, z. B. `ANPHEROS_KEY`, und fügen Sie den Server zu Ihrem Tool hinzu.

**Claude Code**

```bash
claude mcp add --transport http anpheros-fhir https://platform.anpheros.com/mcp --header "Authorization: Bearer $ANPHEROS_KEY"
```

**Cursor** (`~/.cursor/mcp.json` oder `.cursor/mcp.json` im Projekt)

```json
{
  "mcpServers": {
    "anpheros-fhir": {
      "url": "https://platform.anpheros.com/mcp",
      "headers": { "Authorization": "Bearer ${env:ANPHEROS_KEY}" }
    }
  }
}
```

**VS Code** (`.vscode/mcp.json`)

```json
{
  "servers": {
    "anpheros-fhir": {
      "type": "http",
      "url": "https://platform.anpheros.com/mcp",
      "headers": { "Authorization": "Bearer ${env:ANPHEROS_KEY}" }
    }
  }
}
```

**Claude Desktop** (`claude_desktop_config.json`, über die `mcp-remote`-Bridge)

```json
{
  "mcpServers": {
    "anpheros-fhir": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://platform.anpheros.com/mcp", "--header", "Authorization: Bearer ${ANPHEROS_KEY}"],
      "env": { "ANPHEROS_KEY": "sk_test_…" }
    }
  }
}
```

Fragen Sie dann Ihren Agenten etwas wie: *"List the sandbox patients, pick the one with diabetes and summarise her last six months of HbA1c."*

## Werkzeuge

| Werkzeug | Was es tut |
|---|---|
| `list_patients` | die Patienten des Projekts: die 30 synthetischen Personas und alle von Ihnen erstellten |
| `get_patient_context` | ein KI-fähiger Kontext für einen Patienten, innerhalb eines Token-Budgets, wobei jedes Element mit seiner Quelle gekennzeichnet ist |
| `get_patient_summary` | die International Patient Summary (FHIR `$summary`), in der von Ihnen gewünschten Sprache |
| `get_timeline` | der Datensatz in chronologischer Reihenfolge über Ressourcentypen hinweg |
| `get_health_patterns` | Beta: was sich geändert hat und was wiederkehrt, jede Erkenntnis mit ihrem Zeitraum, Beweisen und Einschränkungen; keine Diagnosen ([Anleitung](https://developers.anpheros.com/de/guides/health-patterns)) |
| `get_pattern_evidence` | Beta: jede Ressource hinter einer Erkenntnis |
| `get_series` | Beta: eine Messung als ein Wert pro Tag, mit Datenqualität |
| `compare_periods` | Beta: eine Messung in zwei von Ihnen gewählten Zeiträumen |
| `search_fhir` | Standard FHIR R4 Suche, gibt ein Bundle zurück |
| `read_fhir_resource` | eine Ressource oder eine frühere Version davon |
| `get_provenance` | wer eine Ressource geschrieben hat, wann und aus welchem System |
| `lookup_code` | LOINC-Codes nach Text oder Code (für Medikamente, verwenden Sie `search_health_terms`) |
| `search_health_terms` | der öffentliche Katalog von Symptomen, Erkrankungen und Behandlungen, nach Namen in 20 Sprachen, Synonym, Marke oder Code ([Anleitung](https://developers.anpheros.com/de/guides/anpheros-search)) |
| `get_health_term` | ein Katalogeintrag mit seinen Codes, Namen, MedlinePlus-Zusammenfassung, verlinkten Quellen und zitierten EMA / FDA-Indikationen |
| `validate_fhir_resource` | prüft eine Ressource, ohne sie zu speichern |
| `create_fhir_resource` | validiert und schreibt dann eine Ressource |
| `create_patient` | ein neuer, erfundener Patient im Projekt |
| `import_lab_report` | ein CSV-, HL7 v2 ORU^R01- oder JSON-Laborbericht wird zu Laborbeobachtungen |
| `sandbox_status` | schreibt heute verwendete, Patienten, Speicher, setzt zurück |
| `reset_sandbox` | stellt die 30 synthetischen Patienten wieder her (fragt nach Bestätigung) |

Lese-Werkzeuge sind als schreibgeschützt markiert und das Zurücksetzen ist als destruktiv markiert, sodass Clients, die vor riskanten Aktionen fragen, dies tun können. Der Server bietet auch die Liste der synthetischen Patienten als Ressource und drei Prompts: eine klinische Zusammenfassung, einen CSV-Import für Laborberichte und den Aufbau Ihrer Integration auf der API.

## Funktionsweise

- **Die gleichen Regeln wie die API.** Jedes Tool ruft die öffentliche API mit Ihrem Schlüssel auf: die gleichen Scopes, Ratenbegrenzungen, Validierungen und Audits. Ein schreibgeschützter Schlüssel kann nicht schreiben.
- **Herkunftsnachweis (Provenance).** Alles, was ein Agent schreibt, wird mit der Quelle `urn:anpheros:mcp` aufgezeichnet, sodass Sie immer erkennen können, was von einem Agenten stammt.
- **Patientendaten sind Daten.** Tool-Ergebnisse tragen einen Hinweis, dass der Inhalt von Datensätzen niemals als Anweisung befolgt werden darf, eine grundlegende Schutzmaßnahme gegen Prompt Injection durch medizinische Aufzeichnungen.
- **Ein Datensatz, mit Zustimmung.** Produktions-API-Schlüssel (`sk_live_…`) werden abgelehnt, da sie jeden Patienten eines Projekts erreichen. Ein echter Datensatz erreicht einen Assistenten nur über OAuth, nachdem die Person ihn genehmigt hat, und jeder Lesezugriff wird in ihrer Zugriffshistorie protokolliert.
- **Standard-Discovery.** Ohne Anmeldeinformationen antwortet der Server mit 401 und einem `WWW-Authenticate`-Header, der auf seine OAuth-geschützten Ressourcenmetadaten (RFC 9728) verweist; Assistenten registrieren sich über die dynamische Client-Registrierung (RFC 7591) mit PKCE. Die Registrierung akzeptiert nur Loopback-Adressen, die App-Schemata bekannter Editoren und die Callback-Domains bekannter KI-Assistenten.

## Häufig gestellte Fragen

### Was ist ein MCP-Server?
MCP (Model Context Protocol) ist ein offenes Protokoll, über das KI-Agenten und Coding-Assistenten externe Tools aufrufen. Ein MCP-Server für FHIR ermöglicht es dem Agenten, Gesundheitsakten direkt zu lesen und zu schreiben, anstatt dass Sie Daten in den Chat einfügen.

### Ist es kostenlos?
Ja. Der MCP-Server funktioniert auf der kostenlosen Sandbox: 30 synthetische Patienten pro Projekt, bis zu 10.000 Schreibvorgänge pro Tag, keine Karte erforderlich.

### Kann ein Assistent die Akte eines echten Patienten lesen?
Nur über OAuth, nachdem die Person dem Assistenten auf dem Zustimmungsbildschirm zugestimmt hat, für den von ihr gewählten Zeitraum und nur ihre eigene Akte (oder die einer Person, für die sie sich kümmert). Während der privaten Betaversion verwenden OAuth-Verbindungen Sandbox-Datensätze.

### Welche FHIR-Version wird verwendet?
HL7 FHIR R4 (4.0.1), dieselbe API wie https://platform.anpheros.com/fhir/R4, mit dem International Patient Summary und einer REST-Ansicht derselben Daten.

### Funktioniert es mit ChatGPT?
ChatGPT-Konnektoren verwenden OAuth mit dynamischer Client-Registrierung, die der Server unterstützt, und seine Callback-Domain wird akzeptiert. Wir haben den Flow mit dem offiziellen MCP SDK-Client getestet; wenn eine ChatGPT-Verbindung fehlschlägt, schreiben Sie an support@anpheros.com. Claude Code, Cursor und VS Code funktionieren ebenfalls mit einem Sandbox-Schlüssel.

## Verwandte Themen

- [Wie man einem KI-Agenten Zugriff auf medizinische Akten gewährt](https://developers.anpheros.com/de/guides/ai-agent-access-medical-records): Schritt-für-Schritt-Anleitung in Python
- [Kostenlose FHIR-Datenbank und Sandbox](https://developers.anpheros.com/de/guides/free-fhir-database)
- [KI-Agenten und medizinische Daten](https://developers.anpheros.com/de/guides/ai-agents-medical-data)
- [LLM-Anwendungen und Gesundheitsdaten](https://developers.anpheros.com/de/guides/llm-healthcare-data)
- [Healthcare API mit Patienteneinwilligung](https://developers.anpheros.com/de/guides/healthcare-api-patient-consent)
