article
README
🚀 MCP-Slicer - 3D Slicer 模型上下文协议整合
MCP-Slicer 能够将 3D Slicer 与模型客户端(例如 Claude Desktop 或 Cline)借助模型上下文协议(MCP)进行连接,从而实现对 3D Slicer 的直接交互与控制。这种集成让利用自然语言开展医学图像处理、场景创建以及操纵成为现实。
✨ 主要特性
- list_nodes:列出并筛选 3D Slicer 中的 MRML 节点及其属性。
- execute_python_code:在 3D Slicer 环境中执行 Python 代码。
📦 安装指南
先决条件
- 3D Slicer 5.8 或更高版本
- Python 3.13 或更高版本
- uv 包管理器
⚠️ 重要提示
请先安装 UV。
如果您使用的是 Mac,请按照以下命令安装 uv:
brew install uv
对于 Windows 用户,运行以下 PowerShell 命令:
irm https://astral.sh/uv/install.ps1 | iex
然后执行:
set Path=C:\Users\nntra\.local\bin;%Path%
否则,请参考其官方网站上的安装说明:安装 uv
Claude Desktop 集成
进入 Claude > 设置 > 开发者 > 编辑配置 > claude_desktop_config.json,添加以下内容:
{
"mcpServers": {
"slicer": {
"command": "uvx",
"args": ["mcp-slicer"]
}
}
}
Cline 集成
{
"mcpServers": {
"slicer": {
"command": "uvx",
"args": ["mcp-slicer"]
}
}
}
💻 使用示例
检查 Claude 设置
请确保在 Claude Desktop 应用中看到相应的 slicer 工具已添加。
启动 Slicer Web 服务器
- 打开 Slicer Web Server 模块。
- 确保选择了所需的接口。
- 然后启动服务器。
基础用法
- list_nodes
当前 Slicer 场景中有哪些 Markups 节点?请列出它们的属性。
- execute_python_code
请运行以下 Python 代码以计算 3D 模型的体积:
import numpy as np
from stl import mesh
# 加载 STL 文件
model = mesh.Mesh.from_file("model.stl")
points = model.vectors.reshape(-1, 3)
# 计算体积
volume = np.abs(np.dot(points[0], np.cross(points[1], points[2]))) / 6.0
print(f"模型的体积为: {volume}")
📚 详细文档
此项目是一个第三方集成项目,非 3D Slicer 团队开发。
如果需要进一步的帮助或信息,请参考原始英文文档。
扫码联系在线客服