Dicom MCP Server

Healthcare interoperability for Claude — DICOM tags, HL7v2 parsing, FHIR mapping

Remote serverstreamable-http

What is the Dicom MCP server?

Connect Dicom to Claude, Cursor or any other MCP client and it stops being a tab you switch to. Healthcare interoperability for Claude — DICOM tags, HL7v2 parsing, FHIR mapping. The dicom mcp server is what makes that connection.

What the server does

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.

Available tools

The toolset is worth reading before you wire it up, because it tells you what the integration is really for:

  • 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.)
  • 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

Credentials and setup notes

Configuration is passed through the environment: DICOM_HL7_LICENSE_KEY, DICOM_HL7_PACS_AE_TITLE, DICOM_HL7_PACS_HOST, DICOM_HL7_PACS_PORT, DICOM_HL7_LOCAL_AE_TITLE, DICOM_HL7_DICOMWEB_URL, DICOM_HL7_DICOMWEB_AUTH, DICOM_HL7_DICOMWEB_TOKEN. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

Installation

Because this one is hosted, setup is mostly authentication — you point your client at the endpoint and approve access. Nothing runs on your machine, so there is no runtime to keep patched.

Where it fits

Plenty of developer tooling servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Dicom's toolset — lookup_dicom_tag, explain_dicom_tag, parse_hl7_message and 11 more — is a fair guide to whether it matches your workflow. It is maintained by NyxToolsDev; worth a glance at recent repository activity before you build anything load-bearing on it.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Worth knowing first

  • Your data travels to the provider's service, so the usual questions apply about what you send and what they retain.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Dicom.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
lookup_dicom_tagLook up any DICOM tag by number or keyword
explain_dicom_tagDetailed tag explanation with vendor quirks and gotchas
parse_hl7_messageParse HL7 v2.x messages into human-readable format
explain_hl7_segmentExplain segment fields, data types, and usage
lookup_hl7_tableLook up HL7 table values (Administrative Sex, Patient Class, etc.)
map_dicom_to_hl7Map DICOM tags to HL7 v2 fields with conversion notes
map_hl7_to_fhirMap HL7 v2 fields to FHIR R4 resources
generate_mirth_channelGenerate Mirth Connect channel configurations
validate_hl7_messageValidate HL7 messages against the standard
explain_integration_patternExplain healthcare integration patterns with flow diagrams
decode_private_tagsDecode vendor private DICOM tags (GE, Siemens, Philips, etc.)
generate_sample_messageGenerate realistic sample HL7 messages for testing
pacs_echoVerify PACS connectivity (C-ECHO or DICOMweb ping)
pacs_querySearch for studies/series by patient, date, modality, accession

How to install the Dicom MCP server

### With Premium License

```json
{
  "mcpServers": {
    "dicom-hl7-assistant": {
      "command": "uvx",
      "args": ["dicom-hl7-mcp"],
      "env": {
        "DICOM_HL7_LICENSE_KEY": "your-license-key-here"
      }
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

VariableDescriptionRequired
DICOM_HL7_LICENSE_KEYCredential the server authenticates with.Yes
DICOM_HL7_PACS_AE_TITLEConfiguration value read at startup.Optional
DICOM_HL7_PACS_HOSTEndpoint or connection string the server talks to.Optional
DICOM_HL7_PACS_PORTConfiguration value read at startup.Optional
DICOM_HL7_LOCAL_AE_TITLEConfiguration value read at startup.Optional
DICOM_HL7_DICOMWEB_URLEndpoint or connection string the server talks to.Yes
DICOM_HL7_DICOMWEB_AUTHConfiguration value read at startup.Optional
DICOM_HL7_DICOMWEB_TOKENCredential the server authenticates with.Yes

Example prompts to try

  • Use Dicom to lookup dicom tag.
  • Use Dicom to explain dicom tag.
  • Use Dicom to parse hl7 message.

Frequently asked questions

It connects Dicom to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (lookup_dicom_tag, explain_dicom_tag, parse_hl7_message, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Dicom directly.