DICOM-MCP
DICOM-MCP MCP服务器
MCP 可处理 DICOM 图像
成分
资源
服务器实现了一个简单的笔记存储系统,其中包括:
用于访问单个笔记的自定义 note:// URI 方案
每个笔记资源都有一个名称、描述和文本/纯文本 mimetype
提示
服务器提供一个提示:
总结笔记:创建所有存储笔记的摘要
可选的“样式”参数用于控制详细程度(简要/详细)
生成提示,结合所有当前注释和样式偏好
工具
服务器实现了一个工具:
add-note:向服务器添加新注释
将“名称”和“内容”作为必需的字符串参数
更新服务器状态并通知客户端资源变化
Related MCP server: TriliumNext Notes' MCP Server
配置
[TODO:添加特定于您的实现的配置详细信息]
快速入门
安装
克劳德桌面
在 MacOS 上: ~/Library/Application\ Support/Claude/claude_desktop_config.json在 Windows 上: %APPDATA%/Claude/claude_desktop_config.json
发展
构建和发布
准备分发包:
同步依赖项并更新锁文件:
uv sync构建软件包分发版:
uv build这将在dist/目录中创建源和轮子分布。
发布到 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启动后,检查器将显示一个 URL,您可以在浏览器中访问该 URL 以开始调试。
Available Tools
6 toolsadd-noteC
Add a new note
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| content | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| series_uid | Yes | Series UID of the loaded DICOM image | |
| boundary_percentage | No | Percentage of image to crop from each boundary (0.0-0.5) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| dicom_file | Yes | Path to a DICOM file |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| seg_file | Yes | Path to a DICOM SEG file | |
| reference_series_uid | No | Series UID of the reference image |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| series_uid | Yes | Series UID of the DICOM series to load |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| directory | Yes | Path to directory containing DICOM files |
TDQS
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.
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.
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.
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.
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.
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.
6 tool updates
- First observed
add-note - First observed
crop-dicom-image - First observed
extract-dicom-metadata - First observed
load-dicom-seg - First observed
load-dicom-series - First observed
scan-dicom-directory
TDQS
Scored across 6 tools
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.
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.
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.
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
Related MCP Connectors
Model Context Protocol server for Studex tools, notifications, and profile integrations
Model Context Protocol server for todo.vu task management and time tracking.
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
Google Keep-style notes app with an MCP server for AI agents to read/write notes.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA connectivity testing server that enables DICOM network operations (like C-ECHO) through Claude's Model Context Protocol, with support for node configuration management.3GNU Lesser General Public v2.1 only
- FlicenseAqualityCmaintenanceA model context protocol server that allows interaction with TriliumNext Notes, providing tools to create, search, retrieve, update, and delete notes through natural language commands.9106 npm69-
- AlicenseCqualityDmaintenanceA Model Context Protocol server that implements a simple notes system, allowing users to create, list, and summarize text notes.32 npmISC
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server for managing text notes, with resources (note:// URIs), tools (create_note), and prompts (summarize_notes).-