返回市场
dicom-mcp服务器

dicom-mcp服务器

作者:fluxinc3 星标更新:2025-02-28

项目介绍

DICOM MCP 服务器

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

预备条件

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

安装

有两种方式设置服务器:

1. 传统安装

安装所需的依赖项:

uv pip install mcp[cli]

2. MCP 安装(推荐)

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

mcp install server.py

这将注册服务器以供DICOM操作使用。

运行服务器

直接执行

uv run server.py

通过Claude

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

默认情况下,服务器将在0.0.0.0:8080启动。

节点配置

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

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

nodes.yaml 格式

nodes:
  # 示例节点配置
  main_pacs:
    ae_title: DESTINATION
    ip: 192.168.1.100
    port: 104
    description: "主要医院PACS系统"

local_ae_titles:
  - name: default
    ae_title: MCP_DICOM
    description: "MCP DICOM服务器的默认AE标题"
  
  - name: pacs_gateway
    ae_title: PACS_GATEWAY
    description: "PACS网关AE标题"

故障排除

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

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

解决方案:

  1. 确保UV已正确安装并在你的PATH中:

    which uv  # 应该显示到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")