dicom
Model Context Protocol (MCP) for interacting with dicom servers (PACS etc.)
claude mcp add --transport stdio christianhinge-dicom-mcp uvx dicom-mcp /path/to/your_config.yaml
How to use
The DICOM MCP Server exposes a set of tools to interact with DICOM servers (PACS, VNA) and to extract and move DICOM data. It enables querying metadata for patients, studies, series, and instances; reading encapsulated PDFs from DICOM reports; sending DICOM images to other destinations (e.g., AI endpoints for segmentation or classification); and managing connections and query options. The server is designed to be integrated into a client configuration so that your AI assistant or application can chain tool calls to perform complex workflows across DICOM data sources. Typical usage involves querying for a patient, retrieving related studies and series, extracting embedded PDF reports, and optionally moving specific series or studies to other DICOM destinations for processing or archiving. Documentation examples show how to configure the MCP client to run the server and how to chain tools to answer clinical questions.
To use the tools, first configure the DICOM node connection (host, port, and AE titles) in the YAML config as demonstrated in the sample configuration. Then, call the available tools via the MCP interface, such as query_patients, query_studies, query_series, query_instances, extract_pdf_text_from_dicom, move_series, move_study, and utility commands like list_dicom_nodes, switch_dicom_node, verify_connection, and get_attribute_presets. You can chain these tools to perform end-to-end workflows, for example locating a patient, identifying a specific study, reading a report, and sending a series to a segmentation endpoint. The README provides practical examples of tool usage and shows how to reference the dicom-mcp server in your client configuration.
How to install
Prerequisites:
- Python 3.12+ installed on your system
- A suitable MCP runtime (the uv/uvx tooling as described in the README)
- Access to install Python packages or clone the repository hosting dicom-mcp
Option A: Install via uv (preferred for MCP usage)
- Ensure uv is installed on your system. See uv installation instructions for your OS.
- Install dicom-mcp via uv:
uv tool install dicom-mcp
- Prepare a configuration YAML file (e.g., config.yaml) with your DICOM node details (host, port, AE titles).
- Run the MCP using uvx (as shown in the example configuration):
uvx dicom-mcp /path/to/your_config.yaml
Option B: Clone and install from source (for development)
- Clone the repository:
git clone https://github.com/ChristianHinge/dicom-mcp
cd dicom-mcp
- Create and activate a virtual environment, then install development dependencies:
# Create venv (example for Unix-like shell)
uv venv
source .venv/bin/activate
# Install with development dependencies
uv pip install -e '.[dev]'
- Prepare your configuration file (config.yaml) and run via uvx as above:
uvx dicom-mcp /path/to/your_config.yaml
Note: The README includes sample configuration snippets showing how to add the dicom-mcp server to your MCP client configuration. Adjust paths and YAML fields to match your environment. If you are using Docker-based Orthanc test servers or local DICOM servers, ensure network access and AE titles are correctly configured in config.yaml.
Additional notes
Tips and common issues:
- Ensure your DICOM node (PACS/VNA) is reachable from the MCP host and that the AE titles match between the config and the target node.
- When using Docker-based Orthanc tests, verify that ports are exposed and that the MCP config uses the correct host/port.
- If you encounter authentication or TLS issues with DICOM servers, verify that your network path and credentials (if used) are correctly configured in the YAML file.
- The tools can be chained to build complex workflows; take advantage of get_attribute_presets to tailor the level of detail returned in metadata queries.
- For debugging, the MCP Inspector can be used to inspect server communications (as shown in the README).
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP