DICOM MCP Server

by MCP-Mirror

313 downloads
Not rated
GitHub

About

DICOM MCP Server is a Model Context Protocol (MCP) server for DICOM connectivity testing. It allows MCP clients—such as Claude—to perform DICOM operations like C-ECHO by querying configured DICOM nodes. It is intended for developers and administrators who need to verify DICOM…

Details

Author
MCP-Mirror
Downloads
313
Categories
Other

- Model Context Protocol server for DICOM connectivity testing
- Configure DICOM nodes via a YAML configuration file
- Perform C-ECHO operations using node names or explicit parameters
- Supports multiple local AE titles for different use cases
- List all configured DICOM nodes with one tool call
- Two installation options: traditional and MCP‑managed

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name DICOM MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install UV, then install dependencies with uv pip install mcp[cli]. Optionally register the server with Claude via mcp install server.py. Run directly with uv run server.py (starts on 0.0.0.0:8080). Configure DICOM nodes in a nodes.yaml file. Use tools such as list_dicom_nodes(), dicom_cecho_by_name(), and dicom_cecho() through the MCP interface.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "dicom mcp server": {
            "fluxinc_dicom-mcp-server": {
                "command": "uv",
                "args": [
                    "pip",
                    "install",
                    "mcp[cli]"
                ]
            }
        }
    }
}

McpServers

{
    "fluxinc_dicom-mcp-server": {
        "command": "uv",
        "args": [
            "pip",
            "install",
            "mcp[cli]"
        ]
    }
}

DICOM MCP Server

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

Prerequisites

1. Install UV (required):

   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:

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:

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

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:

   which uv  # Should show the path to UV

2. 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

3. Try running the server with explicit UV path:

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

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")
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.