# ChristianHinge/dicom-mcp [Health: Active]

**Category:** 🗄️ Databases  
**Repository:** https://github.com/ChristianHinge/dicom-mcp  
**GitHub Stars:** 99  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/christianhinge-dicom-mcp

## Description
DICOM integration to query, read, and move medical images and reports from PACS and other DICOM compliant systems.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "dicom-mcp": {
    "command": "npx",
    "args": ["-y","@modelcontextprotocol/inspector"]
  }
}
```

## Documentation

## What ChristianHinge/dicom-mcp MCP server does

ChristianHinge/dicom-mcp MCP server exposes DICOM operations through MCP for assistants that need to work with medical imaging metadata and related objects. It supports searches across patients, studies, series, and individual instances. Search criteria include patient identifiers and names, birth dates, study dates, modalities, descriptions, accession numbers, and DICOM UIDs.

The server also handles two operations beyond metadata lookup. It can retrieve a DICOM instance containing an encapsulated PDF and extract the report text. It can use C-MOVE to send a selected series or complete study to another configured DICOM destination. These operations can be chained, such as finding a study, locating a series, moving it to another node, and reading a resulting report.

## How it works

A client starts the MCP process over stdio and passes it a YAML configuration file. The configuration identifies one or more DICOM nodes, including their host, port, AE title, and description. It also defines the active node and the calling AE title used by the MCP server.

The server communicates with the active DICOM node using standard network operations. Connection checks use C-ECHO, while image or study transfers use C-MOVE. The active node can be changed during operation, and the configured nodes can be listed through utility tools.

## Setup and configuration

ChristianHinge/dicom-mcp MCP server is distributed as the Python package `dicom-mcp` and can be installed with `uv tool install dicom-mcp`. The README also documents a development setup using a cloned repository, a `uv` virtual environment, and editable installation with development dependencies.

Create a YAML file such as `config.yaml` with a `nodes` mapping, a `current_node`, and a `calling_aet`. Each node needs a host, port, AE title, and description. A local Orthanc instance is used in the sample configuration. The repository includes an optional Docker-based Orthanc setup for testing, with test commands that upload dummy PDF data and run the project tests.

A Claude Desktop configuration can launch the package with `uvx`, passing the YAML configuration path as an argument. Development configurations can instead run the project through `uv` from a cloned checkout.

## Tools and capabilities

Available tools include:

- `query_patients`, `query_studies`, `query_series`, and `query_instances` for progressively narrower metadata searches.
- `extract_pdf_text_from_dicom` for text extraction from encapsulated PDF DICOM instances.
- `move_series` and `move_study` for C-MOVE transfers to configured destinations.
- `list_dicom_nodes`, `switch_dicom_node`, and `verify_connection` for node management and connectivity checks.
- `get_attribute_presets` for viewing available metadata result detail levels.

## Limitations and notes

The README explicitly says ChristianHinge/dicom-mcp MCP server is not intended for clinical use. It should not be connected to live hospital databases or systems containing patient-sensitive data because the project warns of possible data loss and exposure over the internet. A locally hosted open-weight language model can be used when keeping data private is important.

The server expects access to a DICOM-compatible node and a valid network configuration. PDF text extraction applies to DICOM instances that contain encapsulated PDFs; the material does not claim support for arbitrary report formats. The project targets Python 3.12 or newer and is licensed under MIT.

_Full upstream README: https://allmcps.com/mcp/christianhinge-dicom-mcp/readme_

