dicom
A server for managing contextual data in DICOM tools, supporting medical imaging and machine learning workflows.
claude mcp add --transport stdio fluxinc-dicom-mcp-server uvx run server.py \ --env UV_WORKER_COUNT="4" \ --env UV_ENABLE_LOGGING="true (enable verbose uv logs)"
How to use
This MCP server provides DICOM connectivity testing tools exposed via the MCP interface. It allows you to list configured DICOM nodes stored in the nodes.yaml file, perform C-ECHO operations by node name, and perform direct C-ECHO operations with explicit remote parameters. After starting the server, you can interact with its DICOM utilities through the MCP client to verify connectivity to your DICOM peers and validate AE titles, IPs, and ports. The server runs on 0.0.0.0:8080 by default, and uses a YAML configuration (nodes.yaml) to manage local DICOM nodes and their associated AE titles.
Key capabilities include:
- List DICOM nodes configured in nodes.yaml: list_dicom_nodes()
- C-ECHO by node name: dicom_cecho_by_name(node_name="main_pacs", local_ae_name="default")
- Direct C-ECHO: dicom_cecho_by_name(remote_ae_title="REMOTE_AE", ip="192.168.1.100", port=104, local_ae_title="MCP_DICOM")
Typical workflow:
- Start the server (uv run server.py). 2) Use the MCP interface commands to query configured nodes and perform C-ECHO tests against those nodes. 3) If needed, adjust nodes.yaml to reflect new DICOM endpoints or to switch local AE titles.
How to install
Prerequisites:
- Python with uv (Python's UV library) installed and available in PATH: pip install uv
Installation options:
- Traditional Setup
- Install the MCP CLI tooling first:
uv pip install mcp[cli] - This provides the MCP command-line utilities required to run and manage MCP servers.
- MCP Installation (Recommended for Claude integration)
- Register the DICOM server with Claude for MCP integration:
mcp install server.py - This registers the server with Claude so it can be managed and invoked via Claude’s MCP interface.
Running the server:
- Start the server directly:
uv run server.py - The server will listen on 0.0.0.0:8080 by default.
Notes:
- If you plan to use Claude to manage the MCP server, ensure the installation step above completed successfully.
- Ensure your Python environment (or virtual environment) is active when running the commands.
Additional notes
Tips and common issues:
- Prerequisite: Ensure UV is installed and available in PATH (pip install uv). The server relies on UV for asynchronous operation.
- If you encounter an ENOENT error related to UV, verify that UV is installed and that the Python executable used by the MCP client can access UV.
- The nodes.yaml file stores DICOM node configurations (AE titles, IPs, ports). Update this file to reflect your environment; the MCP server will read from it when listing nodes or performing C-ECHO operations.
- Default server port is 8080; if you need to customize, modify the server configuration (where supported) or run with appropriate environment overrides.
- When testing C-ECHO, prefer using node names from nodes.yaml for ease of use, and switch to explicit parameters if testing specific IP/port configurations.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP