MCP-Slicer
Integra 3D Slicer con clientes de modelos a través de MCP, permitiendo control en lenguaje natural para procesamiento de imágenes médicas y manipulación de escenas.
Documentación
MCP-Slicer - Integración del Protocolo de Contexto de Modelo de 3D Slicer
MCP-Slicer conecta 3D Slicer con clientes de modelos como Claude Desktop o Cline a través del Model Context Protocol (MCP), permitiendo la interacción directa y el control de 3D Slicer. Esta integración permite el procesamiento de imágenes médicas, la creación de escenas y la manipulación mediante lenguaje natural.
Características
-
list_nodes: Listar y filtrar nodos MRML de Slicer y ver sus propiedades
-
execute_python_code: Ejecutar código Python en el entorno de Slicer
-
capture_screenshot: Capturar capturas de pantalla en tiempo real de las vistas de Slicer
- Ventana completa de la aplicación (incluyendo paneles de módulos)
- Vistas de corte individuales (Rojo/Amarillo/Verde)
- Vista de renderizado 3D
- Habilita un bucle REACT completo con retroalimentación visual
Instalación
Requisitos previos
- 3D Slicer 5.8 o más reciente
- Python 3.13 o más reciente
- Administrador de paquetes uv
Si estás en Mac, instala uv de la siguiente manera
brew install uv
En Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
y luego
set Path=C:\Users\nntra\.local\bin;%Path%
De lo contrario, las instrucciones de instalación están en su sitio web: Instalar uv
⚠️ Por favor, instala UV primero
Integración con Claude for Desktop
Ve a Claude > Configuración > Desarrollador > Editar Config > claude_desktop_config.json para incluir lo siguiente:
{
"mcpServers": {
"slicer": {
"command": "uvx",
"args": ["mcp-slicer"]
}
}
}
Integración con Cline
{
"mcpServers": {
"slicer": {
"command": "uvx",
"args": ["mcp-slicer"]
}
}
}
Uso
Verificar la configuración de Claude
Asegúrate de ver las herramientas de slicer correspondientes añadidas a la aplicación Claude Desktop
Abrir el servidor web de Slicer
- Abre el módulo del servidor web de Slicer,
- asegúrate de que las interfaces requeridas estén marcadas,
- luego inicia el servidor
Ejemplos
- list_nodes
¿Qué nodos de Markups hay ahora en la escena de Slicer? Enumera sus nombres, ¿cuál es su longitud si es una línea y cuál es su ángulo si es un ángulo?
- ejecutar código python
Dibuja un cubo verde translúcido de 8 cm en la escena de Slicer, marca sus vértices y luego dibuja una esfera roja inscrita en él.
- capture_screenshot
Captura el estado actual de Slicer para proporcionar retroalimentación visual a la IA
Ejemplos de uso:
capture_screenshot()- Capturar la ventana completa de la aplicacióncapture_screenshot(view_type="slice", view_name="red")- Capturar la vista de corte rojacapture_screenshot(view_type="3d", camera_axis="A")- Capturar la vista 3D desde anterior
Esto permite un bucle REACT completo donde la IA puede:
- Razonar sobre qué hacer
- Actuar usando
execute_python_code - Observar el resultado usando
capture_screenshot
Detalles técnicos
Utiliza las interfaces existentes del servidor web de Slicer. Para detalles técnicos, consulta la guía de usuario del servidor web de Slicer
Limitaciones y consideraciones de seguridad
-
La herramienta
execute_python_codepermite ejecutar código Python arbitrario en 3D Slicer, lo cual es potente pero potencialmente peligroso.⚠️ No recomendado para uso en producción.
-
Las operaciones complejas pueden necesitar dividirse en pasos más pequeños.
Contribuciones
¡Las contribuciones son bienvenidas! No dudes en enviar solicitudes de extracción (Pull Requests).
Aviso legal
Este es un proyecto de integración de terceros, no desarrollado por el equipo de 3D Slicer.