# PantelisGeorgiadis/dicomweb-mcp-server [Health: Active]

**Category:** 🧬 Biology & Bioinformatics  
**Repository:** https://github.com/PantelisGeorgiadis/dicomweb-mcp-server  
**GitHub Stars:** 4  
**npm Downloads (last month):** 222  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/pantelisgeorgiadis-dicomweb-mcp-server

## Description
A DICOMweb MCP server that exposes a DICOMweb-compliant DICOM archive to AI assistants, enabling search of studies, series and instances, metadata inspection, structured report reading, encapsulated PDF text extraction, and frame rendering.

## Tools
Capabilities this server exposes over MCP:

- **find-studies** — Searches DICOM studies on the configured DICOMweb server. Results are sorted by study date, newest first.
- **find-series** — Searches DICOM series within a single study. Results are sorted by series date, newest first.
- **find-instances** — Searches DICOM instances within a single series. Results are sorted by Instance Number ascending.
- **find-encapsulated-pdf-reports** — Finds all Encapsulated PDF instances in a study by looking for DOC-modality series and filtering by the Encapsulated PDF SOP Class UID (`1.2.840.10008.5.1.4.1.1.104.1`).
- **get-encapsulated-pdf-report-text** — Retrieves an Encapsulated PDF DICOM instance and extracts its text content.
- **find-structured-reports** — Finds all Structured Report (SR) instances in a study by looking for SR-modality series and filtering by known SR SOP Class UIDs.
- **get-structured-report-text** — Retrieves a Structured Report instance and converts it to human-readable text.
- **get-instance-metadata** — Retrieves and formats all DICOM attributes of a single instance as human-readable text. Does not retrieve pixel data.
- **render-instance-frame** — Renders a specific frame from a DICOM instance and returns it as an inline image (JPEG or PNG).

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

```json
"mcpServers": {
  "dicomweb-mcp-server": {
    "command": "npx",
    "args": ["-y","dicomweb-mcp-server"],
    "env": {
      "DICOMWEB_HOST": "",
      "DICOMWEB_AUTH": "",
      "DICOMWEB_USER": "",
      "DICOMWEB_PASS": "",
      "DICOMWEB_TOKEN": "",
      "DICOMWEB_TIMEOUT": ""
    }
  }
}
```

**Requires environment variables:** `DICOMWEB_HOST`, `DICOMWEB_AUTH`, `DICOMWEB_USER`, `DICOMWEB_PASS`, `DICOMWEB_TOKEN`, `DICOMWEB_TIMEOUT` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What PantelisGeorgiadis/dicomweb-mcp-server does

PantelisGeorgiadis/dicomweb-mcp-server exposes a DICOMweb archive to MCP clients through tools for searching and inspecting imaging data. It can find studies, series, and instances, then use their identifiers to retrieve additional information. Search results are ordered by study or series date in descending order, while instance results are ordered by Instance Number.

The server also handles common non-image content found in DICOM archives. It locates Encapsulated PDF instances and extracts text from searchable PDFs, and it finds Structured Report instances and converts them to readable text. Instance metadata is returned as formatted text without retrieving pixel data. For image review, a selected frame can be rendered as JPEG or PNG and returned inline.

## How it works

The archive must provide the DICOMweb QIDO-RS and WADO-RS endpoints used by the tools. Study, series, and instance searches use QIDO-RS. Metadata retrieval, report retrieval, and frame rendering use WADO-RS. The configured base URL is used for both services.

Search tools accept a space-separated sequence of `key=value` expressions. Keys can be DICOM keyword names or eight-digit hexadecimal tags. The query syntax also supports result limits, offsets, fuzzy name matching, requesting all available attributes, and wildcards where the DICOMweb implementation permits them.

A typical lookup starts with `find-studies`, continues with `find-series` and `find-instances`, and then passes the resulting UIDs to a report, metadata, or frame tool. PDF discovery checks DOC-modality series and the Encapsulated PDF SOP Class UID. Structured Report discovery similarly checks SR-modality series against known SR SOP Class UIDs.

## Setup and configuration

Node.js 20 or newer is required. The package can run directly with `npx dicomweb-mcp-server`, or it can be installed globally with npm before running `dicomweb-mcp-server`.

Set `DICOMWEB_HOST` to the DICOMweb base URL. Optional authentication supports either Basic authentication, using `DICOMWEB_AUTH=basic` with `DICOMWEB_USER` and `DICOMWEB_PASS`, or bearer authentication, using `DICOMWEB_AUTH=bearer` with `DICOMWEB_TOKEN`. `DICOMWEB_TIMEOUT` sets the request timeout in milliseconds; omitting it disables the timeout. Configuration can be supplied through a `.env` file in the execution directory or through the MCP client's environment block.

The documented client configurations use stdio with Claude Desktop, VS Code GitHub Copilot Agent Mode, and Cursor.

## Tools and capabilities

- Search studies, series, and instances with DICOM query filters.
- Find Encapsulated PDF and Structured Report instances within a study.
- Extract text from searchable Encapsulated PDF documents.
- Convert Structured Reports and full instance attributes into human-readable text.
- Render a 1-based frame as JPEG or PNG.

## Limitations and notes

PDF text extraction depends on an embedded text layer. Scanned PDFs without searchable text produce little or no extracted text because OCR is not performed. Frame rendering returns a selected frame rather than pixel data through the metadata tool, and single-frame instances should use frame index `1`. The connected archive must support the listed QIDO-RS and WADO-RS paths for the corresponding operations.

_Full upstream README: https://allmcps.com/mcp/pantelisgeorgiadis-dicomweb-mcp-server/readme_

