README
🚀 DICOM MCP 服务器
DICOM MCP 服务器是一个用于 DICOM 连通性测试的 Model Context Protocol (MCP) 服务器,能有效助力 DICOM 相关的连通性测试工作。
🚀 快速开始
先决条件
安装 UV(必需):
pip install uv
确保 uv 已经安装在您的系统 PATH 中,因为它对 Claude 正确运行服务器至关重要。
安装
有两种方式可以设置服务器:
1. 传统安装
安装所需的依赖项:
uv pip install mcp[cli]
2. MCP 安装(推荐)
要使用此服务器与 Claude 的 Model Context Protocol 一起使用:
mcp install server.py
这将自动在 Claude 中注册服务器以进行 DICOM 操作。
运行服务器
直接执行
uv run server.py
通过 Claude
一旦通过 MCP 安装,Claude 将会根据需要自动管理该服务器。服务器将默认运行在 0.0.0.0:8080 端口。
✨ 主要特性
- 支持传统和 MCP 两种安装方式,满足不同用户需求。
- 可通过 Claude 自动管理服务器运行。
- 利用
nodes.yaml文件存储 DICOM 节点配置信息,方便进行节点管理和操作。 - 提供多种 DICOM 工具接口,可进行节点列出、C-ECHO 等操作。
📦 安装指南
传统安装
安装所需的依赖项:
uv pip install mcp[cli]
MCP 安装(推荐)
要使用此服务器与 Claude 的 Model Context Protocol 一起使用:
mcp install server.py
这将自动在 Claude 中注册服务器以进行 DICOM 操作。
💻 使用示例
基础用法
列出 DICOM 节点
列出配置文件中所有已配置的 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")
🔧 技术细节
节点配置
服务器使用一个 nodes.yaml 文件来存储 DICOM 节点的配置信息。这使您可以:
- 列出所有已配置的 DICOM 节点
- 使用节点名称而不是显式的 AE 标题、IP 和端口进行 C-ECHO 操作
- 为 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”错误,通常意味着以下原因之一:
- UV 未安装或不在系统 PATH 中
- Python 可执行文件无法被 MCP 客户端找到
解决方法:
- 确保 UV 已经正确安装并在 PATH 中:
which uv # 应该显示 UV 的路径
- 确保使用的是可访问的 Python 环境:
- 如果使用虚拟环境,请确保已激活
- 检查 Python 是否在 PATH 中
- 尝试通过指定 UV 的完整路径运行服务器:
/full/path/to/uv run server.py
- 通过检查日志中的 stderr 输出添加更多调试信息
Scan to join WeChat group