SuperAPI AI 工具集

dicomweb-mcp-server

dicomweb-mcp-server 是一个 Model Context Protocol(MCP)服务器实现,用于将符合 DICOMweb 标准的 DICOM 归档暴露给 AI 助手。通过它,任何支持 MCP 的客户端都能用自然语言搜索检查、序列和实例,查看 DICOM 元数据,读取结构化报告和封装式 PDF 报告,并渲染图像帧。其运行依赖 Node.js 20 或更高版本,以及一个支持 QIDO-RS 和 WADO-RS 的 DICOMweb 服务器(如 orthanc)。该工具提供搜索研究、序列、实例,查找并读取结构化报告,查找封装 PDF 报告并提取文本内容,获取实例元数据,以及渲染实例帧为内嵌 JPEG 或 PNG 图像等能力,适合在医疗影像场景中通过 AI 助手进行归档数据检索与查看。

访问官网

工具介绍

dicomweb-mcp-server 是一个 Model Context Protocol(MCP)服务器,用于把符合 DICOMweb 标准的 DICOM 归档暴露给 AI 助手。任何具备 MCP 能力的客户端都可以通过自然语言搜索检查(studies)、序列(series)和实例(instances),检查元数据,读取结构化报告(Structured Reports)与封装式 PDF 报告(Encapsulated PDF Reports),以及渲染图像帧。

使用前提:

  • Node.js 20 或更高版本。
  • 一个正在运行的 DICOMweb 服务器,支持 QIDO-RS 和 WADO-RS(例如 orthanc)。
  • DICOMweb 服务器必须支持文档中列出的相关端点。

安装与运行: 推荐使用 npx 方式,无需本地安装。服务器会从脚本所在目录读取 .env 文件中的配置。需要创建一个 .env 文件,填入所连接 DICOMweb 服务器的连接信息,文件放在服务器执行位置旁边,或放在 MCP 客户端中配置的工作目录。

MCP 客户端配置: 可将服务器加入 claude_desktop_config.json,也可以在 env 块中直接提供所有环境变量,而不使用 .env 文件。VS Code(GitHub Copilot Agent Mode)可添加到 VS Code 的 settings.json 或工作区 .vscode/mcp.json。Cursor 可添加到项目根目录的 .cursor/mcp.json,或全局的 ~/.cursor/mcp.json。

可用工具:

  • 搜索 DICOM 检查(studies):在配置的 DICOMweb 服务器上搜索检查,结果按检查日期排序,最新在前。示例提示:“Find all CT studies for patient John Doe”“Search for studies from January 2024”。
  • 搜索 DICOM 序列(series):在单个检查内搜索序列,结果按序列日期排序,最新在前。
  • 搜索 DICOM 实例(instances):在单个序列内搜索实例,结果按 Instance Number 升序排列。
  • find-encapsulated-pdf-reports:通过查找 DOC 模态序列并按封装 PDF SOP Class UID(1.2.840.10008.5.1.4.1.1.104.1)过滤,找出检查中所有封装 PDF 实例。示例提示:“Find all PDF reports in study 1.2.3.4”“Are there any encapsulated PDF documents in this study?”。
  • get-encapsulated-pdf-report-text:获取封装 PDF 的 DICOM 实例并提取其文本内容。注意:文本提取仅适用于可搜索(基于文本)的 PDF;完全由扫描页面图像组成、没有嵌入文本层的 PDF 将得到很少或没有文本,这种情况下不会执行 OCR。示例提示:“Read the PDF report for SOP instance 1.2.3.4.5”“What does the encapsulated PDF document say?”。
  • find-structured-reports:通过查找 SR 模态序列并按已知的 SR SOP Class UID 过滤,找出检查中所有结构化报告(SR)实例。
  • get-structured-report-text:获取结构化报告实例并将其转换为人类可读的文本。
  • get-instance-metadata:以人类可读文本检索并格式化单个实例的全部 DICOM 属性,不检索像素数据。
  • render-instance-frame:渲染 DICOM 实例中的指定帧,并以内嵌图像(JPEG 或 PNG)返回。示例提示:“Show me the first frame of SOP instance 1.2.3.4.5 as a JPEG”。

查询参数说明: 搜索工具接受的 query 参数是以空格分隔的 key=value 列表。在 DICOMweb 服务器允许的情况下,字符串值中支持通配符 *。

典型工作流: 与 MCP 服务器的自然对话序列通常如下:

  1. 搜索检查——使用 find-studies,配合患者姓名或日期范围。
  2. 浏览序列——使用第 1 步返回的 Study Instance UID 调用 find-series。
  3. 列出实例——使用第 1–2 步的 Study 和 Series UID 调用 find-instances。
  4. 检查或渲染——用 get-instance-metadata 查看 DICOM 属性,或用 render-instance-frame 查看像素数据。
  5. 读取 SR 报告——先 find-structured-reports,再 get-structured-report-text 获取 SR 文档。
  6. 读取 PDF 报告——先 find-encapsulated-pdf-reports,再 get-encapsulated-pdf-report-text 获取封装 PDF 文档。

许可证:dicomweb-mcp-server 基于 MIT License 发布。