About DICOM MCP Server
DICOM MCP Server is a connectivity-testing server for DICOM nodes, intended for users working with configured imaging systems. It can list node settings and run C-ECHO checks by node name or explicit connection details.
Key features
- 01List configured DICOM nodes
- 02Run C-ECHO by configured node name
- 03Run C-ECHO with explicit connection details
Use cases
- 01Inspect configured DICOM node entries
- 02Check connectivity to a named node
- 03Test a remote AE using its address and port
MCP support
It exposes DICOM node listing and C-ECHO operations as tools to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEDICOM MCP Server
A Model Context Protocol (MCP) server for DICOM connectivity testing.
Prerequisites
- Install UV (required):
Make surepip install uvuvis available in your system PATH as it's required for Claude to properly execute the server.
Installation
There are two ways to set up the server:
1. Traditional Setup
Install the required dependencies:
uv pip install mcp[cli]
2. MCP Installation (Recommended)
To use this server with Claude's Model Context Protocol:
mcp install server.py
This will register the server with Claude for DICOM operations.
Running the Server
Direct Execution
uv run server.py
Through Claude
Once installed via MCP, the server will be automatically managed by Claude when needed.
The server will start on 0.0.0.0:8080 by default.
Node Configuration
The server uses a nodes.yaml file to store DICOM node configurations. This allows you to:
- List all configured DICOM nodes
- Perform C-ECHO operations using node names instead of explicit AE titles, IPs, and ports
- Use different local AE titles for C-ECHO operations
nodes.yaml Format
nodes:
# Example node configuration
main_pacs:
ae_title: DESTINATION
ip: 192.168.1.100
port: 104
description: "Main hospital PACS system"
local_ae_titles:
- name: default
ae_title: MCP_DICOM
description: "Default AE title for MCP DICOM server"
- name: pacs_gateway
ae_title: PACS_GATEWAY
description: "PACS Gateway AE title"
Troubleshooting
If you encounter the "spawn uv ENOENT" error, it typically means one of the following:
- UV is not installed or not in your PATH
- The Python executable cannot be found by the MCP client
Solutions:
-
Make sure UV is properly installed and in your PATH:
which uv # Should show the path to UV -
Ensure you're using a Python environment that's accessible to the system:
- If using a virtual environment, make sure it's activated
- Check that Python is in your PATH
-
Try running the server with explicit UV path:
/full/path/to/uv run server.py -
Add more debugging by checking the stderr output in the logs
Usage
The server provides several DICOM tools that can be used through the MCP interface:
List DICOM Nodes
List all configured DICOM nodes from the nodes.yaml file:
list_dicom_nodes()
C-ECHO by Node Name
Perform a C-ECHO operation using a node name from the configuration:
dicom_cecho_by_name(node_name="main_pacs", local_ae_name="default")
Direct C-ECHO
Perform a C-ECHO operation with explicit parameters:
dicom_cecho(remote_ae_title="REMOTE_AE", ip="192.168.1.100", port=104, local_ae_title="MCP_DICOM")
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.