DICOM/HL7/FHIR Interoperability MCP Server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
**The only MCP server that bridges DICOM, HL7v2, and FHIR in one package — with optional PACS connectivity.**
Built by a healthcare IT engineer with 16 years of PACS, RIS, and integration experience. This isn't a wrapper around a FHIR API or a DICOM tag dictionary — it's the interoperability knowledge that takes years on the job to build, plus the ability to connect to real PACS systems.
What Makes This Different
| Capability | This Server | DICOM-only servers | FHIR-only servers |
|-----------|:-----------:|:------------------:|:-----------------:|
| DICOM tag lookup + vendor quirks | Yes | Yes | No |
| HL7v2 message parsing | Yes | No | No |
| FHIR R4 resource mapping | Yes | No | Yes |
| **DICOM ↔ HL7v2 mapping** | **Yes** | No | No |
| **HL7v2 → FHIR conversion** | **Yes** | No | No |
| **Mirth Connect channel generation** | **Yes** | No | No |
| **PACS connectivity (C-FIND/C-MOVE)** | **Yes** | Some | No |
| **DICOMweb (QIDO-RS/WADO-RS)** | **Yes** | No | No |
| **Query PACS + auto-map to HL7/FHIR** | **Yes** | No | No |
| Vendor private tag decoding (GE, Siemens, Philips) | Yes | Some | No |
| Integration pattern knowledge (IHE SWF, ADT flows) | Yes | No | No |
Tools
Reference Tools (Free)
| Tool | What It Does |
|------|-------------|
| lookup_dicom_tag | Look up any DICOM tag by number or keyword |
| explain_dicom_tag | Detailed tag explanation with vendor quirks and gotchas |
| parse_hl7_message | Parse HL7 v2.x messages into human-readable format |
| explain_hl7_segment | Explain segment fields, data types, and usage |
| lookup_hl7_table | Look up HL7 table values (Administrative Sex, Patient Class, etc.) |
Mapping & Generation Tools (Premium)
| Tool | What It Does |
|------|-------------|
| map_dicom_to_hl7 | Map DICOM tags to HL7 v2 fields with conversion notes |
| map_hl7_to_fhir | Map HL7 v2 fields to FHIR R4 resources |
| generate_mirth_channel | Generate Mirth Connect channel configurations |
| validate_hl7_message | Validate HL7 messages against the standard |
| explain_integration_pattern | Explain healthcare integration patterns with flow diagrams |
| decode_private_tags | Decode vendor private DICOM tags (GE, Siemens, Philips, etc.) |
| generate_sample_message | Generate realistic sample HL7 messages for testing |
PACS Connectivity Tools (Premium)
| Tool | What It Does |
|------|-------------|
| pacs_echo | Verify PACS connectivity (C-ECHO or DICOMweb ping) |
| pacs_query | Search for studies/series by patient, date, modality, accession |
| pacs_get_metadata | Retrieve detailed study/series metadata from PACS |
| pacs_retrieve | C-MOVE images to a destination AE title |
| pacs_study_summary | **Query a study + auto-map through DICOM→HL7→FHIR with generated ORM** |
Installation
**Reference tools only** (no PACS connectivity):
**With PACS connectivity** (adds pynetdicom + httpx):
Configuration
Basic (Reference Tools Only)
Add to your Claude Desktop config:
**macOS:** ~/Library/Application Support/Claude/claude_desktop_config.json
**Windows:** %APPDATA%\Claude\claude_desktop_config.json
With Premium License
With PACS Connectivity (Traditional DICOM)
Connect to a PACS using C-FIND/C-MOVE/C-ECHO:
With PACS Connectivity (DICOMweb)
Connect to a DICOMweb-capable PACS (QIDO-RS/WADO-RS):
Environment Variables
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| DICOM_HL7_LICENSE_KEY | For premium | — | Premium license key |
| DICOM_HL7_LOG_LEVEL | No | INFO | Logging level |
| **Traditional DICOM** | | | |
| DICOM_HL7_PACS_AE_TITLE | For DIMSE | — | Remote PACS AE title |
| DICOM_HL7_PACS_HOST | For DIMSE | — | Remote PACS hostname/IP |