A connectivity testing server that enables DICOM network operations (like C-ECHO) through Claude's Model Context Protocol, with support for node configuration management.
A Model Context Protocol (MCP) server for DICOM connectivity testing.
Make surepip install uv
uv
is available in your system PATH as it's required for Claude to properly execute the server.There are two ways to set up the server:
Install the required dependencies:
uv pip install mcp[cli]
To use this server with Claude's Model Context Protocol:
mcp install server.py
This will register the server with Claude for DICOM operations.
uv run server.py
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.
The server uses a nodes.yaml
file to store DICOM node configurations. This allows you to:
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"
If you encounter the "spawn uv ENOENT" error, it typically means one of the following:
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:
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
The server provides several DICOM tools that can be used through the MCP interface:
List all configured DICOM nodes from the nodes.yaml file:
list_dicom_nodes()
Perform a C-ECHO operation using a node name from the configuration:
dicom_cecho_by_name(node_name="main_pacs", local_ae_name="default")
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")
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!