trackmcp
Back to directory
fluxinc

dicom-mcp-server

View on GitHub

A server for managing contextual data in DICOM tools, supporting medical imaging and machine learning workflows.

3 stars PythonServers & Infrastructure Updated Sep 28, 2025

Documentation

DICOM MCP Server

A Model Context Protocol (MCP) server for DICOM connectivity testing.

Prerequisites

1. Install UV (required):

bash
pip install uv

Make sure `uv` is 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:

bash
uv pip install mcp[cli]

To use this server with Claude's Model Context Protocol:

bash
mcp install server.py

This will register the server with Claude for DICOM operations.

Running the Server

Direct Execution

bash
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:

1. List all configured DICOM nodes

2. Perform C-ECHO operations using node names instead of explicit AE titles, IPs, and ports

3. Use different local AE titles for C-ECHO operations

nodes.yaml Format

yaml
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:

1. UV is not installed or not in your PATH

2. The Python executable cannot be found by the MCP client

Solutions:

1. Make sure UV is properly installed and in your PATH:

bash
which uv  # Should show the path to UV

2. Ensure you're using a Python environment that's accessible to the system:

    3. Try running the server with explicit UV path:

    bash
    /full/path/to/uv run server.py

    4. 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:

    code
    list_dicom_nodes()

    C-ECHO by Node Name

    Perform a C-ECHO operation using a node name from the configuration:

    code
    dicom_cecho_by_name(node_name="main_pacs", local_ae_name="default")

    Direct C-ECHO

    Perform a C-ECHO operation with explicit parameters:

    code
    dicom_cecho(remote_ae_title="REMOTE_AE", ip="192.168.1.100", port=104, local_ae_title="MCP_DICOM")

    Frequently asked questions

    What is dicom-mcp-server?

    dicom-mcp-server is A server for managing contextual data in DICOM tools, supporting medical imaging and machine learning workflows.

    How do I install dicom-mcp-server?

    Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

    Is dicom-mcp-server open source?

    Yes — it is hosted on GitHub at https://github.com/fluxinc/dicom-mcp-server and has 3 stars.

    Related MCP tools

    Run your own MCP server? See who uses it and what to fix.

    Measure it with TrackMCP