dicom-agent-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DICOM_AGENT_MCP_NODES | No | Node specifications, equivalent to --node. Several specs separated by spaces. Format: name=URL[;option;option…] where URL is dimse://AE_TITLE@host:port or http(s)://… Options include read-only, token-env=VAR, user=NAME;password-env=VAR, no-verify-tls, transfer-syntax=UID. | |
| DICOM_AGENT_MCP_CONFIG | No | Path to optional YAML config file. Equivalent to --config. | |
| DICOM_AGENT_MCP_DEID_KEY | No | Secret key for de-identification to get same pseudonyms and UIDs across runs. If not set, each call uses a random key and the result reports linkable: false. This is the default environment variable name for the deid key (see deid_key_env). | |
| DICOM_AGENT_MCP_CALLING_AE | No | AE title this server uses for DIMSE. Default DICOM_MCP; register it on your PACS. Equivalent to --calling-ae. | DICOM_MCP |
| DICOM_AGENT_MCP_STORAGE_DIR | No | Local cache directory for retrieved files and renders. Default ~/.dicom-agent-mcp/cache. Equivalent to --storage-dir. | ~/.dicom-agent-mcp/cache |
| DICOM_AGENT_MCP_ALLOWED_PATHS | No | Extra directories that the local-file and pixel tools may read. Several paths separated by ; on Windows or : elsewhere. Equivalent to --allow-path. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_nodesA | List the configured DICOM nodes (PACS, VNA, DICOMweb services) and their protocols. |
| echoA | Check connectivity to a node (C-ECHO for DIMSE, a minimal QIDO-RS request for DICOMweb). |
| searchB | Search for patients, studies, series or instances (C-FIND or QIDO-RS). |
| get_metadataA | Read instance-level metadata without downloading pixel data (WADO-RS metadata or C-FIND). |
| retrieveA | Download a study, series or instance into the local cache (C-GET or WADO-RS). Returns file paths. |
| moveB | Ask a DIMSE archive to send data to another DICOM node (C-MOVE). |
| storeB | Send local DICOM files to a node (C-STORE or STOW-RS). |
| transferA | Copy data between any two nodes, including DIMSE to DICOMweb, through the local cache. |
| list_local_filesB | List DICOM files in the local cache. |
| read_local_metadataA | Read the full header of a local DICOM file. Pixel data is not loaded. |
| render_imageA | Render one frame of a local DICOM image as a PNG you can look at. Applies the modality rescale (e.g. HU) and a display window, corrects non-square pixels, and reports which patient direction each image edge faces. Also returns the input fingerprint. |
| pixel_statisticsB | Pixel value statistics in modality units (HU for CT): mean, std, min, max, percentiles and area in mm2. |
| measure_distanceB | Measure a distance in mm between two pixel positions and give their patient coordinates. |
| check_geometryA | Check series geometry before measuring or reconstructing. Reports orientation, spacing and extent per series, and flags missing or duplicate slices, mixed orientations, non-uniform spacing, gantry tilt and multiple frames of reference. |
| render_mprA | Reconstruct an axial, coronal or sagittal view from a stack of slices and render it as a PNG. Refuses series that fail check_geometry (missing slices, mixed orientations, and so on). |
| deidentifyA | Write de-identified copies of local DICOM files (basic confidentiality profile subset) to the cache. UIDs are remapped consistently, names and IDs are pseudonymised, and pixel data is not changed. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
Most tools target clearly distinct DICOM operations or local resources. The only potential overlap is among retrieve, move, store, and transfer, but their descriptions distinguish DIMSE/DICOMweb and cache-based workflows well enough.
The set is mostly snake_case and follows a predictable verb_noun pattern for local and analytical operations. The single-verb network tools (echo, search, retrieve, move, store, transfer) are standard DICOM terms, so the deviation is minor and readable.
At 16 tools it is slightly above the typical 3-15 range, but the DICOM domain justifies the breadth: network operations, local cache inspection, rendering, measurement, geometry checks, and de-identification are all represented. Each tool appears to earn its place.
The surface covers the core DICOM lifecycle: node discovery, connectivity, query/retrieve, move/store/transfer, local metadata, rendering, measurement, geometry validation, and de-identification. Minor gaps like local cache cleanup or more granular de-identification configuration are not blocking for likely agent workflows.