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

logo

MCP-Slicer - Integración del Protocolo de Contexto de Modelo de 3D Slicer

Inglés | 简体中文

Python Version License: MIT PyPI version PyPI - Downloads

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

  1. list_nodes: Listar y filtrar nodos MRML de Slicer y ver sus propiedades

  2. execute_python_code: Ejecutar código Python en el entorno de Slicer

  3. 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

Image Asegúrate de ver las herramientas de slicer correspondientes añadidas a la aplicación Claude Desktop Image Image

Abrir el servidor web de Slicer

  1. Abre el módulo del servidor web de Slicer,
  2. asegúrate de que las interfaces requeridas estén marcadas,
  3. luego inicia el servidor
Image

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?

Image

- 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.

example_code_execute_en

- 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ón
  • capture_screenshot(view_type="slice", view_name="red") - Capturar la vista de corte roja
  • capture_screenshot(view_type="3d", camera_axis="A") - Capturar la vista 3D desde anterior

Esto permite un bucle REACT completo donde la IA puede:

  1. Razonar sobre qué hacer
  2. Actuar usando execute_python_code
  3. 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_code permite 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.