The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Dicom MCP listing page.
The dicom-mcp server enables AI assistants to query, read, and move data on DICOM servers (PACS, VNA, etc.).
🤝 Contribute • 📝 Report Bug • 📝 Blog Post 1
dicom-mcp provides tools to:
Install using uv or pip:
Or by cloning the repository:
dicom-mcp requires a YAML configuration file (config.yaml or similar) defining DICOM nodes and calling AE titles. Adapt the configuration or keep as is for compatibility with the sample ORTHANC Server.
[!WARNING] DICOM-MCP is not meant for clinical use, and should not be connected with live hospital databases or databases with patient-sensitive data. Doing so could lead to both loss of patient data, and leakage of patient data onto the internet. DICOM-MCP can be used with locally hosted open-weight LLMs for complete data privacy.
If you don't have a DICOM server available, you can run a local ORTHANC server using Docker:
Clone the repository and install test dependencies pip install -e ".[dev]
UI at http://localhost:8042
Add to your client configuration (e.g. claude_desktop_config.json):
For development:
dicom-mcp provides four categories of tools for interaction with DICOM servers and DICOM data.
query_patients: Search for patients based on criteria like name, ID, or birth date.query_studies: Find studies using patient ID, date, modality, description, accession number, or Study UID.query_series: Locate series within a specific study using modality, series number/description, or Series UID.query_instances: Find individual instances (images/objects) within a series using instance number or SOP Instance UIDextract_pdf_text_from_dicom: Retrieve a specific DICOM instance containing an encapsulated PDF and extract its text content.move_series: Send a specific DICOM series to another configured DICOM node using C-MOVE.move_study: Send an entire DICOM study to another configured DICOM node using C-MOVE.list_dicom_nodes: Show the currently active DICOM node and list all configured nodes.switch_dicom_node: Change the active DICOM node for subsequent operations.verify_connection: Test the DICOM network connection to the currently active node using C-ECHO.get_attribute_presets: List the available levels of detail (minimal, standard, extended) for metadata query results.The tools can be chained together to answer complex questions:
Tests require a running Orthanc DICOM server. You can use Docker:
Run tests using pytest:
Stop the Orthanc container:
Use the MCP Inspector for debugging the server communication: