DICOM MCP Server

GNU Lesser General Public License v2.1 only
2

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

DICOM MCP 服务器

用于 DICOM 连接测试的模型上下文协议 (MCP) 服务器。

先决条件

  1. 安装 UV(必需):
    pip install uv
    确保uv在您的系统 PATH 中可用,因为 Claude 需要它才能正确执行服务器。

安装

有两种设置服务器的方法:

1. 传统设置

安装所需的依赖项:

uv pip install mcp[cli]

2. MCP 安装(推荐)

要将此服务器与 Claude 的模型上下文协议一起使用:

mcp install server.py

这将向 Claude 注册服务器以进行 DICOM 操作。

运行服务器

直接执行

uv run server.py

通过克劳德

一旦通过 MCP 安装,服务器将在需要时由 Claude 自动管理。

服务器默认从 0.0.0.0:8080 启动。

节点配置

服务器使用nodes.yaml文件来存储 DICOM 节点配置。这允许您:

  1. 列出所有配置的 DICOM 节点
  2. 使用节点名称而不是明确的 AE 标题、IP 和端口执行 C-ECHO 操作
  3. 为 C-ECHO 操作使用不同的本地 AE 标题

nodes.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"

故障排除

如果遇到“spawn uv ENOENT”错误,通常意味着以下之一:

  1. UV 未安装或不在您的 PATH 中
  2. MCP 客户端找不到 Python 可执行文件

解决方案:

  1. 确保 UV 已正确安装并位于您的 PATH 中:
    which uv # Should show the path to UV
  2. 确保您使用的 Python 环境可供系统访问:
    • 如果使用虚拟环境,请确保它已激活
    • 检查 Python 是否在你的 PATH 中
  3. 尝试使用明确的 UV 路径运行服务器:
    /full/path/to/uv run server.py
  4. 通过检查日志中的 stderr 输出来添加更多调试

用法

服务器提供了几个可以通过 MCP 接口使用的 DICOM 工具:

列出 DICOM 节点

从 nodes.yaml 文件列出所有配置的 DICOM 节点:

list_dicom_nodes()

C-ECHO(按节点名称)

使用配置中的节点名称执行 C-ECHO 操作:

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

直接C-ECHO

使用显式参数执行 C-ECHO 操作:

dicom_cecho(remote_ae_title="REMOTE_AE", ip="192.168.1.100", port=104, local_ae_title="MCP_DICOM")
-
security - not tested
A
license - permissive license
-
quality - not tested

连接测试服务器通过 Claude 的模型上下文协议实现 DICOM 网络操作(如 C-ECHO),并支持节点配置管理。

  1. Prerequisites
    1. Installation
      1. 1. Traditional Setup
      2. 2. MCP Installation (Recommended)
    2. Running the Server
      1. Direct Execution
      2. Through Claude
    3. Node Configuration
      1. nodes.yaml Format
    4. Troubleshooting
      1. Solutions:
    5. Usage
      1. List DICOM Nodes
      2. C-ECHO by Node Name
      3. Direct C-ECHO
    ID: ch06g5ng9m