Skip to main content
Glama

DICOM-MCP MCP 서버

DICOM 이미지 작업을 위한 MCP

구성 요소

자원

서버는 다음을 사용하여 간단한 메모 저장 시스템을 구현합니다.

  • 개별 노트에 액세스하기 위한 사용자 지정 노트:// URI 체계

  • 각 노트 리소스에는 이름, 설명 및 텍스트/일반 MIME 유형이 있습니다.

프롬프트

서버는 단일 프롬프트를 제공합니다.

  • summarize-notes: 저장된 모든 노트의 요약을 생성합니다.

    • 세부 수준(간략/상세)을 제어하기 위한 선택적 "스타일" 인수

    • 현재 모든 노트와 스타일 선호도를 결합하여 프롬프트를 생성합니다.

도구

서버는 하나의 도구를 구현합니다.

  • add-note: 서버에 새 메모를 추가합니다.

    • 필수 문자열 인수로 "name"과 "content"를 사용합니다.

    • 서버 상태를 업데이트하고 클라이언트에게 리소스 변경 사항을 알립니다.

Related MCP server: TriliumNext Notes' MCP Server

구성

[TODO: 구현에 맞는 구성 세부 정보 추가]

빠른 시작

설치하다

클로드 데스크탑

MacOS의 경우: ~/Library/Application\ Support/Claude/claude_desktop_config.json Windows의 경우: %APPDATA%/Claude/claude_desktop_config.json

개발

건축 및 출판

배포를 위해 패키지를 준비하려면:

  1. 종속성 동기화 및 잠금 파일 업데이트:

지엑스피1

  1. 패키지 배포 빌드:

uv build

이렇게 하면 dist/ 디렉토리에 소스와 휠 배포판이 생성됩니다.

  1. PyPI에 게시:

uv publish

참고: 환경 변수나 명령 플래그를 통해 PyPI 자격 증명을 설정해야 합니다.

  • 토큰: --token 또는 UV_PUBLISH_TOKEN

  • 또는 사용자 이름/비밀번호: --username / UV_PUBLISH_USERNAME 및 --password / UV_PUBLISH_PASSWORD

디버깅

MCP 서버는 stdio를 통해 실행되므로 디버깅이 어려울 수 있습니다. 최상의 디버깅 환경을 위해서는 MCP Inspector 사용을 강력히 권장합니다.

다음 명령을 사용하여 npm 통해 MCP Inspector를 시작할 수 있습니다.

npx @modelcontextprotocol/inspector uv --directory /Users/shaunporwal/Documents/GitHub/projects/DICOM-MCP run dicom-mcp

Inspector를 실행하면 브라우저에서 접근하여 디버깅을 시작할 수 있는 URL이 표시됩니다.

Available Tools

6 tools
add-noteC

Add a new note

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
contentYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Add a new note' and provides no details on side effects, permissions, return values, or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no wasted words, making it concise and front-loaded. However, it is under-specified for the tool's complexity, though this is largely a completeness issue rather than a conciseness issue.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations, output schema, and parameter descriptions, a five-word description is insufficient for an agent to invoke the tool correctly. The meaning of the parameters and expected return behavior remain ambiguous.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero description coverage for the two required parameters ('name' and 'content'), and the description does not explain their meaning or format. The agent cannot infer what 'name' or 'content' represent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Add') and a specific resource ('note'), clearly stating the tool's function. It differentiates itself from the sibling 'get_report', which is a read operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description only states the action without any context about when to invoke it or when to choose a sibling tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

crop-dicom-imageB

Crop a loaded DICOM image by removing boundary percentage

ParametersJSON Schema
NameRequiredDescriptionDefault
series_uidYesSeries UID of the loaded DICOM image
boundary_percentageNoPercentage of image to crop from each boundary (0.0-0.5)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it states the tool performs a crop operation, it fails to describe key behavioral traits: whether this is a destructive modification to the original image or creates a new version, what happens if the boundary percentage is invalid (e.g., out of range), or any performance considerations (e.g., processing time for large images). This leaves significant gaps in understanding the tool's effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded with the core action ('Crop a loaded DICOM image') and includes essential detail ('by removing boundary percentage') in a compact form. Every part of the sentence contributes meaning, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (image cropping with two parameters) and the absence of annotations and output schema, the description is partially complete. It clearly defines the action but lacks details on behavioral outcomes, error handling, and output format. While the schema covers parameters well, the description does not compensate for missing annotation and output information, leaving the agent with incomplete context for safe and effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with clear documentation for both parameters ('series_uid' and 'boundary_percentage'), including the range for the latter. The description adds minimal value beyond the schema by implying the crop applies uniformly to all boundaries, but it does not elaborate on parameter interactions or provide examples. Given the high schema coverage, a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('crop') and target resource ('a loaded DICOM image'), with additional detail about the method ('by removing boundary percentage'). It distinguishes itself from sibling tools like 'extract-dicom-metadata' or 'load-dicom-series' by focusing on image manipulation rather than metadata extraction or loading operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., that the DICOM image must already be loaded via another tool), nor does it specify scenarios where cropping is appropriate (e.g., for removing artifacts or focusing on regions of interest). Without such context, the agent lacks direction on optimal usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

extract-dicom-metadataC

Extract detailed metadata from a DICOM file

ParametersJSON Schema
NameRequiredDescriptionDefault
dicom_fileYesPath to a DICOM file

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool extracts metadata but doesn't describe what 'detailed metadata' includes (e.g., patient info, study details, image parameters), potential errors (e.g., invalid file paths, corrupted DICOM data), or performance aspects (e.g., speed, memory usage). This leaves significant gaps for a tool that likely returns complex data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse. Every part of the sentence contributes essential information, achieving optimal conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of DICOM metadata extraction and the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'detailed metadata' entails, the format of the output (e.g., JSON, structured data), or error handling. For a tool with no structured output documentation, this leaves the agent with insufficient context to understand the full behavior and results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the single parameter 'dicom_file' documented as 'Path to a DICOM file' in the schema. The description doesn't add any additional meaning beyond this (e.g., file format requirements, path resolution rules). Given the high schema coverage, the baseline score of 3 is appropriate as the schema handles the parameter documentation adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('extract') and target resource ('detailed metadata from a DICOM file'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'scan-dicom-directory' or 'load-dicom-series', but the focus on metadata extraction is specific enough to avoid confusion with those operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a valid DICOM file), exclusions (e.g., not for non-DICOM files), or comparisons to siblings like 'scan-dicom-directory' for batch processing or 'load-dicom-seg' for segmentation data. Usage is implied but not explicitly defined.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

load-dicom-segC

Load a DICOM SEG file and associate it with a reference image

ParametersJSON Schema
NameRequiredDescriptionDefault
seg_fileYesPath to a DICOM SEG file
reference_series_uidNoSeries UID of the reference image

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions loading and association but fails to detail critical aspects like required permissions, whether the operation is read-only or modifies data, error handling, or output format. This leaves significant gaps in understanding the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that efficiently conveys the core action without unnecessary details. It is front-loaded and wastes no words, making it highly concise and well-structured for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of handling DICOM files, no annotations, and no output schema, the description is insufficient. It does not cover behavioral traits, error cases, or what the tool returns, leaving the agent with incomplete information for proper invocation and handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already documents both parameters ('seg_file' and 'reference_series_uid') adequately. The description adds no additional meaning beyond what the schema provides, such as explaining the association process or parameter interactions, meeting the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Load a DICOM SEG file') and the resource ('associate it with a reference image'), making the purpose specific and understandable. However, it does not explicitly differentiate from sibling tools like 'load-dicom-series' or 'extract-dicom-metadata', which could handle related DICOM operations, so it falls short of a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as 'load-dicom-series' for general loading or 'extract-dicom-metadata' for metadata extraction. It lacks context on prerequisites, exclusions, or specific scenarios, leaving usage unclear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

load-dicom-seriesC

Load a DICOM series into memory for processing

ParametersJSON Schema
NameRequiredDescriptionDefault
series_uidYesSeries UID of the DICOM series to load

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but only states the action without behavioral details. It doesn't disclose memory implications, performance characteristics, error conditions, or what 'processing' entails, leaving significant gaps for a tool that loads data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's front-loaded with the core action and purpose, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and no output schema, the description is incomplete. It lacks details on what 'into memory' implies (e.g., memory limits, format), what 'processing' means, or expected outcomes, leaving the agent with insufficient context for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents the 'series_uid' parameter. The description adds no additional meaning beyond implying the UID identifies the series to load, aligning with the schema but not enhancing it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Load') and resource ('a DICOM series'), specifying it's for processing. It distinguishes from siblings like 'load-dicom-seg' by focusing on series rather than segmentation, but doesn't explicitly contrast with 'extract-dicom-metadata' or 'scan-dicom-directory'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'extract-dicom-metadata' or 'load-dicom-seg'. The description implies usage for processing but doesn't specify prerequisites, such as needing the series to be available from a prior scan.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scan-dicom-directoryB

Scan a directory for DICOM files and organize them into series

ParametersJSON Schema
NameRequiredDescriptionDefault
directoryYesPath to directory containing DICOM files

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but lacks behavioral details. It doesn't disclose what 'organize into series' entails (e.g., grouping by study/patient, output format), potential side effects (e.g., file system access), error handling, or performance considerations (e.g., large directories).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's front-loaded with the core action and outcome, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations, no output schema, and behavioral complexity (scanning and organizing files), the description is incomplete. It omits critical details like return format (e.g., list of series, structured data), error cases, and how organization works, leaving gaps for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the single 'directory' parameter. The description adds no additional meaning beyond implying the directory contains DICOM files, which is redundant with the schema's description. Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('scan'), target resource ('directory for DICOM files'), and outcome ('organize them into series'). It distinguishes from siblings like 'extract-dicom-metadata' (metadata extraction) and 'load-dicom-series' (loading already organized series).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives is provided. It doesn't mention prerequisites (e.g., directory must exist, files must be DICOM format) or contrast with siblings like 'load-dicom-series' (for pre-organized series). Usage is implied but not articulated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updates
    • First observedadd-note
    • First observedcrop-dicom-image
    • First observedextract-dicom-metadata
    • First observedload-dicom-seg
    • First observedload-dicom-series
    • First observedscan-dicom-directory

TDQS

B3/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: adding notes, cropping images, extracting metadata, loading segmentation files, loading series, and scanning directories. There is no overlap in functionality, making it easy for an agent to select the right tool for each task.

Naming Consistency4/5

The tools follow a consistent verb-noun pattern with hyphens (e.g., add-note, crop-dicom-image), except for 'scan-dicom-directory' which uses 'scan' instead of 'load' or similar, but this minor deviation doesn't break overall readability. The naming is predictable and easy to understand.

Tool Count5/5

With 6 tools, this server is well-scoped for DICOM processing, covering key operations like loading, scanning, extracting metadata, cropping, and adding notes. Each tool earns its place without feeling too sparse or bloated, fitting typical use cases in this domain.

Completeness4/5

The toolset covers core DICOM workflows including loading, scanning, metadata extraction, and basic image manipulation. Minor gaps exist, such as the lack of tools for saving or exporting processed DICOM files, but agents can likely work around this with the provided operations.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A connectivity testing server that enables DICOM network operations (like C-ECHO) through Claude's Model Context Protocol, with support for node configuration management.
    3
    GNU Lesser General Public v2.1 only
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server for managing text notes, with resources (note:// URIs), tools (create_note), and prompts (summarize_notes).
    -