# DICOM MCP Server (数字成像与通信医学上下文协议服务器)
## 基本信息
- Slug: `fluxinc-dicom-mcp-server`
- Source: modelscope
- Publisher: @fluxinc/dicom-mcp-server
- Categories: monitoring / communication / health-and-wellness
- Hosted: No
- License: GNU Lesser General Public License v2.1
- Source URL: https://www.modelscope.cn/mcp/servers/@fluxinc/dicom-mcp-server
## 简介
一个连接性测试服务器，通过克劳德模型上下文协议支持DICOM网络操作（如C-ECHO），并支持节点配置管理。
## 安装提示

```bash
pip install uv
```

## MCP Server 详情

# DICOM MCP 服务器

用于 DICOM 连接测试的 Model Context Protocol (MCP) 服务器。

## 先决条件

1. 安装 UV（必需）：
   ```bash
   pip install uv
   ```
   确保 `uv` 在您的系统 PATH 中可用，因为 Claude 正确执行服务器需要它。

## 安装

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

### 1. 传统设置

安装所需的依赖项：

```bash
uv pip install mcp[cli]
```


### 2. MCP 安装（推荐）

要使用 Claude 的 Model Context Protocol 来使用此服务器：

```bash
mcp install server.py
```


这将使服务器在 Claude 上注册以进行 DICOM 操作。

## 运行服务器

### 直接执行

```bash
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 格式

```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 中：
   ```bash
   which uv  # 应显示 UV 的路径
   ```

2. 确保您正在使用系统可访问的 Python 环境：
   - 如果使用虚拟环境，请确保它已激活
   - 检查 Python 是否在您的 PATH 中

3. 尝试使用显式的 UV 路径运行服务器：
   ```bash
   /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")
```

