Skip to main content
Glama

DICOM MCP Server

의료 영상 시스템용 DICOM MCP 서버 🏥

dicom-mcp 서버는 AI 어시스턴트가 DICOM 서버(PACS, VNA 등)에서 데이터를 쿼리하고, 읽고, 이동할 수 있도록 합니다.

🤝 기여 • 📝 버그 신고 • 📝 블로그 게시물

✨ 핵심 역량

dicom-mcp 다음 작업을 위한 도구를 제공합니다.

  • 🔍 메타데이터 쿼리 : 다양한 기준을 사용하여 환자, 연구, 시리즈 및 인스턴스를 검색합니다.
  • 📄 DICOM 보고서(PDF) 읽기 : 캡슐화된 PDF(예: 임상 보고서)가 포함된 DICOM 인스턴스를 검색하고 텍스트 콘텐츠를 추출합니다.
  • ➡️ DICOM 이미지 보내기 : 시리즈나 연구를 다른 DICOM 대상지(예: 이미지 분할, 분류를 위한 AI 엔드포인트)로 보냅니다.
  • ⚙️ 유틸리티 : 연결을 관리하고 쿼리 옵션을 이해합니다.

🚀 빠른 시작

📥 설치

uv 또는 pip를 사용하여 설치:

지엑스피1

또는 저장소를 복제합니다.

# Clone and set up development environment git clone https://github.com/ChristianHinge/dicom-mcp cd dicom mcp # Create and activate virtual environment uv venv source .venv/bin/activate # Install with test dependencies uv pip install -e ".[dev]"

⚙️ 구성

dicom-mcp DICOM 노드를 정의하고 AE 제목을 호출하는 YAML 구성 파일( config.yaml 또는 유사 파일)이 필요합니다. 샘플 ORTHANC 서버와의 호환성을 위해 구성을 수정하거나 그대로 유지하세요.

nodes: main: host: "localhost" port: 4242 ae_title: "ORTHANC" description: "Local Orthanc DICOM server" current_node: "main" calling_aet: "MCPSCU"

[!NOTE] DICOM-MCP는 임상 용도로 제작되지 않은 오픈 소스 프로젝트이므로, 병원 데이터베이스나 환자 민감 데이터가 포함된 데이터베이스와 연결해서는 안 됩니다. 연결하지 않을 경우 환자 데이터가 손실되거나 인터넷으로 유출될 수 있습니다.

(선택 사항) ORTHANC 서버 샘플

DICOM 서버를 사용할 수 없는 경우 Docker를 사용하여 로컬 ORTHANC 서버를 실행할 수 있습니다.

저장소를 복제하고 테스트 종속성을 설치합니다 pip install -e ".[dev]

cd tests docker ocmpose up -d cd .. pytest # uploads dummy pdf data to ORTHANC server sh upload_dummy_data.sh

http://localhost:8042 의 UI

🔌 MCP 통합

클라이언트 구성에 다음을 추가합니다(예: claude_desktop_config.json ):

{ "mcpServers": { "dicom": { "command": "uv", "args": ["tool","dicom-mcp", "/path/to/your_config.yaml"] } } }

개발을 위해:

{ "mcpServers": { "arxiv-mcp-server": { "command": "uv", "args": [ "--directory", "path/to/cloned/dicom-mcp", "run", "dicom-mcp", "/path/to/your_config.yaml" ] } } }

🛠️ 도구 개요

dicom-mcp DICOM 서버와 DICOM 데이터와의 상호작용을 위한 4가지 범주의 도구를 제공합니다.

🔍 쿼리 메타데이터

  • query_patients : 이름, ID, 생년월일 등의 기준으로 환자를 검색합니다.
  • query_studies : 환자 ID, 날짜, 모달리티, 설명, 접근 번호 또는 연구 UID를 사용하여 연구를 찾습니다.
  • query_series : 모달리티, 시리즈 번호/설명 또는 시리즈 UID를 사용하여 특정 연구 내의 시리즈를 찾습니다.
  • query_instances : 인스턴스 번호 또는 SOP 인스턴스 UID를 사용하여 시리즈 내의 개별 인스턴스(이미지/객체)를 찾습니다.

📄 DICOM 보고서 읽기(PDF)

  • extract_pdf_text_from_dicom : 캡슐화된 PDF가 포함된 특정 DICOM 인스턴스를 검색하고 해당 텍스트 콘텐츠를 추출합니다.

➡️ DICOM 이미지 보내기

  • move_series : C-MOVE를 사용하여 특정 DICOM 시리즈를 구성된 다른 DICOM 노드로 보냅니다.
  • move_study : C-MOVE를 사용하여 전체 DICOM 연구를 다른 구성된 DICOM 노드로 보냅니다.

⚙️ 유틸리티

  • list_dicom_nodes : 현재 활성화된 DICOM 노드를 표시하고 구성된 모든 노드를 나열합니다.
  • switch_dicom_node : 후속 작업을 위해 활성 DICOM 노드를 변경합니다.
  • verify_connection : C-ECHO를 사용하여 현재 활성화된 노드에 대한 DICOM 네트워크 연결을 테스트합니다.
  • get_attribute_presets : 메타데이터 쿼리 결과에 대해 사용 가능한 세부 정보 수준(최소, 표준, 확장)을 나열합니다.

예시 상호작용

다음과 같은 도구를 연결하여 복잡한 질문에 답할 수 있습니다.

--------------------------------------------------------------------- 🧑‍⚕️ User: "Any significant findings in John Doe's previous CT report?" 🧠 LLM → ⚙️ Tools: query_patients → query_studies → query_series → extract_pdf_text_from_dicom 💬 LLM Response: "The report from 2025-03-26 mentions a history of splenomegaly (enlarged spleen)" 🧑‍⚕️ User: "What's the volume of his spleen at the last scan and the scan today?" 🧠 LLM → ⚙️ Tools: (query_studies → query_series → move_series → query_series → extract_pdf_text_from_dicom) x2 (The move_series tool sends the latest CT to a DICOM segmentation node, which returns volume PDF report) 💬 LLM Response: "last year 2024-03-26: 412cm³, today 2025-04-10: 350cm³" ---------------------------------------------------------------------

📈 기여하기

테스트 실행

테스트를 실행하려면 Orthanc DICOM 서버가 필요합니다. Docker를 사용할 수 있습니다.

# Navigate to the directory containing docker-compose.yml (e.g., tests/) cd tests docker-compose up -d

pytest를 사용하여 테스트를 실행합니다.

# From the project root directory pytest

Orthanc 컨테이너를 중지하세요:

cd tests docker-compose down

디버깅

MCP Inspector를 사용하여 서버 통신을 디버깅하세요.

npx @modelcontextprotocol/inspector uv run dicom-mcp /path/to/your_config.yaml --transport stdio

🙏 감사의 말

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

AI 보조자가 환자 정보, 연구, 시리즈, 인스턴스를 포함한 DICOM 서버에서 의료 영상 메타데이터를 쿼리하고 분석하고, 캡슐화된 PDF 문서에서 텍스트를 추출할 수 있도록 지원합니다.

  1. ✨ 핵심 역량
    1. 🚀 빠른 시작
      1. 📥 설치
      2. ⚙️ 구성
      3. (선택 사항) ORTHANC 서버 샘플
      4. 🔌 MCP 통합
    2. 🛠️ 도구 개요
      1. 🔍 쿼리 메타데이터
      2. 📄 DICOM 보고서 읽기(PDF)
      3. ➡️ DICOM 이미지 보내기
      4. ⚙️ 유틸리티
      5. 예시 상호작용
    3. 📈 기여하기
      1. 테스트 실행
      2. 디버깅
    4. 🙏 감사의 말

      Related MCP Servers

      • -
        security
        F
        license
        -
        quality
        🔍 Enable AI assistants to search and access medRxiv papers through a simple MCP interface. The medRxiv MCP Server provides a bridge between AI assistants and medRxiv's preprint repository through the Model Context Protocol (MCP). It allows AI models to search for health sciences preprints and acce
        Last updated -
        1
        Python
        • Linux
        • Apple
      • -
        security
        A
        license
        -
        quality
        A specialized Model Context Protocol server that enhances AI-assisted medical learning by connecting Claude Desktop to PubMed, NCBI Bookshelf, and user documents for searching, retrieving, and analyzing medical education content.
        Last updated -
        Python
        MIT License
        • Apple
      • -
        security
        F
        license
        -
        quality
        A Model Context Protocol server providing AI assistants with access to healthcare data tools, including FDA drug information, PubMed research, health topics, clinical trials, and medical terminology lookup.
        Last updated -
        10
        Python
        • Linux
        • Apple
      • -
        security
        A
        license
        -
        quality
        A FastMCP server implementation for the Dixa API, enabling AI assistants to search, retrieve, and manage customer conversation data and tags.
        Last updated -
        TypeScript
        MIT License

      View all related MCP servers

      MCP directory API

      We provide all the information about MCP servers via our MCP API.

      curl -X GET 'https://glama.ai/api/mcp/v1/servers/ChristianHinge/dicom-mcp'

      If you have feedback or need assistance with the MCP directory API, please join our Discord server