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/典型工作流程:
- 创建/编辑
anonymizer.mcp.yaml为了你的道路。 uv run python -m anonymizer_mcp.server --config anonymizer.mcp.yaml运行服务器。- 使用
uv run pytest(或上游poetry run pytest)如果你需要练习匿名器内部。 - 保持
claude.md每当您更改行为时,它们都会同步,以便未来的代理继承相同的上下文。
我们通过以下方式跟踪上游RSNA变化 upstream 远程(https://github.com/RSNA/anonymizer.git).根据需要重新构建基础或进行选择性选择,但要将MCP特定的逻辑与新包隔离开来。
许可
与上游相同:RSNA-MIRC公共许可证。看 LICENSE 了解详情。
