Dicom Mcp

Dicom Mcp

🚀 DICOM MCP 服务器

DICOM MCP 服务器是一款基于 Model Context Protocol (MCP) 的工具,可与符合 DICOM 标准的医学影像系统进行交互。它支持通过 MCP 协议检索和操作 DICOM 数据,还具备从封装在 DICOM 实例中的 PDF 文档提取文本等实用功能。

🚀 快速开始

启动服务器

uvicorn dicom_mcp.server:app --reload

使用配置文件启动

创建一个配置文件 config.yaml

DICOM:
AE_Title: My DICOM Server
Port: 11112
Max_Workers: 4
LogLevel: INFO
Query_Retrieve_Capability:
SCP: true
SCU: false
Storage_SCP: true
Query_SCP: true
Retrieve_SCP: true

然后启动服务器:

uvicorn dicom_mcp.server:app --reload --config config.yaml

✨ 主要特性

  • 支持通过 MCP 协议检索和操作 DICOM 数据。
  • 能够从封装在 DICOM 实例中的 PDF 文档提取文本。

📦 安装指南

使用 pip 安装

pip install dicom-mcp

从源码安装

  1. 克隆仓库:
git clone https://github.com/yourusername/dicom-mcp.git
cd dicom-mcp
  1. 创建虚拟环境并激活:
python -m venv .venv
source .venv/bin/activate  # 在 Windows 上使用:.venv\Scripts\activate
  1. 安装依赖:
pip install -e .

💻 使用示例

基础用法

检索 DICOM 数据

搜索患者
patients = client.search_patients()
for patient in patients:
print(f"Patient ID: {patient.PatientID}, Name: {patient.Name}")
搜索研究
studies = client.search_studies(patient_id="12345")
for study in studies:
print(f"Study Instance UID: {study.StudyInstanceUID}, Modality: {study.Modality}")
搜索系列
series = client.search_series(study_instance_uid="1.2.840.10008.5.1.4.1.1.2.1.1")
for series in studies:
print(f"Series Instance UID: {series.SeriesInstanceUID}, Description: {series.SeriesDescription}")
搜索实例
instances = client.search_instances(series_instance_uid="1.2.840.10008.5.1.4.1.1.2.1.2")
for instance in instances:
print(f"SOP Instance UID: {instance.SOPInstanceUID}")

检索特定实例

instance = client.retrieve_instance(
study_instance_uid="1.2.840.10008.5.1.4.1.1.2.1.1",
series_instance_uid="1.2.840.10008.5.1.4.1.1.2.1.2",
sop_instance_uid="1.2.840.10008.5.1.4.1.1.2.1.3"
)
print(instance.PixelData)

封装 PDF 文本提取

text = client.extract_pdf_text(
study_instance_uid="1.2.840.10008.5.1.4.1.1.104.1.1",
series_instance_uid="1.2.840.10008.5.1.4.1.1.104.1.2",
sop_instance_uid="1.2.840.10008.5.1.4.1.1.104.1.3"
)
print(text)

📚 详细文档

配置

默认配置文件

DICOM:
AE_Title: My DICOM Server
Port: 11112
Max_Workers: 4
LogLevel: INFO
Query_Retrieve_Capability:
SCP: true
SCU: false
Storage_SCP: true
Query_SCP: true
Retrieve_SCP: true

自定义配置

创建一个自定义配置文件 config.yaml

DICOM:
AE_Title: My Custom DICOM Server
Port: 11113
Max_Workers: 8
LogLevel: DEBUG
Query_Retrieve_Capability:
SCP: false
SCU: true
Storage_SCP: false
Query_SCP: false
Retrieve_SCP: true

然后启动服务器:

uvicorn dicom_mcp.server:app --reload --config config.yaml

开发

克隆仓库

git clone https://github.com/yourusername/dicom-mcp.git
cd dicom-mcp

安装依赖

pip install -r requirements.txt

启动开发服务器

uvicorn dicom_mcp.server:app --reload

贡献

  1. Fork 仓库。
  2. 创建功能分支。
  3. 提交更改。
  4. 推送到分支。
  5. 创建拉取请求。

📄 许可证

本项目使用 MIT 许可证。

  • 0 关注
  • 0 收藏,24 浏览
  • system 提出于 2025-10-03 19:24

相似服务问题

相关AI产品