MCP-MedImg
MCP-MedImg: Enabling Standardized PACS-AI Integration through the Model Context Protocol
Reference implementation for the paper:
"MCP-MedImg: Enabling Standardized PACS-AI Integration through the Model Context Protocol"Author: Xiong Shi (ORCID: 0009-0006-2745-491X)
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/Xiong-Shi/MCP-MedImg.git
cd MCP-MedImg
pip install -r requirements.txt2. Start Orthanc PACS
docker-compose -f config/orthanc/docker-compose.yml up -d3. Run Unit Tests (Protocol Validation)
pytest tests/ -v --tb=short
# Expected: 132 passing, 3 skipped across 10 validation scenarios4. 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.9324±0.0062 |
LIDC-IDRI preprocessed (n=200) | ~8 GB | HU-normalized, resampled CT volumes (inference uses randomly initialized model, not trained weights) |
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.shKey Experimental Results
Metric | Value | Details |
MSD Heart 5-fold Dice | 0.9324 ± 0.0062 | 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 | 132 passing, 3 skipped | 10 validation scenarios |
Analysis Figures: Detailed analysis charts (LIDC bimodal distribution, PROTO error robustness) are available in the Zenodo dataset:
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) |
| ~5 min (CPU) |
Table 18 (LIDC, n=200) |
| ~20 min (RTX 4090D) |
Table 19 (Heart, n=20) |
| ~12 min (RTX 4090D) |
Table 20-21 (Overhead) |
| ~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).