MCP 3D Printer Server
Se conecta a sistemas de gestión de impresoras 3D como OctoPrint, Klipper y Bambu Labs para la manipulación de modelos y flujos de trabajo de impresión.
Documentación
Agradecimientos a FULU y Louis Rossmann
Gracias a la Fundación FULU y a Louis Rossmann por defender la propiedad del consumidor, los desarrolladores de código abierto, los derechos de reparación y los usuarios que no deberían tener hardware funcional empeorado por software bloqueado. Este servidor MCP trata el fork FULU OrcaSlicer-bambulab como un objetivo de primera clase para el laminador de proyectos Bambu.
MCP 3D Printer Server
✨ Novedades / Actualizaciones significativas (desde la última sesión)
- Transportes locales duales: Se agregaron modos de ejecución explícitos
stdioystreamable-httpcon selección de transporte basada en variables de entorno. - Soporte FULU OrcaSlicer-bambulab: Se agregó soporte de laminador
orcaslicer-bambulab/fulu_orcapara exportación de proyectos Bambu 3MF, y se convirtió en el objetivo de laminador Bambu predeterminado cuando no se configura ningún laminador. - Mejora de fiabilidad Bambu: Se corrigieron errores de conexión de argumentos Bambu, se agregaron operaciones de archivos respaldadas por FTP, se mejoró el comportamiento de actualización de estado y se implementaron rutas de comando prácticas para
startJob,setTemperatureyprint_3mf. - Herramientas de puente Blender: Se agregó
blender_mcp_edit_modelcon modo de ejecución opcional para flujos de trabajo de colaboración de edición de modelos. - Pruebas de comportamiento de transporte: Se agregaron pruebas de comportamiento reales para ambos transportes (
initialize,tools/list, éxito + fallotools/call, rechazo de origen). - Modernización de Docker: Se actualizó el flujo de compilación de Docker para que funcione sin características específicas de BuildKit y se verificó la inicialización HTTP transmisible en pruebas de humo de contenedores.
🗺️ Hoja de ruta / Tareas pendientes
- Lograr paridad de funciones: Llevar la funcionalidad (detalle de estado, operaciones de archivos, impresión directa cuando sea posible, manejo de ajustes preestablecidos) para OctoPrint, Klipper, Duet, Repetier, Prusa Connect y Creality Cloud al nivel de robustez planificado para la implementación de Bambu.
- Implementar estado MQTT completo de Bambu: Refactorizar
getStatuspara Bambu para suscribirse a informes MQTT y mantener el estado en tiempo real. - Implementar mapeo AMS robusto: Reemplazar la lógica de marcador de posición; analizar y usar correctamente el mapeo AMS desde la configuración del laminador
.3mfo las anulaciones del usuario para el comando de impresión MQTT. - Implementar anulaciones de impresión
.3mf: Agregar lógica a la herramientaprint_3mfpara manejar anulaciones proporcionadas por el usuario (por ejemplo, banderas de calibración) y potencialmente configuraciones comunes del laminador si es factible mediante MQTT/G-code. - Calcular hash MD5: Agregar lógica para calcular e incluir el hash MD5 del archivo
.3mfen el comando de impresión MQTT (opcional pero recomendado por el protocolo). - Refactorizar operaciones de archivos Bambu: Investigar reemplazar las operaciones FTP
bambu-js(getFiles,uploadFile) con métodos MQTT directos si es posible/estable, o contribuir con soporte FTPS abambu-js. - Agregar lógica de descubrimiento de ajustes preestablecidos: Mejorar el listado de recursos de ajustes preestablecidos (actualmente lista basándose en nombres de archivo potenciales, podría analizar archivos de índice si existen).
- Expandir soporte
.3mf: Agregar soporte de impresión.3mfpara otros tipos de impresoras cuando corresponda. - Manejo de errores e informes: Mejorar el manejo de errores MQTT y la notificación del progreso/finalización de impresión.
- Pruebas: Realizar pruebas de ejecución exhaustivas de todas las nuevas funciones de Bambu.
Haz clic para expandir la tabla de contenidos
Tabla de contenidos
- Descripción
- Características
- Instalación
- Configuración
- Uso
- Sistemas de gestión de impresoras compatibles
- Herramientas disponibles
- Recursos disponibles
- Ejemplos de comandos para LLM
- Limitaciones de la impresora Bambu Lab
- Limitaciones y consideraciones
- Apéndice: Notas de seguridad MCP
- Insignias
- Licencia
Descripción
Este es un servidor que permite a los usuarios de MCP conectarse con los endpoints de API de estas impresoras 3D:
- OctoPrint
- Klipper (Moonraker)
- Duet
- Repetier
- Bambu Labs
- Prusa Connect
- Creality/Ender
Este servidor es un servidor de Protocolo de Contexto de Modelo (MCP) para conectar Claude con sistemas de gestión de impresoras 3D. Permite que MCP interactúe con impresoras 3D a través de las API de varios sistemas de gestión de impresoras como OctoPrint, Klipper (a través de Moonraker), Duet, Repetier e impresoras Bambu Labs.
Nota sobre el uso de recursos: Este servidor MCP incluye funciones avanzadas de manipulación de modelos 3D que pueden consumir mucha memoria al trabajar con archivos STL grandes. Consulte la sección "Limitaciones y consideraciones" para obtener información importante sobre el uso de memoria y el rendimiento.
Características
- Obtener el estado de la impresora (temperaturas, progreso de impresión, etc.)
- Listar archivos en la impresora
- Subir archivos G-code a la impresora
- Iniciar, cancelar y monitorear trabajos de impresión
- Establecer temperaturas de la impresora
- Manipulación avanzada de archivos STL:
- Extender la base para una mejor adhesión
- Escalar modelos de manera uniforme o a lo largo de ejes específicos
- Rotar modelos alrededor de cualquier eje
- Trasladar (mover) modelos
- Modificar secciones específicas de archivos STL (superior, inferior, centro o personalizado)
- Análisis completo de STL con información detallada del modelo
- Generar visualizaciones SVG de múltiples ángulos de archivos STL
- Informe de progreso en tiempo real para operaciones largas
- Manejo de errores con diagnósticos detallados
- Laminar archivos STL para generar G-code
- Confirmar configuraciones de temperatura en archivos G-code
- Flujo de trabajo completo de extremo a extremo desde la modificación de STL hasta la impresión
- Imprimir archivos
.3mfdirectamente en impresoras Bambu Lab (mediante comando MQTT) - Laminar proyectos Bambu con FULU OrcaSlicer-bambulab (
SLICER_TYPE=orcaslicer-bambulab) y laminar automáticamente archivos 3MF sin laminar antes de la impresión Bambu cuando se configura un laminador de proyecto - Inspeccionar y sondear el runtime FULU BambuNetwork (
check_fulu_orca_setup) y llamar a métodos RPC de puente FULU seguros por defecto para diagnósticos y desarrollo (fulu_bambu_network_rpc) - Leer archivos de ajustes preestablecidos de Bambu Studio (impresora, filamento, proceso) como recursos
Instalación
Requisitos previos
- Node.js 18 o superior
- npm o yarn
Instalar desde npm
npm install -g mcp-3d-printer-server
Instalar desde el código fuente
git clone https://github.com/dmontgomery40/mcp-3d-printer-server.git
cd mcp-3d-printer-server
npm install
npm link # Makes the command available globally
Ejecutar con Docker
También puede ejecutar el servidor usando Docker y Docker Compose para un entorno contenerizado.
- Asegúrese de tener Docker y Docker Compose instalados.
- Copie
.env.examplea.envy configure sus ajustes. - Construya y ejecute el contenedor:
docker-compose up --build -d
Uso de laminadores con Docker
Tenga en cuenta que la configuración predeterminada de Docker no puede usar directamente un laminador instalado en su máquina host. Montar el ejecutable del laminador directamente desde el host al contenedor no es confiable debido a las diferencias de sistema operativo y bibliotecas entre su host y el contenedor.
El enfoque recomendado es instalar su laminador preferido dentro de la imagen Docker. Esto hace que el contenedor sea autosuficiente.
Para hacer esto, necesitará modificar el Dockerfile. Aquí hay un ejemplo conceptual de cómo podría agregar PrusaSlicer, OrcaSlicer o la compilación FULU OrcaSlicer-bambulab (los comandos específicos pueden variar según el laminador, sus dependencias y los paquetes Alpine actuales):
# ... other Dockerfile commands ...
# Example: Install PrusaSlicer, OrcaSlicer, or FULU OrcaSlicer-bambulab (adjust command as needed)
# Check Alpine package repositories first (e.g., apk add prusaslicer or apk add orcaslicer)
# If not available, download and install manually (e.g., AppImage):
# RUN apk add --no-cache fuse # FUSE might be needed for AppImages
# RUN wget https://example.com/path/to/OrcaSlicer_Linux_Vxxxx.AppImage -O /usr/local/bin/orcaslicer && \
# chmod +x /usr/local/bin/orcaslicer
# Set the SLICER_PATH env var accordingly in docker-compose.yml or when running
# Example for installed executable:
ENV SLICER_PATH=/usr/local/bin/orcaslicer
# ... rest of Dockerfile ...
Después de modificar el Dockerfile, reconstruya su imagen (docker-compose build). También deberá asegurarse de que la variable de entorno SLICER_PATH en su archivo .env o docker-compose.yml apunte a la ruta correcta dentro del contenedor (por ejemplo, /usr/local/bin/orcaslicer). Para el fork FULU habilitado para Bambu, establezca SLICER_TYPE=orcaslicer-bambulab.
Disculpas por no incluir un laminador específico de fábrica, pero dada la gran variedad de laminadores (PrusaSlicer, OrcaSlicer, Cura, etc.) y configuraciones disponibles, preinstalar uno inflaría innecesariamente la imagen para muchos usuarios. Si un laminador en particular se convierte en una solicitud muy común, ciertamente puedo considerar agregar soporte oficial en una versión futura.
Configuración
Cree un archivo .env en el directorio donde ejecutará el servidor o establezca variables de entorno:
# Required for authentication with your printer management system
API_KEY=your_api_key_here
# Default printer connection settings
PRINTER_HOST=localhost
PRINTER_PORT=80 # Port for non-Bambu HTTP APIs
PRINTER_TYPE=octoprint # Options: octoprint, klipper, duet, repetier, bambu, prusa, creality
# Optional: Directory for temporary files
TEMP_DIR=/path/to/temp/dir
# Bambu Labs specific configuration
BAMBU_SERIAL=your_printer_serial # REQUIRED for Bambu
BAMBU_TOKEN=your_access_token # REQUIRED for Bambu
BAMBU_MODEL=p1s # REQUIRED for Bambu: p1s, p1p, x1c, x1e, a1, a1mini, h2d
BED_TYPE=textured_plate # Bed plate: textured_plate, cool_plate, engineering_plate, hot_plate
NOZZLE_DIAMETER=0.4 # Nozzle diameter in mm (default: 0.4)
# Slicer configuration (for slice_stl tool)
# For Bambu projects, the default is orcaslicer-bambulab unless SLICER_TYPE is set.
SLICER_TYPE=orcaslicer-bambulab # Options: prusaslicer, cura, slic3r, orcaslicer, orcaslicer-bambulab, bambustudio
SLICER_PATH=/path/to/slicer/executable
SLICER_PROFILE=/path/to/slicer/profile
# Optional aliases for FULU OrcaSlicer-bambulab when SLICER_PATH is not set
FULU_ORCA_PATH=/path/to/FULU/OrcaSlicer
ORCASLICER_BAMBULAB_PATH=/path/to/FULU/OrcaSlicer
FULU_ORCA_PLUGIN_DIR=/path/to/FULU/OrcaSlicer.app/Contents/MacOS
ORCASLICER_BAMBULAB_PLUGIN_DIR=/path/to/FULU/OrcaSlicer.app/Contents/MacOS
# Optional FULU BambuNetwork bridge runtime
# macOS default runtime dir:
# /Users/you/Library/Application Support/OrcaSlicer/macos-bridge/runtime
PJARCZAK_MAC_RUNTIME_DIR=
FULU_BAMBU_BRIDGE_COMMAND=
# Optional: Path to Bambu Studio user config dir (for loading presets)
# Example macOS: /Users/your_user/Library/Application Support/BambuStudio/user/YOUR_USER_ID
# Example Windows: C:\Users\your_user\AppData\Roaming\BambuStudio\user\YOUR_USER_ID
# Example Linux: /home/your_user/.config/BambuStudio/user/YOUR_USER_ID
BAMBU_STUDIO_CONFIG_PATH=
# MCP transport configuration
MCP_TRANSPORT=stdio # Options: stdio, streamable-http
MCP_HTTP_HOST=127.0.0.1
MCP_HTTP_PORT=3000
MCP_HTTP_PATH=/mcp
MCP_HTTP_STATEFUL=true
MCP_HTTP_JSON_RESPONSE=true
MCP_HTTP_ALLOWED_ORIGINS=http://localhost
# Optional bridge command for blender_mcp_edit_model execute=true mode
BLENDER_MCP_BRIDGE_COMMAND=
# Accept per-call executable selectors instead of reading commands and paths
# from server environment configuration. Off by default: slicer_path,
# bridge_command, and active-probe path overrides can select which local
# executable launches. MCP_ALLOW_BRIDGE_COMMAND_ARG remains a legacy alias for
# bridge commands and bridge-derived probe paths only.
MCP_ALLOW_EXECUTABLE_ARG=false
Uso
Agregue este servidor a la configuración de su cliente MCP (Claude Desktop, Claude Code, Cursor, Codex o cualquier cliente compatible con MCP). La mayoría de los clientes basados en JSON usan una entrada mcpServers con el comando y las variables de entorno:
{
"mcpServers": {
"3dprint": {
"command": "npx",
"args": ["-y", "mcp-3d-printer-server"],
"env": {
"PRINTER_HOST": "your_printer_ip",
"PRINTER_TYPE": "bambu",
"BAMBU_SERIAL": "your_printer_serial",
"BAMBU_TOKEN": "your_access_token",
"BAMBU_MODEL": "p1s",
"SLICER_TYPE": "orcaslicer-bambulab",
"SLICER_PATH": "/path/to/FULU/OrcaSlicer",
"FULU_ORCA_PLUGIN_DIR": "/Applications/OrcaSlicer.app/Contents/MacOS"
}
}
}
}
Para impresoras que no son Bambu, reemplace las variables de entorno específicas de Bambu con API_KEY y el PRINTER_TYPE apropiado (consulte Sistemas de gestión de impresoras compatibles).
FULU OrcaSlicer-bambulab
Use FULU-Foundation/OrcaSlicer-bambulab como laminador de proyectos Bambu de primera clase estableciendo:
PRINTER_TYPE=bambu
SLICER_TYPE=orcaslicer-bambulab
SLICER_PATH=/path/to/FULU/OrcaSlicer
FULU_ORCA_PLUGIN_DIR=/path/to/FULU/runtime/payload
BAMBU_MODEL=p1s
Los alias aceptados incluyen fulu_orca, fulu-orca, orca-studio y orca_bambulab. Para impresoras Bambu, esta es la familia de laminadores predeterminada cuando SLICER_TYPE no está configurado.
Lo que hace la integración:
slice_stlusa la forma CLI del proyecto FULU/Orca (--slice 0 --export-3mf) para producir un 3MF laminado compatible con Bambu.print_3mfpuede laminar automáticamente un 3MF sin laminar a través de FULU OrcaSlicer-bambulab, luego subir e iniciar el proyecto laminado a través de la ruta de impresión Bambu de este servidor.check_fulu_orca_setupverifica el ejecutable FULU, la carga útil del runtime de la plataforma, los comandos de configuración y el handshake opcional del puente BambuNetwork.fulu_bambu_network_rpcpuede llamar al protocolo de puente FULU para diagnósticos y desarrollo. Los métodos de solo lectura están permitidos por defecto; los métodos de mutación requierenallow_mutating_method=true; los métodos de impresión FULU aún requierenbambu_model.
Lo que permanece deliberadamente explícito:
- La ruta de impresión Bambu existente de este servidor MCP es MQTT local más FTPS y aún necesita
BAMBU_SERIAL,BAMBU_TOKENyPRINTER_HOST. - El puente BambuNetwork de FULU es un runtime separado. El MCP puede inspeccionarlo, sondearlo y emitir llamadas RPC de puente protegidas, pero no cambiará silenciosamente una impresión del control LAN local al control en la nube/BambuNetwork.
BAMBU_MODELsigue siendo obligatorio para las operaciones de impresión Bambu porque los ajustes preestablecidos de máquina incorrectos pueden producir G-code peligroso.
Estado actual de la prueba de banco
Esta integración ha sido probada contra los artefactos de lanzamiento actuales de FULU para macOS y una prueba de humo local con Benchy. El error del lado de MCP encontrado durante esa prueba fue real: los slicers de proyectos de la familia Bambu deben usar el JSON de preset de Orca/Bambu con --load-settings, no la bandera inválida --load-machine. Eso está corregido aquí.
La alternativa antigua de Bambu Studio todavía funciona. Establezca:
SLICER_TYPE=bambustudio
SLICER_PATH=/Applications/BambuStudio.app/Contents/MacOS/BambuStudio
Con esa alternativa, el mismo Benchy 3MF se laminó exitosamente a través de la CLI de Bambu Studio en un 3MF de proyecto compatible con Bambu. Este es el camino conocido y funcional mientras se estabiliza el empaquetado de la plataforma FULU.
macOS aún no está confirmado como estable. En este Mac, los paquetes de lanzamiento arm64 y x86_64 de FULU para macOS encontraron el mismo problema de laminado por CLI durante las pruebas con Benchy: una ruta falló con SIGSEGV dentro del procesamiento de la CLI de OrcaSlicer, y los intentos repetidos dejaron procesos de macOS UE ininterrumpibles que ignoraron SIGKILL. El MCP ahora evita fingir que eso está resuelto. check_fulu_orca_setup puede inspeccionar el paquete y la carga útil del puente, pero los usuarios de macOS deben tratar el laminado por CLI de FULU como territorio de retroalimentación activa hasta que FULU envíe una combinación estable de CLI/entorno de ejecución para macOS.
Necesitamos evaluadores en Windows. La ruta de configuración de WSL 2, las verificaciones de carga útil y la forma del comando del puente están representadas en este MCP, pero la ruta completa de Windows aún necesita informes reales de personas que puedan validar install_runtime.ps1, verify_runtime.ps1, el sondeo del puente, el laminado por CLI y un flujo de impresión conocido y seguro en su propia máquina.
Seguiremos iterando con los comentarios de usuarios y colaboradores. Por favor, informe el sistema operativo, la arquitectura de la CPU, el nombre del artefacto de lanzamiento de FULU, el resultado de check_fulu_orca_setup, el stderr del comando del slicer y si la alternativa de Bambu Studio funciona en el mismo modelo.
Configuración del entorno de ejecución de FULU por plataforma
El README de FULU actualmente dice que macOS está en progreso, pero el árbol de fuentes ya incluye scripts de entorno de ejecución de Lima para macOS y scripts de entorno de ejecución de WSL para Windows. Este MCP conoce esos diseños de archivos y devuelve los comandos exactos a través de check_fulu_orca_setup.
Windows:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Reinicie Windows y luego ejecute los scripts del paquete FULU desde el directorio que contiene install_runtime.ps1:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\install_runtime.ps1 -PackageDir . -PluginDir .
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\verify_runtime.ps1 -PackageDir . -PluginDir .
Linux:
Instale la compilación de FULU OrcaSlicer-bambulab normalmente, establezca SLICER_TYPE=orcaslicer-bambulab y apunte SLICER_PATH al ejecutable. Si desea diagnósticos a nivel de puente, establezca FULU_BAMBU_BRIDGE_COMMAND al pjarczak_bambu_linux_host empaquetado.
macOS:
Establezca el directorio de carga útil de la aplicación y luego ejecute los scripts que FULU copia en el paquete de la aplicación:
export FULU_ORCA_PLUGIN_DIR="/Applications/OrcaSlicer.app/Contents/MacOS"
bash "$FULU_ORCA_PLUGIN_DIR/install_runtime_macos.sh" -PackageDir "$FULU_ORCA_PLUGIN_DIR" -PluginDir "$FULU_ORCA_PLUGIN_DIR"
bash "$FULU_ORCA_PLUGIN_DIR/verify_runtime_macos.sh" -PackageDir "$FULU_ORCA_PLUGIN_DIR" -PluginDir "$FULU_ORCA_PLUGIN_DIR"
El entorno de ejecución instalado por defecto es:
~/Library/Application Support/OrcaSlicer/macos-bridge/runtime
La forma del comando del puente es:
"/Applications/OrcaSlicer.app/Contents/MacOS/pjarczak-bambu-linux-host-wrapper" "$HOME/Library/Application Support/OrcaSlicer/macos-bridge/runtime/pjarczak_bambu_linux_host"
Si su aplicación se llama Orca Studio.app o vive en otro lugar, pase su ruta real de Contents/MacOS como plugin_dir o FULU_ORCA_PLUGIN_DIR.
Verifique la configuración a través de MCP
Pida a su cliente MCP que llame a check_fulu_orca_setup, o llámelo desde un agente con argumentos como:
{
"platform": "darwin",
"slicer_path": "/Applications/OrcaSlicer.app/Contents/MacOS/OrcaSlicer",
"plugin_dir": "/Applications/OrcaSlicer.app/Contents/MacOS",
"run_bridge_probe": true,
"bridge_command": "\"/Applications/OrcaSlicer.app/Contents/MacOS/pjarczak-bambu-linux-host-wrapper\" \"$HOME/Library/Application Support/OrcaSlicer/macos-bridge/runtime/pjarczak_bambu_linux_host\""
}
El resultado informa archivos de carga útil faltantes, comandos de instalación/verificación, los valores de entorno de MCP a usar e información de protocolo de enlace/capacidad/entorno de ejecución del puente cuando el sondeo está habilitado.
Los selectores de ejecutable por llamada requieren
MCP_ALLOW_EXECUTABLE_ARG=1. Por defecto, el comando del puente y sus rutas derivadas se leen de la configuración del entorno del servidor. Pasarbridge_command, o pasarslicer_path,plugin_diroruntime_dirconrun_bridge_probe=true, devuelve un error que nombra la bandera de aceptación. La inspección de configuración que no ejecuta aún puede usar los argumentos de ruta sin la bandera. Estos valores seleccionan qué ejecutable local lanza este servidor, por lo que aceptarlos para un sondeo permite que lo que esté dirigiendo el modelo (una descripción de un modelo descargado, un README en un archivo, metadatos 3MF) elija ese programa. La misma restricción se aplica aslicer_pathen herramientas de laminado. Establezca la bandera solo para diagnósticos iterativos de confianza; déjela desactivada para uso normal.
RPC del puente FULU
fulu_bambu_network_rpc habla el protocolo de tramas del puente FULU desde el lado de MCP. El protocolo son tramas binarias little-endian con cuerpos JSON, usando métodos como bridge.handshake, bridge.capabilities, bridge.runtime_info y net.get_user_print_info.
Ejemplo de diagnóstico seguro:
{
"method": "bridge.runtime_info",
"bridge_command": "\"/Applications/OrcaSlicer.app/Contents/MacOS/pjarczak-bambu-linux-host-wrapper\" \"$HOME/Library/Application Support/OrcaSlicer/macos-bridge/runtime/pjarczak_bambu_linux_host\""
}
Los métodos de mutación están restringidos intencionalmente:
{
"method": "net.start_print",
"allow_mutating_method": true,
"bambu_model": "p1s",
"payload": {
"client_job_id": 1,
"params": {
"dev_id": "YOUR_PRINTER_ID"
}
}
}
Ese segundo ejemplo está intencionalmente incompleto porque las llamadas reales de impresión de BambuNetwork necesitan la carga útil completa de parámetros de impresión de FULU/Bambu. La parte importante es que el MCP expone el puente sin fingir que una impresión en la nube puede inferirse de manera segura a partir de un nombre de archivo local.
Dónde vive esta configuración depende de su cliente y sistema operativo:
| Cliente / alcance | Ubicación macOS / Linux | Ubicación Windows |
|---|---|---|
| Claude Desktop (macOS / Windows) | ~/Library/Application Support/Claude/claude_desktop_config.json | %APPDATA%\Claude\claude_desktop_config.json |
| Claude Desktop (Linux) | Aún no compatible oficialmente para MCP local; los documentos de Claude Desktop aún listan el soporte de Linux como próximamente. | N/A |
| Claude Code (MCP compartido de proyecto) | .mcp.json en la raíz del proyecto | .mcp.json en la raíz del proyecto |
| Claude Code (MCP de usuario/local) | ~/.claude.json | %USERPROFILE%\.claude.json |
| Configuración de Claude Code (no definiciones de servidor MCP) | ~/.claude/settings.json | %USERPROFILE%\.claude\settings.json |
| Cursor (proyecto) | .cursor/mcp.json en la raíz del proyecto | .cursor\mcp.json en la raíz del proyecto |
| Cursor (global) | ~/.cursor/mcp.json | %USERPROFILE%\.cursor\mcp.json |
| Codex (usuario; CLI, extensión de IDE, aplicación) | ~/.codex/config.toml | %USERPROFILE%\.codex\config.toml |
| Codex (proyecto, solo proyectos de confianza) | .codex/config.toml en la raíz del proyecto | .codex\config.toml en la raíz del proyecto |
Codex usa TOML en lugar de la forma JSON anterior. Puede gestionar servidores MCP con codex mcp, o editar config.toml directamente con una entrada [mcp_servers.<name>].
Reinicie su cliente después de editar la configuración. Para Codex, ejecute /mcp o codex mcp list para confirmar que el servidor se cargó.
Recomendado: usar con codemode-mcp
Para cualquier servidor MCP con una gran superficie de herramientas, envolverlo detrás de codemode-mcp reduce drásticamente el uso de tokens. En lugar de exponer cada definición de herramienta al modelo, codemode permite que el agente escriba código contra una interfaz de dos herramientas (search() y execute()), cargando solo las herramientas que necesita bajo demanda.
Anthropic y Cloudflare demostraron de forma independiente que este patrón reduce los costos de tokens de MCP hasta en un 98%:
- Ejecución de código con MCP (Anthropic)
- Code Mode: dale a los agentes una API completa en 1,000 tokens (Cloudflare)
Esto se aplica a todos los servidores MCP, no solo a este.
Sistemas de gestión de impresoras compatibles
OctoPrint
OctoPrint es una interfaz web popular para impresoras 3D. Proporciona una API REST para controlar la impresora.
- Puerto predeterminado: 80 (http) o 443 (https)
- Autenticación: Se requiere clave de API
Klipper (a través de Moonraker)
Klipper es un firmware para impresoras 3D que funciona con el servidor de API Moonraker.
- Puerto predeterminado: 7125
- Autenticación: Depende de su configuración de Moonraker
Duet
Duet es una placa de control para impresoras 3D con su propia interfaz web (DuetWebControl).
- Puerto predeterminado: 80 (http) o 443 (https)
- Autenticación: Depende de su configuración de Duet
Repetier
Repetier-Server es un software host para impresoras 3D.
- Puerto predeterminado: 3344
- Autenticación: Se requiere clave de API
Bambu Labs
Las impresoras Bambu Lab usan MQTT para el estado y control y FTP para operaciones de archivos.
- Autenticación: Se requieren número de serie y token de acceso (establezca
BAMBU_SERIALyBAMBU_TOKEN) - Modelo de impresora: Requerido (establezca
BAMBU_MODEL). Valores válidos:p1s,p1p,x1c,x1e,a1,a1mini,h2d. Esto asegura que el laminador genere el G-code correcto para su impresora específica. - Requisitos: La impresora debe estar en la misma red con el Modo Desarrollador y el Modo Solo LAN habilitados
- Compatible con: X1C, X1E, P1S, P1P, A1, A1 Mini, H2D
Cómo encontrar el número de serie y el token de acceso de su impresora Bambu
Para conectarse a su impresora Bambu Lab, necesita dos cosas:
-
Número de serie de la impresora:
- Mire en la parte posterior o inferior de su impresora una etiqueta con un número de serie (generalmente comienza con "01P" o "01A" seguido de números/letras)
- Alternativamente, abra Bambu Studio, conéctese a su impresora, vaya a Dispositivo > Gestión de dispositivos y vea la información de su impresora
-
Token de acceso:
- El token de acceso es un código de seguridad necesario para conectarse directamente a su impresora
- Para impresoras de la serie P1: Vaya a la pantalla táctil, seleccione Configuración > Red > Modo LAN, y verá el código de acceso
- Para impresoras de la serie X1: Vaya a la pantalla táctil, seleccione Configuración > Red > Modo LAN, y habilite el Modo LAN para ver el código de acceso
- Para A1 Mini: Use la aplicación Bambu Handy para conectarse a su impresora, luego vaya a Configuración > Red > Modo LAN
Nota: Si su impresora no está en la misma red local o no puede encontrar el token de acceso, es posible que necesite actualizar el firmware de su impresora a la última versión para habilitar el Modo LAN.
Notas de comunicación de Bambu (MQTT y FTP)
- MQTT: Este servidor usa el protocolo MQTT local (puerto 8883, TLS) basado en hallazgos de la comunidad (por ejemplo, OpenBambuAPI) para enviar comandos como iniciar impresiones y cancelar trabajos.
- FTP: El listado y la carga de archivos actualmente dependen del servidor FTP que se ejecuta en la impresora (a través del asistente de biblioteca
bambu-js). Nota: Esta conexión FTP podría ser no segura (FTP plano) según las limitaciones actuales de la biblioteca. Úsela con conciencia de la seguridad de su red.
Prusa Connect
Prusa Connect es la solución basada en la nube de Prusa para gestionar sus impresoras.
- Puerto predeterminado: 80 (http) o 443 (https)
- Autenticación: Se requiere clave de API
- Compatible con: Prusa MK4, Prusa Mini, Prusa XL y otras impresoras Prusa con Prusa Connect
Para Prusa Connect en la nube, use connect.prusa3d.com con PRINTER_PORT=443, o incluya el esquema directamente con PRINTER_HOST=https://connect.prusa3d.com. El servidor normaliza ambas formas a HTTPS. Los hosts locales de PrusaLink continúan usando HTTP a menos que proporcione un host https:// o puerto 443.
Configuración de Prusa Connect
- Asegúrese de que su impresora Prusa esté actualizada al firmware más reciente
- Conecte su impresora a su red Wi-Fi
- Cree una cuenta de Prusa Connect y registre su impresora
- Genere una clave de API desde la interfaz web de Prusa Connect en Configuración > Acceso a API
Creality Cloud
Creality Cloud es el sistema de gestión de Creality para sus impresoras.
- Puerto predeterminado: 80 (http) o 443 (https)
- Autenticación: Se requiere token Bearer
- Compatible con: Serie Ender, serie CR y otras impresoras Creality con capacidades de red
Configuración de Creality Cloud
- Instale la aplicación Creality Cloud en su dispositivo móvil
- Cree una cuenta y agregue su impresora
- Habilite el acceso a la red local para su impresora
- Genere un token desde la aplicación Creality Cloud en Configuración > Opciones de desarrollador
Herramientas disponibles
Haga clic para expandir las herramientas de manipulación de STL
Herramientas de manipulación de STL
Advertencia de uso de memoria: Las siguientes herramientas de manipulación de STL cargan modelos 3D completos en memoria. Para archivos STL grandes o complejos (>10MB), estas operaciones pueden consumir memoria significativa. Al usar estas herramientas dentro del entorno MCP, tenga en cuenta las limitaciones de memoria.
get_stl_info
Obtenga información detallada sobre un archivo STL, incluyendo dimensiones, número de vértices y cuadro delimitador.
{
"stl_path": "/path/to/file.stl"
}
extend_stl_base
Extienda la base de un archivo STL en una cantidad especificada.
{
"stl_path": "/path/to/file.stl",
"extension_inches": 2
}
scale_stl
Escale un modelo STL de manera uniforme o a lo largo de ejes específicos.
{
"stl_path": "/path/to/file.stl",
"scale_factor": 1.5
}
O para escalado no uniforme:
{
"stl_path": "/path/to/file.stl",
"scale_x": 1.2,
"scale_y": 1.0,
"scale_z": 1.5
}
rotate_stl
Rote un modelo STL alrededor de ejes específicos (en grados).
{
"stl_path": "/path/to/file.stl",
"rotate_x": 45,
"rotate_y": 0,
"rotate_z": 90
}
translate_stl
Mueva un modelo STL a lo largo de ejes específicos (en milímetros).
{
"stl_path": "/path/to/file.stl",
"translate_x": 10,
"translate_y": 5,
"translate_z": 0
}
merge_vertices
Fusione vértices que estén más cerca que una tolerancia especificada. Ayuda a cerrar pequeños huecos y puede simplificar ligeramente la malla.
{
"stl_path": "/path/to/model.stl",
"tolerance": 0.01 // Optional, default = 0.01mm
}
center_model
Traslada el modelo para que el centro de su cuadro delimitador quede en el origen del mundo (0,0,0).
{
"stl_path": "/path/to/model.stl"
}
lay_flat
Intenta identificar la superficie plana más grande del modelo (que no esté ya orientada directamente hacia arriba o hacia abajo) y rota el modelo para que esta cara quede orientada hacia abajo en el plano XY (Z=0). Útil para orientar modelos para impresión.
{
"stl_path": "/path/to/model.stl"
}
modify_stl_section
Aplica una transformación específica a una sección seleccionada de un archivo STL. Esto permite modificaciones detalladas de partes específicas de un modelo.
{
"stl_path": "/path/to/file.stl",
"section": "top",
"transformation_type": "scale",
"value_x": 1.5,
"value_y": 1.5,
"value_z": 1.5
}
Para límites de sección personalizados:
{
"stl_path": "/path/to/file.stl",
"section": "custom",
"transformation_type": "rotate",
"value_x": 0,
"value_y": 0,
"value_z": 45,
"custom_min_x": -10,
"custom_min_y": 0,
"custom_min_z": -10,
"custom_max_x": 10,
"custom_max_y": 20,
"custom_max_z": 10
}
generate_stl_visualization
Genera una visualización SVG de un archivo STL desde múltiples ángulos (vistas frontal, lateral, superior e isométrica).
{
"stl_path": "/path/to/file.stl",
"width": 400,
"height": 400
}
slice_stl
Corta un archivo STL para generar código G.
{
"stl_path": "/path/to/file.stl",
"slicer_type": "orcaslicer",
"slicer_path": "/path/to/orcaslicer",
"slicer_profile": "/path/to/machine.json;/path/to/process.json",
"filament_profile": "/path/to/flat-nylon-filament.json"
}
Para OrcaSlicer, el servidor usa --slice 0 --outputdir y devuelve la salida renombrada plate_1.gcode. Cargue el filamento por separado con filament_profile (--load-filaments) o codifíquelo en slicer_profile después de una tubería, por ejemplo /path/to/process.json|/path/to/filament.json.
confirm_temperatures
Confirma la configuración de temperatura en un archivo de código G.
{
"gcode_path": "/path/to/file.gcode",
"extruder_temp": 200,
"bed_temp": 60
}
process_and_print_stl
Procesa un archivo STL (extiende la base), lo corta, confirma las temperaturas e inicia la impresión.
{
"stl_path": "/path/to/file.stl",
"extension_inches": 2,
"extruder_temp": 200,
"bed_temp": 60,
"host": "192.168.1.100",
"type": "octoprint",
"api_key": "YOUR_API_KEY"
}
Nota: La orientación automática para una impresión óptima (minimizando soportes, etc.) es una tarea compleja que normalmente manejan las interfaces gráficas de los slicers (como OrcaSlicer o PrusaSlicer) y no está implementada en este servidor.
Haga clic para expandir Herramientas de Control de Impresora
Herramientas de Control de Impresora
get_printer_status
Obtiene el estado actual de la impresora 3D.
{
"host": "192.168.1.100",
"type": "octoprint",
"api_key": "YOUR_API_KEY"
}
Para impresoras Bambu, esto actualmente solo confirma la conexión MQTT.
list_printer_files
Lista los archivos disponibles en la impresora.
{
"host": "192.168.1.100",
"type": "octoprint",
"api_key": "YOUR_API_KEY"
}
Para impresoras Bambu, lista los archivos en el directorio gcodes a través de FTP.
upload_gcode
Sube contenido de código G o una ruta de archivo de código G local a la impresora.
{
"host": "192.168.1.100",
"type": "octoprint",
"api_key": "YOUR_API_KEY",
"filename": "my_print.gcode",
"gcode": "G28\nG1 X100 Y100 Z10 F3000\n...",
"print": true
}
Para archivos más grandes, pase una ruta local en su lugar. Si se omite filename, el nombre del archivo en la impresora se establece por defecto al nombre base de gcode_path.
{
"host": "192.168.1.100",
"type": "klipper",
"api_key": "YOUR_API_KEY",
"gcode_path": "/path/to/my_print.gcode",
"print": true
}
Para impresoras Bambu, sube al directorio gcodes a través de FTP. No puede iniciar la impresión automáticamente.
start_print
Inicia la impresión de un archivo que ya está en la impresora.
{
"host": "192.168.1.100",
"type": "octoprint",
"api_key": "YOUR_API_KEY",
"filename": "my_print.gcode"
}
No recomendado para impresoras Bambu. Use print_3mf para archivos .3mf de Bambu.
cancel_print
Cancela el trabajo de impresión actual.
{
"host": "192.168.1.100",
"type": "octoprint",
"api_key": "YOUR_API_KEY"
}
Para impresoras Bambu, envía el comando stop_print a través de MQTT.
set_printer_temperature
Establece la temperatura de un componente de la impresora.
{
"host": "192.168.1.100",
"type": "octoprint",
"api_key": "YOUR_API_KEY",
"component": "extruder",
"temperature": 200
}
Para impresoras Bambu, esto envía comandos de temperatura de firmware de código G (M104 para la boquilla, M140 para la cama) a través de MQTT.
Haga clic para expandir Herramientas Específicas de Bambu
Herramientas Específicas de Bambu
check_fulu_orca_setup
Inspecciona el ejecutable FULU OrcaSlicer-bambulab, la carga útil de la plataforma en tiempo de ejecución, los comandos de configuración y la sonda opcional del puente BambuNetwork.
El bridge_command que se muestra a continuación requiere MCP_ALLOW_EXECUTABLE_ARG=1; de lo contrario, se lee desde FULU_BAMBU_BRIDGE_COMMAND. Consulte Verifique la Configuración a Través de MCP.
{
"platform": "darwin",
"slicer_path": "/Applications/OrcaSlicer.app/Contents/MacOS/OrcaSlicer",
"plugin_dir": "/Applications/OrcaSlicer.app/Contents/MacOS",
"run_bridge_probe": true,
"bridge_command": "\"/Applications/OrcaSlicer.app/Contents/MacOS/pjarczak-bambu-linux-host-wrapper\" \"$HOME/Library/Application Support/OrcaSlicer/macos-bridge/runtime/pjarczak_bambu_linux_host\""
}
fulu_bambu_network_rpc
Llama a un método JSON RPC del puente FULU BambuNetwork. Los métodos de solo lectura como bridge.handshake, bridge.runtime_info y net.get_user_print_info están permitidos por defecto. Los métodos que pueden mutar el estado de la cuenta, la impresora, la nube o la impresión requieren allow_mutating_method=true; los métodos de impresión FULU también requieren bambu_model.
{
"method": "bridge.handshake",
"bridge_command": "\"/Applications/OrcaSlicer.app/Contents/MacOS/pjarczak-bambu-linux-host-wrapper\" \"$HOME/Library/Application Support/OrcaSlicer/macos-bridge/runtime/pjarczak_bambu_linux_host\""
}
print_3mf
Sube un archivo .3mf cortado a una impresora Bambu a través de FTP e inicia el trabajo de impresión mediante un comando MQTT. Si el 3MF no tiene código G de placa incrustado y hay un slicer de proyecto configurado, el servidor puede cortarlo automáticamente primero con FULU OrcaSlicer-bambulab o Bambu Studio. Permite anular algunos parámetros de impresión como el mapeo de AMS.
bambu_model es obligatorio -- asegura que el slicer genere código G para la impresora correcta. Usar el modelo incorrecto puede hacer que la cama choque contra la boquilla y dañe la impresora. Si no se proporciona en la llamada a la herramienta y BAMBU_MODEL no está configurado en el entorno, el servidor preguntará interactivamente a través de la elicitación de MCP (si su cliente lo admite) o devolverá un error claro.
{
"three_mf_path": "/path/to/your_model.3mf",
"bambu_model": "p1s",
"bed_type": "textured_plate",
"host": "your_bambu_ip",
"bambu_serial": "YOUR_SERIAL",
"bambu_token": "YOUR_TOKEN",
"slicer_type": "orcaslicer-bambulab",
"slicer_path": "/path/to/FULU/OrcaSlicer",
"use_ams": true,
"ams_mapping": [0, 1, 2, 3],
"bed_leveling": true,
"flow_calibration": false,
"vibration_calibration": false,
"timelapse": false
}
Nota: Anular la configuración del slicer como la altura de capa o la temperatura a través de esta herramienta no es compatible con el comando MQTT de la impresora. Aplique esos cambios antes de generar el archivo .3mf.
Recursos Disponibles
Haga clic para expandir Recursos de Impresora
Recursos de Impresora
printer://{host}/status- Estado actual de la impresora 3D (limitado para Bambu actualmente)printer://{host}/files- Lista de archivos disponibles en la impresora 3D (FTP para Bambu)printer://{host}/file/{filename}- Contenido de un archivo de código G específico (solo verifica la existencia para Bambu)
Haga clic para expandir Recursos de Ajustes Preestablecidos de Bambu
Recursos de Ajustes Preestablecidos de Bambu
Si la variable de entorno BAMBU_STUDIO_CONFIG_PATH está configurada en su directorio de configuración de usuario de Bambu Studio, puede leer sus ajustes preestablecidos guardados.
preset://bambu/machine/{preset_name}- Lee un archivo de ajuste preestablecido de máquina (por ejemplo,Bambu Lab P1S 0.4 nozzle.json)preset://bambu/filament/{preset_name}- Lee un archivo de ajuste preestablecido de filamento (por ejemplo,Generic PLA.json)preset://bambu/process/{preset_name}- Lee un archivo de ajuste preestablecido de proceso (por ejemplo,0.20mm Standard @BBL P1S.json)
Ejemplo de uso:
"Lee el contenido de mi ajuste preestablecido de proceso Bambu llamado '0.16mm Optimal @BBL P1S'"
(Claude llamaría a ReadResource con preset://bambu/process/0.16mm%20Optimal%20%40BBL%20P1S)
Ejemplos de Comandos para Claude
Aquí hay algunos comandos de ejemplo que puede dar a Claude después de conectar el servidor MCP:
Control de Impresora
- "¿Cuál es el estado actual de mi impresora 3D?"
- "Muéstrame la lista de archivos en mi impresora."
- "Sube este código G a mi impresora: [contenido del código G]"
- "Inicia la impresión del archivo llamado 'benchy.gcode'."
- "Cancela el trabajo de impresión actual."
- "Establece la temperatura del extrusor a 200°C."
- "Establece la temperatura de la cama a 60°C."
Manipulación e Impresión de STL
- "Toma este archivo STL y extiende la base 2 pulgadas, luego envíalo al slicer y ponlo en cola en mi impresora."
- "Extiende la base de model.stl 1.5 pulgadas."
- "Escala este archivo STL al 150% uniformemente."
- "Escala model.stl para que sea el doble de ancho pero mantén la misma altura."
- "Rota este modelo 90 grados alrededor del eje Z."
- "Mueve este modelo STL hacia arriba 5mm para crear un espacio debajo."
- "¿Puedes modificar solo la parte superior de este modelo para hacerla un 20% más grande?"
- "Analiza este archivo STL y dime sus dimensiones y detalles."
- "Genera una visualización de este archivo STL para que pueda ver cómo se ve."
- "Crea visualizaciones SVG de mi modelo desde diferentes ángulos."
- "Haz la base de este modelo más ancha sin cambiar su altura."
- "Corta el archivo STL modificado usando PrusaSlicer."
- "Confirma que las temperaturas en el código G son 200°C para el extrusor y 60°C para la cama."
- "Procesa este archivo STL, haz la base 2 pulgadas más larga, córtalo e inicia la impresión, pero confirma las temperaturas primero."
- "Imprime
~/Downloads/my_model.3mfen la impresora Bambu." - "Sube
~/Desktop/calibration_cube.3mfa la impresora Bambu usando las ranuras AMS 0 y 2, y desactiva el nivelado de la cama." - "Cancela el trabajo de impresión en mi Bambu P1S."
- "¿Cuáles son los ajustes en mi ajuste preestablecido de filamento Bambu 'Generic PETG'?"
- "Muéstrame mis ajustes preestablecidos de proceso Bambu."
Limitaciones de la Impresora Bambu Lab
Debido a la naturaleza de la API de la impresora Bambu Lab, hay algunas limitaciones:
-
Requisito de 3MF imprimible:
print_3mfen última instancia necesita un 3MF cortado que incluya al menos una entradaMetadata/plate_<n>.gcodepara que el servidor pueda calcular el MD5 e iniciar el trabajo correctamente. Los archivos 3MF sin cortar se pueden cortar automáticamente primero cuandoSLICER_TYPE=orcaslicer-bambulaboSLICER_TYPE=bambustudioestá configurado. -
Advertencia de comportamiento de AMS: El mapeo de AMS se pasa a través del comando de archivo de proyecto MQTT, pero el comportamiento real aún depende del firmware de la impresora, el filamento cargado y los metadatos del proyecto cortado.
-
Ruta de control de temperatura: Las actualizaciones de temperatura se implementan a través del envío de comandos de código G (
M104/M140) a través de MQTT, por lo que el comportamiento efectivo aún depende de la aceptación del firmware de la impresora y del estado actual de la impresora. -
Canal de transferencia de archivos: Las subidas usan la ruta FTPS de Bambu (puerto 990) directamente a través de
basic-ftpcon TLS implícito. Algunas operaciones de lectura/listado aún usan los ayudantes debambu-js. -
Alcance de la ruta de inicio directo:
startJobactualmente apunta a archivos.gcodeen el almacenamiento de la impresora; los trabajos de.3mfdeben iniciarse a través deprint_3mfpara que los metadatos y la selección de placa se manejen. -
Consistencia del estado: Las lecturas de estado fuerzan una actualización de
pushallcuando es posible, pero la semántica completa de estado de eventos en tiempo real en todos los modelos Bambu aún necesita un endurecimiento más profundo. -
Alcance del puente FULU BambuNetwork: El puente FULU expone la funcionalidad de BambuNetwork a través de su propio tiempo de ejecución y protocolo RPC. Este MCP puede inspeccionar/sondear ese tiempo de ejecución y emitir llamadas RPC de puente protegidas, pero el
print_3mflocal aún usa la ruta MQTT/FTPS local explícita del servidor a menos que un cambio futuro mapee una carga útil completa de impresión en la nube FULU de manera segura.
Limitaciones y Consideraciones
Uso de Memoria
- Archivos STL Grandes: Procesar archivos STL grandes o complejos puede consumir memoria significativa. Toda la geometría STL se carga en memoria durante las operaciones.
- Múltiples Operaciones: Ejecutar múltiples operaciones STL en secuencia (especialmente en archivos grandes) puede causar que la memoria se acumule si la recolección de basura no se mantiene al día.
- Entorno MCP: Dado que esto se ejecuta como un servidor MCP, tenga en cuenta que el entorno MCP de Claude tiene restricciones de memoria. Las operaciones complejas en archivos STL muy grandes pueden causar problemas de falta de memoria.
Limitaciones de Manipulación de STL
- Modificación de Secciones: La función de modificación específica de secciones funciona mejor en geometrías más simples. Las mallas complejas o no múltiples pueden producir resultados inesperados.
- Extensión de Base: El algoritmo de extensión de base funciona agregando una nueva geometría debajo del modelo. Para modelos con partes inferiores complejas, los resultados pueden no ser perfectos.
- Manejo de Errores: Aunque hemos agregado un manejo robusto de errores, algunos casos extremos en archivos STL complejos aún pueden causar problemas.
Limitaciones de Visualización
- Representación SVG: La visualización SVG es una representación esquemática simplificada, no un renderizado 3D real.
- Modelos Complejos: Para modelos muy complejos, la visualización puede no representar con precisión todos los detalles.
Consideraciones de Rendimiento
- Operaciones de Corte: Los procesos de slicer externos pueden ser intensivos en CPU y pueden tomar tiempo considerable para modelos complejos.
- Informe de Progreso: Para archivos grandes, las actualizaciones de progreso pueden parecer que se detienen en ciertas etapas de procesamiento.
Recomendaciones de Pruebas
- Comience con archivos STL más pequeños (< 10MB) para probar la funcionalidad
- Monitoree el uso de memoria al procesar archivos grandes
- Pruebe modificaciones en geometrías simples antes de intentar complejas
- Considere ejecutar en un sistema con al menos 4GB de RAM disponible para operaciones más grandes
Apéndice: Notas de Seguridad de MCP
Consulte Recomendado: use con codemode-mcp para reducir la sobrecarga de tokens con superficies de herramientas grandes.
Inyección de Prompts: Riesgos y Mitigaciones
La inyección de prompts es un problema abierto para agentes que usan herramientas. Mitigaciones prácticas:
- Credenciales de privilegio mínimo y tokens de corta duración.
- Validación estricta de esquemas y listas de permitidos explícitas para acciones/hosts.
- Puertas de confirmación humana para operaciones destructivas.
- Aislamiento de ejecución con límites de recursos/tiempo.
- Trate la salida de las herramientas como entrada no confiable por defecto.
Insignias
Licencia
GPL-2.0