MCP-Slicer 将 3D Slicer 与模型客户端(如 Claude Desktop 或 Cline)通过模型上下文协议(MCP)连接起来,实现了对 3D Slicer 的直接交互和控制。这种集成允许使用自然语言进行医学图像处理、场景创建和操作。
list_nodes: 列出并筛选 Slicer MRML 节点,并查看它们的属性
execute_python_code: 在 Slicer 环境中执行 Python 代码
capture_screenshot: 捕获 Slicer 视图的实时截图
如果你使用的是 Mac,请安装 uv:
brew install uv
在 Windows 上:
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
然后
set Path=C:\Users\nntra\.local\bin;%Path%
否则,请参阅其网站上的安装说明:安装 uv
⚠️ 请先安装 UV
前往 Claude > 设置 > 开发者 > 编辑配置 > claude_desktop_config.json,添加以下内容:
{
"mcpServers": {
"slicer": {
"command": "uvx",
"args": ["mcp-slicer"]
}
}
}
{
"mcpServers": {
"slicer": {
"command": "uvx",
"args": ["mcp-slicer"]
}
}
}
<img width="1045" alt="Image" src="https://github.com/zhaoyouj/mcp-slicer/blob/main/docs/images/example_list_nodes_en.png?raw=true" />当前 Slicer 场景中的 Markups 节点有哪些?列出它们的名字,如果是线,则列出其长度;如果是角度,则列出其角度。
<img width="1045" alt="example_code_execute_en" src="https://github.com/zhaoyouj/mcp-slicer/blob/main/docs/images/example_code_execute_en.png?raw=true" />在 Slicer 场景中绘制一个透明的绿色立方体,边长为 8 厘米,标记其顶点,然后在其内部绘制一个红色球体。
捕获当前 Slicer 状态以提供给 AI 的视觉反馈
使用示例:
capture_screenshot() - 捕获整个应用程序窗口capture_screenshot(view_type="slice", view_name="red") - 捕获红切片视图capture_screenshot(view_type="3d", camera_axis="A") - 从前方捕获 3D 视图这支持一个完整的 REACT 循环,其中 AI 可以:
execute_python_codecapture_screenshot利用现有的 Slicer Web 服务器接口。有关技术细节,请参阅 Slicer Web 服务器用户指南
execute_python_code 工具允许在 3D Slicer 中运行任意 Python 代码,虽然功能强大但可能存在危险。
⚠️ 不建议用于生产环境。
复杂的操作可能需要分解为更小的步骤。
欢迎贡献!请随意提交拉取请求。
这是一个第三方集成项目,不是由 3D Slicer 团队开发的。