Querying and downloading is the expected half. The part that changes what is possible is C-MOVE: sending a series to a configured node means a segmentation or classification service can process it and return a report, which the PDF extraction tool then reads back as text — a full loop without a human moving files. Against that, the authors' own warning is unambiguous: keep this away from live patient data, and run it against local open-weight models if privacy matters.
A Python server that speaks DICOM networking to a PACS, VNA or similar archive. It covers the four things a clinical query loop needs: searching metadata at each level of the hierarchy, reading text out of encapsulated PDF reports, downloading instances locally with C-GET, and sending studies to another configured node with C-MOVE — which is how you hand a scan to an AI segmentation endpoint and get a report back.
- Metadata queries down the hierarchy: `query_patients` by name, ID or birth date, `query_studies` by patient, date, modality, description, accession number or Study UID, `query_series`, `query_instances`
- `extract_pdf_text_from_dicom` pulls the text out of an instance carrying an encapsulated PDF — the way clinical reports are usually stored
- `retrieve_dicom_instances` downloads a whole series or a single instance to a local directory over C-GET, naming files with patient, date, modality and instance information
- `move_series` and `move_study` send data to another configured DICOM node over C-MOVE
- Node management: `list_dicom_nodes`, `switch_dicom_node`, `verify_connection` which tests the link with C-ECHO
- `get_attribute_presets` lists the detail levels — minimal, standard, extended — available for query results
A YAML configuration file naming your DICOM nodes — host, port, AE title — plus `current_node` and a `calling_aet` for this client. Install with `uv tool install dicom-mcp` and pass the config path as an argument in your client config. Project `dicom-mcp`, version 0.1.1, Python 3.12 or newer. If you have no archive to test against, the repository ships a Docker Compose setup for a local Orthanc server. The README states plainly that this is not meant for clinical use and should not be connected to live hospital databases or patient-sensitive data.
One command — uv tool install dicom-mcp
