Mirobody
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
Description from the maker (original English)
Bridges DICOM, HL7v2, and FHIR with cross-standard mapping and optional PACS connectivity.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
DICOM_HL7_LICENSE_KEYValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"dicom-hl7": {
"command": "uvx",
"args": [
"dicom-hl7-mcp"
],
"env": {
"DICOM_HL7_LICENSE_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add dicom-hl7 --env DICOM_HL7_LICENSE_KEY=your-value -- uvx dicom-hl7-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"dicom-hl7": {
"command": "uvx",
"args": [
"dicom-hl7-mcp"
],
"env": {
"DICOM_HL7_LICENSE_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"dicom-hl7": {
"type": "stdio",
"command": "uvx",
"args": [
"dicom-hl7-mcp"
],
"env": {
"DICOM_HL7_LICENSE_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account NyxToolsDev, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: DICOM_HL7_LICENSE_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.2.0) reached the registry 7 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Mirobody, FHIR MCP Server, Google Health MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
MCP server providing seamless access to FHIR APIs for AI tools and healthcare applications
Privacy-first unofficial Google Health API v4 MCP server for health, sleep, activity, HR agents
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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.
| 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 |
| 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.) |
| 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 |
| 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 |
Reference tools only (no PACS connectivity):
pip install dicom-hl7-mcp
With PACS connectivity (adds pynetdicom + httpx):
pip install dicom-hl7-mcp[pacs]
Add to your Claude Desktop config:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": { "dicom-hl7-assistant": { "command": "uvx", "args": ["dicom-hl7-mcp"] } } }
{
"mcpServers": { "dicom-hl7-assistant": { "command": "uvx", "args": ["dicom-hl7-mcp"], "env": { "DICOM_HL7_LICENSE_KEY": "your-license-key-here" } } } }
Connect to a PACS using C-FIND/C-MOVE/C-ECHO:
{
"mcpServers": { "dicom-hl7-assistant": { "command": "uvx", "args": ["--with", "dicom-hl7-mcp[pacs]", "dicom-hl7-mcp"], "env": { "DICOM_HL7_LICENSE_KEY": "your-license-key-here", "DICOM_HL7_PACS_AE_TITLE": "YOUR_PACS", "DICOM_HL7_PACS_HOST": "pacs.hospital.org", "DICOM_HL7_PACS_PORT": "4242", "DICOM_HL7_LOCAL_AE_TITLE": "CLAUDE_MCP" } } } }
Connect to a DICOMweb-capable PACS (QIDO-RS/WADO-RS):
{
"mcpServers": { "dicom-hl7-assistant": { "command": "uvx", "args": ["--with", "dicom-hl7-mcp[pacs]", "dicom-hl7-mcp"], "env": { "DICOM_HL7_LICENSE_KEY": "your-license-key-here", "DICOM_HL7_DICOMWEB_URL": "https://pacs.hospital.org/dicom-web", "DICOM_HL7_DICOMWEB_AUTH": "bearer", "DICOM_HL7_DICOMWEB_TOKEN": "your-auth-token" } } } }
| 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 |
DICOM_HL7_PACS_PORT | For DIMSE | — | Remote PACS port |
DICOM_HL7_LOCAL_AE_TITLE | No | DICOM_HL7_MCP | This server's AE title |
| DICOMweb | |||
DICOM_HL7_DICOMWEB_URL | For DICOMweb | — | DICOMweb base URL |
DICOM_HL7_DICOMWEB_AUTH | No | none | Auth type: none, bearer, basic |
DICOM_HL7_DICOMWEB_TOKEN | For bearer | — | Bearer token |
DICOM_HL7_DICOMWEB_USERNAME | For basic | — | Basic auth username |
DICOM_HL7_DICOMWEB_PASSWORD | For basic | — | Basic auth password |
| Safety | |||
DICOM_HL7_PACS_PROTOCOL | No | auto | Protocol: auto, dimse, dicomweb |
DICOM_HL7_PACS_ALLOW_RETRIEVE | No | false | Enable C-MOVE (true to enable) |
DICOM_HL7_PHI_REDACT | No | false | Redact patient name/ID in output |
When connected to a real PACS, query results contain Protected Health Information (PHI).
DICOM_HL7_PHI_REDACT=true to replace patient name/ID with [REDACTED] in tool outputDICOM_HL7_PACS_ALLOW_RETRIEVE=trueImportant: Do not use PACS connectivity with cloud-hosted LLMs unless your organization's policies permit sending PHI to that LLM provider. For on-premises deployments or local LLM setups, this is not a concern.
AccessionNumber — SH — RIS-generated number that identifies the order. THE key field for matching RIS orders to PACS studies.
"Parse this HL7 message:"
`
MSH|^~\&|RIS|RAD|EMR|HOSP|20240315140000||ORU^R01|MSG003|P|2.5.1
PID|1||MRN12345^^^HOSP^MR||DOE^JOHN||19650315|M
OBR|1|ORD001|ACC001|CTABD^CT Abdomen^L|||20240315130000
OBX|1|FT|&GDT^Report||FINDINGS: Normal CT.||||||F
`
Returns each segment parsed with field names, values, table lookups, and contextual explanations.
"Look up accession number ACC12345 in PACS and show me the HL7/FHIR mapping"
Returns a complete interoperability summary:
"What HL7 field does DICOM Accession Number map to?"
Returns: OBR-3 / ORC-3 (Filler Order Number) with data type conversion notes (SH → EI) and mapping pitfalls.
"Generate a Mirth channel for receiving ADT messages and writing to a FHIR server"
Returns: Complete channel config with MLLP source, FHIR HTTP destination, transformer steps, event filtering, and implementation notes.
The tags, segments, and mappings are from published standards (DICOM PS3.6, HL7 v2.5.1, FHIR R4, HL7 v2-to-FHIR IG). The vendor quirks, integration tips, and "watch out for this" notes come from 16 years of building PACS/RIS/HIS interfaces in production healthcare environments.
Free tier gives you DICOM tag lookup, HL7 parsing, and segment explanation — the tools you use every day.
Premium unlocks cross-standard mapping, Mirth generation, validation, PACS connectivity, and the deep integration knowledge that takes years to build.
Get your license: nyxtools.gumroad.com
Do I need a license for the free tools? No. Install and use the 5 free tools immediately. No account, no sign-up.
Do I need PACS connectivity? No. The reference and mapping tools work without any PACS connection. PACS connectivity is optional — install with pip install dicom-hl7-mcp[pacs] only if you want to query real PACS systems.
What HL7 versions are supported? v2.3 through v2.9, with focus on v2.5.1 (the most widely deployed in US healthcare).
Is this HIPAA compliant? The reference tools process standards metadata, not patient data. PACS connectivity tools access real patient data — PHI safety measures are built in (log redaction, optional output redaction, C-MOVE disabled by default), but you are responsible for ensuring use complies with your organization's policies.
What PACS systems are supported? Any PACS that supports DICOM C-FIND/C-ECHO (virtually all of them) or DICOMweb (QIDO-RS/WADO-RS). Tested with Orthanc, RamSoft, and DCM4CHEE.
git clone https://github.com/NyxToolsDev/dicom-hl7-mcp-server.git
cd dicom-hl7-mcp-server pip install -e ".[dev]" pytest
MIT License. See LICENSE.
Built by NyxTools