llm-tools/mcps/dicom_mcp/docs/CAPABILITIES.md
Gregory Gauthier 83ec950df7 first commit
2026-04-08 12:11:04 +01:00

6.8 KiB
Raw Blame History

Claude DICOM-MCP Capabilities List

# What I can do Module Possible without the MCP?
1 Find DICOM files in a folder, including subfolders, and tell you what's in them (series, sequence type, manufacturer). Can also just give a count. dicom_list_files No — I could list files with bash, but I couldn't read DICOM headers to identify what they are.
2 Find Dixon sequences in a folder and identify which images are water, fat, in-phase, and out-phase. dicom_find_dixon_series No — requires both DICOM parsing and domain-specific sequence identification logic.
3 Read the metadata (headers) from a single DICOM file — patient info, study details, scanner settings, geometry, etc. Can also resolve Philips private tags. dicom_get_metadata No — DICOM is a binary format. I can't read it with standard text tools.
4 Compare headers side-by-side across 210 DICOM files, highlighting what's different. dicom_compare_headers No — same reason; I can't parse the binary headers.
5 Query any DICOM tag across all files in a directory, optionally grouped by another tag (e.g. "show me all echo times, grouped by series"). dicom_query No.
6 Summarise a whole directory — give a high-level overview of what vendors, scanners, sequences, and series are present, with file counts. dicom_summarize_directory No.
7 Validate scan parameters (TR, TE, flip angle, etc.) against expected values for a given sequence. dicom_validate_sequence No — can't extract the parameters to validate.
8 Analyse a full series for consistency — check that all files in a series have matching parameters and that the series is complete. dicom_analyze_series No.
9 Search for files matching specific criteria using a filter language — text matching, numeric comparisons, or presence checks on any tag. dicom_search No.
10 Read Philips private tags by DD number and element offset, or list all private creator blocks in a file. dicom_query_philips_private No — these are vendor-specific proprietary tags buried in private DICOM groups.
11 Extract pixel statistics from an image — min, max, mean, standard deviation, percentiles, and optionally a histogram. Can focus on a specific rectangular region. dicom_read_pixels No — pixel data is encoded in the DICOM binary.
12 Compute signal-to-noise ratio by placing two regions of interest (signal and noise) on an image. dicom_compute_snr No.
13 Render a DICOM image to PNG with adjustable windowing and optional ROI overlays — this is how I showed you those three images. dicom_render_image No — I have no way to decode DICOM pixel data and produce a viewable image.
14 Dump the full DICOM tree — show the entire hierarchical structure of a file including nested sequences, with configurable depth. dicom_dump_tree No.
15 Compare UID sets between two directories — find which series/studies/instances are shared, missing, or extra. dicom_compare_uids No.
16 Verify segmentation references — check that segmentation DICOM files correctly point back to their source images. dicom_verify_segmentations No.
17 Analyse inversion times from MOLLI/NOLLI T1 mapping sequences — extract TI values across vendors (handling Philips private tags automatically), flag gaps, and show the acquisition order. dicom_analyze_ti No.

All 17 modules live under dicom_mcp/tools/ and are registered via the @mcp.tool() decorator at server startup. In short: none of these capabilities exist without the MCP. DICOM is a complex binary medical imaging format. Without the MCP, I can see that .dcm files exist, but I can't open, read, interpret, or visualise any of them. The MCP turns me from "completely DICOM-blind" into something that can meaningfully inspect, compare, and analyse medical imaging data across vendors.