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
pip install dicom-mcp
git clone https://github.com/yourusername/dicom-mcp.git
cd dicom-mcp
python -m venv .venv
source .venv/bin/activate # 在 Windows 上使用:.venv\Scripts\activate
pip install -e .
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)
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
本项目使用 MIT 许可证。