DICOM匿名化工具

RSNAAnonymizerMCP是一个基于RSNA DICOM Anonymizer的MCP封装工具,提供无头模式的DICOM文件匿名化服务,适用于医疗数据处理场景。

  • by paulokuriki
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 paulokuriki/RSNAAnonymizerMCP

使用说明

RSNAA匿名器MCP

RSNAA匿名器MCP 是一个围绕官方的瘦模型上下文协议(MCP)包装器 RSNA DICOM匿名器此分叉没有启动GUI,而是将匿名器无头地暴露给Claude、GPT或任何MCP客户端。

  • MCP服务器位于 src/anonymizer_mcp/ 并且由以下电源供电 FastMCP.
  • Claude/Desktop代理的所有工作流程说明均已发布 claude.md.
  • 原始RSNA GUI代码保持不变,因此我们可以在需要时与上游保持同步。

需要GUI吗?使用上游存储库。需要MCP工具吗?待在这儿

需求

  • python 3.12 (符合上游要求)
  • uv 或 poetry 用于依赖关系管理(以下示例使用 uv)
  • 访问本地DICOM下载(匿名器在您已有的文件上运行)

快速启动

git clone https://github.com/paulokuriki/RSNAAnonymizerMCP.git
cd "RSNAAnonymizerMCP/anonymizer"
uv sync              # creates .venv and installs runtime deps
uv run python -m anonymizer_mcp.server --config anonymizer.mcp.yaml

服务器监听stdin/stdout(MCP stdio 运输)并暴露 status 和 anonymize_now 工具。Claude Desktop、Cursor或任何MCP客户端现在都可以与它对话。

配置

创建 anonymizer.mcp.yaml (示例已签入)指向您的下载/输出文件夹:

paths:
  input_dir: "./data/downloads"
  output_dir: "./data/anonymized"
  quarantine_dir: "./data/anonymized/private/quarantine"
  temp_dir: "./data/tmp"

processing:
  recursive_scan: true
  remove_pixel_phi: false
  anonymizer_script_path: "src/anonymizer/assets/scripts/default-anonymizer.script"

identity:
  site_id: "123456"
  uid_root: "1.2.840.113619"

logging:
  level: "INFO"

limits:
  max_concurrent_files: 50

包装器懒洋洋地实例化重型RSNA控制器,因此即使在大型配置上,启动也会保持快速。单个工具调用会触发文件扫描和匿名化运行。

Claude桌面设置

claude.desktop.json 包含一个准备导入的配置,该配置从Claude Desktop启动此服务器以及原始DICOM MCP。通过导入 Claude桌面版→ 设置→ 高级→ 打开配置文件 并根据需要进行合并。

按键命令:

"bash", "-lc",
"cd '/mnt/c/Users/paulo/PycharmProjects/rsna anonymizer/anonymizer' && uv run python -m anonymizer_mcp.server --config anonymizer.mcp.yaml"

看 claude.md 了解完整的代理上下文和维护规则。

发展

MCP包装器完全位于 src/anonymizer_mcp/典型工作流程:

  1. 创建/编辑 anonymizer.mcp.yaml 为了你的道路。
  2. uv run python -m anonymizer_mcp.server --config anonymizer.mcp.yaml 运行服务器。
  3. 使用 uv run pytest (或上游 poetry run pytest)如果你需要练习匿名器内部。
  4. 保持 claude.md 每当您更改行为时,它们都会同步,以便未来的代理继承相同的上下文。

我们通过以下方式跟踪上游RSNA变化 upstream 远程(https://github.com/RSNA/anonymizer.git).根据需要重新构建基础或进行选择性选择,但要将MCP特定的逻辑与新包隔离开来。

许可

与上游相同:RSNA-MIRC公共许可证。看 LICENSE 了解详情。