DICOM MCP Server

Integrations

  • Supports integration with Docker for running Orthanc server in development and testing environments.

  • Uses Pydantic for configuration management, providing type validation and settings management for the DICOM MCP server.

  • Provides test suite integration for validating DICOM MCP functionality.

Сервер DICOM MCP для систем медицинской визуализации 🏥

Сервер dicom-mcp позволяет помощникам на базе искусственного интеллекта запрашивать, считывать и перемещать данные на серверах DICOM (PACS, VNA и т. д.).

🤝 Внести свой вклад • 📝 Сообщить об ошибке • 📝 Запись в блоге 1

--------------------------------------------------------------------- 🧑‍⚕️ 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³" ---------------------------------------------------------------------

✨ Основные возможности

dicom-mcp предоставляет инструменты для:

  • 🔍 Запрос метаданных : поиск пациентов, исследований, серий и случаев с использованием различных критериев.
  • 📄 Чтение отчетов DICOM (PDF) : извлечение экземпляров DICOM, содержащих инкапсулированные PDF-файлы (например, клинические отчеты), и извлечение текстового содержимого.
  • ➡️ Отправка изображений DICOM : отправка серий или исследований в другие пункты назначения DICOM, например, в конечные точки ИИ для сегментации изображений, классификации и т. д.
  • ⚙️ Утилиты : управление подключениями и понимание параметров запросов.

🚀 Быстрый старт

📥 Установка

Установка с помощью uv или pip:

uv tool install dicom-mcp

Или клонировав репозиторий:

# 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 требует файл конфигурации YAML ( config.yaml или аналогичный), определяющий узлы DICOM и вызывающий заголовки AE. Адаптируйте конфигурацию или оставьте как есть для совместимости с образцом сервера ORTHANC.

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

[!ВНИМАНИЕ] DICOM-MCP не предназначен для клинического использования и не должен быть связан с реальными больничными базами данных или базами данных с конфиденциальными данными пациентов. Это может привести как к потере данных пациентов, так и к утечке данных пациентов в Интернет. DICOM-MCP можно использовать с локально размещенными LLM с открытым весом для полной конфиденциальности данных.

(Необязательно) Пример сервера ORTHANC

Если у вас нет сервера DICOM, вы можете запустить локальный сервер ORTHANC с помощью Docker:

Клонируйте репозиторий и установите тестовые зависимости pip install -e ".[dev]

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

Пользовательский интерфейс по адресу http://localhost:8042

🔌 Интеграция 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.

🔍 Запрос метаданных

  • query_patients : Поиск пациентов по таким критериям, как имя, идентификатор или дата рождения.
  • query_studies : поиск исследований по идентификатору пациента, дате, модальности, описанию, номеру доступа или уникальному идентификатору исследования.
  • query_series : поиск серий в рамках определенного исследования с использованием модальности, номера/описания серии или уникального идентификатора серии.
  • query_instances : поиск отдельных экземпляров (изображений/объектов) в серии с использованием номера экземпляра или UID экземпляра SOP

📄 Читать отчеты DICOM (PDF)

  • extract_pdf_text_from_dicom : извлечение определенного экземпляра DICOM, содержащего инкапсулированный PDF-файл, и извлечение его текстового содержимого.

➡️ Отправка изображений DICOM

  • move_series : отправка определенной серии DICOM на другой настроенный узел DICOM с помощью C-MOVE.
  • move_study : отправка всего исследования DICOM на другой настроенный узел DICOM с помощью C-MOVE.

⚙️ Коммунальные услуги

  • list_dicom_nodes : Отображение текущего активного узла DICOM и списка всех настроенных узлов.
  • switch_dicom_node : изменение активного узла DICOM для последующих операций.
  • verify_connection : проверка сетевого подключения DICOM к текущему активному узлу с помощью C-ECHO.
  • get_attribute_presets : список доступных уровней детализации (минимальный, стандартный, расширенный) для результатов запроса метаданных.

Пример взаимодействия

Инструменты можно объединять в цепочку для ответа на сложные вопросы:

📈 Вклад

Проведение тестов

Для тестов требуется работающий сервер 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

🙏 Благодарности

  • Создано с использованием pynetdicom
  • Использует PyPDF2 для извлечения текста из PDF-файлов
-
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.

Позволяет помощникам на базе искусственного интеллекта запрашивать и анализировать метаданные медицинских изображений с серверов 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 -
        1
        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

      ID: h5p8xkjx92