DICOM连接测试服务器

用于DICOM连接测试的模型上下文协议(MCP)服务器,支持节点配置和C-ECHO操作。

  • by fluxinc
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 fluxinc/dicom-mcp-server

使用说明

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. 使用不同的本地AE标题进行C-ECHO操作

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 ENUENT”错误,通常表示以下情况之一:

  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")