Token导航 LogoToken导航TokenDH.com
Orthanc MCP logo
文档知识stdio官方级别未说明来源级核验

Orthanc MCP

MCP Server

一个用于查询Orthanc DICOM服务器并从封装PDF报告中提取文本的模块化FastMCP服务器。

工具数

5

提示词数

0

GitHub Stars

2

资源数

0
Python数据处理文档处理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Adiking117

提供方

Adiking117

最后核验

2026/5/17 20:41

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv venv

详细介绍

Orthanc DICOM查询和PDF提取API

该项目提供了 模块化FastMCP服务器 用于查询Orthanc DICOM服务器并从封装的PDF报告中提取文本。

它提供了一组干净、结构化的工具,用于导航DICOM层次结构:

患者→ 研究→ 系列→ 实例→ PDF提取

______________________________________________________________________

✨ 特性

  • 🔍 查询患者 按姓名、ID或出生日期
  • 📂 查询研究 对于患者(CT、MRI、X射线等)
  • 🌀 查询系列 在研究中(阶段、序列、重建)
  • 📑 查询实例 系列内(单个DICOM对象)
  • 📖 提取PDF文本 来自封装的DICOM报告

所有工具均通过以下方式暴露 FastMCP 并且可以以编程方式或交互方式消费。

______________________________________________________________________

📂 项目结构

orthanc_mcp/
├── main.py                # Entry point: starts FastMCP server
├── config.py              # Environment variables & constants
├── orthanc_client.py      # Helper functions for Orthanc REST API
├── tools/
│   ├── __init__.py        # Makes tools importable
│   ├── patients.py        # query_patients tool
│   ├── studies.py         # query_studies tool
│   ├── series.py          # query_series tool
│   ├── instances.py      # query_instances tool
│   └── pdf_extract.py    # extract_pdf_text_from_dicom tool
└── requirements.txt       # Python dependencies

______________________________________________________________________

⚙️ 安装

  1. 克隆存储库
   git clone https://github.com/yourusername/orthanc-mcp.git
   cd orthanc-mcp
  1. 安装依赖项
   python -m venv venv
   venv\Scripts\Activate
   pip install -r requirements.txt
  1. 配置环境变量

创建一个 .env 文件:

   ORTHANC_URL=http://localhost:8042
   MCP_HOST=localhost
   MCP_PORT=5050

______________________________________________________________________

🚀 用法

运行服务器:

python main.py

FastMCP服务器将启动并公开以下工具:

  • query_patients
  • query_studies
  • query_series
  • query_instances
  • extract_pdf_text_from_dicom

______________________________________________________________________

🔄 工作流程

必须调用工具 自上而下的顺序,遵循DICOM层次结构:

  1. 患者query_patients
  2. 研究query_studies(patient_id=...)
  3. 系列query_series(study_id=...)
  4. 实例query_instances(series_id=...)
  5. PDF提取extract_pdf_text_from_dicom(instance_id=...)

______________________________________________________________________

📊 顺序流程图

flowchart TD
    A[query_patients] --> B[query_studies]
    B --> C[query_series]
    C --> D[query_instances]
    D --> E[extract_pdf_text_from_dicom]

此图显示了访问和提取PDF报告所需的分层导航。

______________________________________________________________________

📖 示例用例

from mcp.client import MCPClient

client = MCPClient("http://localhost:5050")

# Step 1: Find patient
patients = client.call("query_patients", {"name": "Smith"})
patient_id = patients[0]["PatientID"]

# Step 2: Find studies
studies = client.call("query_studies", {"patient_id": patient_id})
study_id = studies[0]["OrthancStudyID"]

# Step 3: Find series
series = client.call("query_series", {"study_id": study_id})
series_id = series[0]["OrthancSeriesID"]

# Step 4: Find instances
instances = client.call("query_instances", {"series_id": series_id})
instance_id = instances[0]["OrthancInstanceID"]

# Step 5: Extract PDF text
pdf_text = client.call(
    "extract_pdf_text_from_dicom",
    {"instance_id": instance_id}
)

print(pdf_text)

______________________________________________________________________

🛠️ 依赖项

  • FastMCP
  • 请求:
  • pydicom
  • PyPDF2
  • python dotenv

______________________________________________________________________

📌 备注

  • Orthanc必须正在运行,并且可以在配置的 ORTHANC_URL.
  • PDF提取仅适用于 封装PDF SOP类:

1.2.840.10008.5.1.4.1.1.104.1

  • 如果PDF没有文本层(例如扫描图像),提取将返回警告或空结果。

______________________________________________________________________

🤝 贡献

欢迎拉取请求!

对于重大更改,请先打开一个问题来讨论您想要更改的内容。

______________________________________________________________________

👥 贡献者

感谢以下为此项目做出贡献的人:

目录标签

目录标签

Python数据处理文档处理DICOM查询本地部署PDF提取医疗影像FastMCP

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP