MCP-MedImg

MCP-MedImg

Enables standardized PACS-AI integration through the Model Context Protocol, providing medical imaging workflows with DICOMweb transport, hierarchical PHI de-identification, and AI model orchestration.

Category
Visit Server

README

MCP-MedImg: Enabling Standardized PACS-AI Integration through the Model Context Protocol

License <!-- TODO: Add Zenodo DOI badge after registration -->

Reference implementation for the paper:
"MCP-MedImg: Enabling Standardized PACS-AI Integration through the Model Context Protocol"

Architecture

MCP-MedImg extends the Model Context Protocol (MCP) with a four-layer protocol stack specifically designed for medical imaging workflows:

  • L1 Transport: DICOMweb / DICOM C-MOVE / dicom-mcp compatibility wrapper
  • L2 Security & Compliance: Hierarchical PHI de-identification + 14-column cryptographic audit trail
  • L3 AI Orchestration: Model registry, inspection-type routing, version management, result formatting
  • L4 Application Semantics: Lesion encoding (RADS/BI-RADS), conditional verification state machine

Quick Start

Prerequisites

  • Ubuntu 22.04 (recommended) / macOS / Windows WSL2
  • Python 3.10+
  • Docker & Docker Compose
  • NVIDIA GPU with CUDA 12.1+ (optional; Mock engine available for CPU-only environments)

1. Clone & Install

git clone https://github.com/bailianfa/MCP-MedImg.git
cd MCP-MedImg
pip install -r requirements.txt

2. Start Orthanc PACS

docker-compose -f config/orthanc/docker-compose.yml up -d

3. Run Unit Tests (Protocol Validation)

pytest tests/ -v --tb=short
# Expected: 134 passing tests across 10 validation scenarios

4. Run Benchmarks

bash scripts/reproduce_lidc_benchmark.sh      # Table 18: LIDC-IDRI inference latency (n=200)
bash scripts/reproduce_heart_benchmark.sh     # Table 19, 22: MSD Heart 5-fold validation
bash scripts/reproduce_protocol_overhead.sh   # Table 20, 21: Protocol overhead decomposition (n=98)

Datasets & Model Weights

Due to file size limits, pretrained model weights and full preprocessed datasets are available via separate download:

Asset Size Description
nnU-Net 5-fold ensemble (MSD Heart) ~1.2 GB Trained weights, mean Dice 0.9325
LIDC-IDRI preprocessed (n=200) ~8 GB HU-normalized, resampled CT volumes
MSD Heart preprocessed (n=20) ~1 GB nnU-Net v2 auto-preprocessed
Benchmark logs ~50 MB Table 18-21 original timing logs

Download instructions:

bash scripts/download_pretrained_weights.sh

Key Experimental Results

Metric Value Details
MSD Heart 5-fold Dice 0.9325 +/- 0.0064 nnU-Net v2, 1000 epochs per fold
LIDC Inference (n=200) 5.40s mean end-to-end RTX 4090D, 22.58M params
Protocol Overhead 567.47ms (99.8% L1 Transport) n=98, 3.41% measurement error
Unit Tests 134 passing, 1 skipped 10 validation scenarios

Security & Audit

This implementation addresses the MCP-38 threat taxonomy for medical imaging:

  • Hierarchical PHI de-identification (Patient / Department / System level)
  • Cryptographic audit trails with SHA-256 hashing
  • Containerized sandbox execution
  • Input sanitization against indirect prompt injection

Reproducibility

All experimental results from the paper can be reproduced via the scripts in scripts/.

Paper Table/Figure Reproduce Script Expected Runtime
Table 16 (134 tests) pytest tests/ ~5 min (CPU)
Table 18 (LIDC, n=200) scripts/reproduce_lidc_benchmark.sh ~20 min (RTX 4090D)
Table 19 (Heart, n=20) scripts/reproduce_heart_benchmark.sh ~12 min (RTX 4090D)
Table 20-21 (Overhead) scripts/reproduce_protocol_overhead.sh ~15 min (RTX 4090D)
Table 22 (Dice) Included in Heart script --

Citation

If you use this code, please cite:

@article{mcp_medimg_2026,
  title={MCP-MedImg: Enabling Standardized PACS-AI Integration through the Model Context Protocol},
  author={[Author Names]},
  journal={[Journal Name]},
  year={2026}
}

License

This project is licensed under the Apache License 2.0 - see LICENSE file.

Disclaimer

This is a research prototype for protocol validation and reproducibility. Not for clinical use without appropriate regulatory approval (FDA/NMPA/CE).

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured