MCP 3D Printer Server

Integrations

  • Allows Claude to connect with Bambu Lab 3D printers to get printer status, manage files, upload G-code files, and monitor printing through their MQTT and FTP interfaces. Compatible with X1C, P1S, P1P, A1, and other Bambu Lab printers.

  • Allows Claude to connect with Creality/Ender 3D printers through the Creality Cloud management system to control and monitor Ender series, CR series, and other Creality printers with network capabilities.

  • Allows Claude to interact with OctoPrint-managed 3D printers to get printer status, list and upload files, start/cancel print jobs, and set temperatures through OctoPrint's REST API.

Сервер 3D-принтера MCP

  • Печать Bambu .3mf : Добавлен инструмент print_3mf специально для принтеров Bambu Lab. Он загружает файл .3mf и отправляет команду печати напрямую через MQTT на основе спецификаций OpenBambuAPI.
  • Прямое взаимодействие MQTT (Bambu): переработана обработка команд Bambu ( print_3mf , cancelJob ) для использования прямого MQTT (порт TLS 8883) вместо использования исключительно bambu-js для команд.
  • Анализ файлов .3mf : реализован парсер ( src/3mf_parser.ts ) для чтения метаданных и настроек слайсера, специфичных для Bambu (из project_settings.config ) в файлах .3mf .
  • Ресурсы предустановок Bambu: добавлена поддержка чтения файлов предустановок Bambu Studio ( machine , filament , process ) как ресурсов MCP (например, preset://bambu/process/MyPreset ), если установлен BAMBU_STUDIO_CONFIG_PATH .
  • Интеграция OrcaSlicer: добавлена поддержка использования OrcaSlicer через интерфейс командной строки для инструмента slice_stl .
  • Новые инструменты манипулирования STL: добавлены инструменты merge_vertices , center_model и lay_flat для базовой подготовки модели с использованием three.js .
  • Обновление конфигурации: добавлена переменная среды BAMBU_STUDIO_CONFIG_PATH для предварительной загрузки.
  • Примечание по использованию FTP: в документации указано, что в настоящее время файловые операции для Bambu используют потенциально незащищенный FTP через bambu-js .
  • Достижение паритета функций: повышение функциональности (подробности статуса, операции с файлами, прямая печать, где это возможно, обработка предустановок) для OctoPrint, Klipper, Duet, Repetier, Prusa Connect и Creality Cloud до уровня надежности, запланированного для внедрения Bambu.
  • Реализация полного статуса Bambu MQTT: рефакторинг getStatus для Bambu для подписки на отчеты MQTT и сохранения состояния в реальном времени.
  • Реализуйте надежное сопоставление AMS: замените логику заполнителя; правильно анализируйте и используйте сопоставление AMS из конфигурации слайсера .3mf или пользовательских переопределений для команды печати MQTT.
  • Реализуйте переопределения печати .3mf : добавьте логику в инструмент print_3mf для обработки переопределений, предоставленных пользователем (например, флагов калибровки), и потенциально общих настроек слайсера, если это осуществимо через MQTT/G-код.
  • Вычислить хэш MD5: добавить логику для вычисления и включить хэш MD5 файла .3mf в команду печати MQTT (необязательно, но рекомендуется протоколом).
  • Реорганизация операций Bambu File: рассмотрите возможность замены операций FTP bambu-js ( getFiles , uploadFile ) прямыми методами MQTT, если это возможно/стабильно, или добавьте поддержку FTPS в bambu-js .
  • Добавлена предустановленная логика обнаружения: улучшен список предустановленных ресурсов (в настоящее время списки основаны на потенциальных именах файлов, может анализировать файлы индекса, если они существуют).
  • Расширение поддержки .3mf : добавление поддержки печати .3mf для других типов принтеров, где это применимо.
  • Обработка ошибок и отчетность: улучшенная обработка ошибок MQTT и отчетность о ходе/завершении печати.
  • Тестирование: Проведите тщательное тестирование всех новых функций Bambu во время выполнения.

Оглавление

Описание

Это сервер, который позволяет пользователям MCP подключаться к конечным точкам API следующих 3D-принтеров:

  • OctoPrint
  • Клиппер (Лунный гонщик)
  • Дуэт
  • Репетитор
  • Лаборатории Бамбу
  • Пруса Коннект
  • Креативность/Эндер

Этот сервер представляет собой сервер Model Context Protocol (MCP) для соединения Claude с системами управления 3D-принтерами. Он позволяет MCP взаимодействовать с 3D-принтерами через API различных систем управления принтерами, таких как OctoPrint, Klipper (через Moonraker), Duet, Repetier и принтеры Bambu Labs.

Примечание об использовании ресурсов : этот сервер MCP включает расширенные функции манипуляции 3D-моделями, которые могут быть ресурсоемкими при работе с большими файлами STL. Пожалуйста, ознакомьтесь с разделом «Ограничения и соображения» для получения важной информации об использовании памяти и производительности.

Функции

  • Получить состояние принтера (температуру, ход печати и т. д.)
  • Список файлов на принтере
  • Загрузите файлы G-кода на принтер
  • Запуск, отмена и мониторинг заданий печати
  • Установите температуру принтера
  • Расширенные возможности работы с файлами STL:
    • Расширьте основание для лучшего сцепления
    • Масштабировать модели равномерно или вдоль определенных осей
    • Вращение моделей вокруг любой оси
    • Перевести (переместить) модели
    • Изменить определенные разделы файлов STL (верхний, нижний, центральный или пользовательский)
  • Комплексный анализ STL с подробной информацией о модели
  • Создание многоракурсных SVG-визуализаций файлов STL
  • Отчеты о ходе выполнения длительных операций в режиме реального времени
  • Обработка ошибок с подробной диагностикой
  • Разбиение STL-файлов на части для генерации G-кода
  • Подтвердите настройки температуры в файлах G-кода
  • Полный сквозной рабочий процесс от модификации STL до печати
  • Печатайте файлы .3mf напрямую на принтерах Bambu Lab (через команду MQTT)
  • Прочтите файлы предустановок Bambu Studio (принтер, нить, процесс) как ресурсы

Установка

Предпосылки

  • Node.js 18 или выше
  • нпм или пряжа

Установить из npm

npm install -g mcp-3d-printer-server

Установить из источника

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

Работа с Docker

Вы также можете запустить сервер с помощью Docker и Docker Compose для контейнеризированной среды.

  1. Убедитесь, что у вас установлены Docker и Docker Compose.
  2. Скопируйте .env.example в .env и настройте параметры.
  3. Соберите и запустите контейнер:
    docker-compose up --build -d
Использование слайсеров с Docker

Обратите внимание, что настройка Docker по умолчанию не может напрямую использовать слайсер, установленный на вашей хост-машине . Монтирование исполняемого файла слайсера непосредственно с хоста в контейнер ненадежно из-за различий в операционной системе и библиотеках между вашим хостом и контейнером.

Рекомендуемый подход — установить ваш предпочтительный слайсер внутри образа Docker . Это делает контейнер самодостаточным.

Для этого вам нужно будет изменить Dockerfile . Вот концептуальный пример того, как вы можете добавить PrusaSlicer или OrcaSlicer (конкретные команды могут различаться в зависимости от слайсера, его зависимостей и текущих пакетов Alpine):

# ... other Dockerfile commands ... # Example: Install PrusaSlicer or OrcaSlicer (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 ...

После изменения Dockerfile перестройте свой образ ( docker-compose build ). Вам также нужно будет убедиться, что переменная среды SLICER_PATH в вашем файле .env или docker-compose.yml указывает на правильный путь внутри контейнера (например, /usr/local/bin/orcaslicer ). Также установите SLICER_TYPE на orcaslicer .

Извините, что не включил конкретный слайсер из коробки, но, учитывая широкий выбор слайсеров (PrusaSlicer, OrcaSlicer, Cura и т. д.) и доступных конфигураций, предварительная установка одного из них излишне раздула бы образ для многих пользователей. Если конкретный слайсер станет очень распространенным запросом, я, безусловно, могу рассмотреть возможность добавления официальной поддержки для него в будущей версии.

Конфигурация

Создайте файл .env в каталоге, где вы будете запускать сервер, или задайте переменные среды:

# 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 # Slicer configuration (for slice_stl tool) SLICER_TYPE=prusaslicer # Options: prusaslicer, cura, slic3r, orcaslicer SLICER_PATH=/path/to/slicer/executable SLICER_PROFILE=/path/to/slicer/profile # 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=

Использование с Claude Desktop

  1. Отредактируйте файл конфигурации Claude Desktop:
{ "mcpServers": { "3dprint": { "command": "mcp-3d-printer-server", "env": { "API_KEY": "your_api_key_here", "PRINTER_HOST": "your_printer_ip", "PRINTER_TYPE": "octoprint" } } } }
  1. Для принтеров Bambu Labs:
{ "mcpServers": { "3dprint": { "command": "mcp-3d-printer-server", "env": { "PRINTER_HOST": "your_printer_ip", "PRINTER_TYPE": "bambu", "BAMBU_SERIAL": "your_printer_serial", "BAMBU_TOKEN": "your_access_token" } } } }
  1. Перезагрузить рабочий стол Клода
  2. Подключитесь к принтеру через Claude

Поддерживаемые системы управления принтерами

OctoPrint

OctoPrint — популярный веб-интерфейс для 3D-принтеров. Он предоставляет REST API для управления принтером.

  • Порт по умолчанию: 80 (http) или 443 (https)
  • Аутентификация: требуется ключ API

Клиппер (через Moonraker)

Klipper — это прошивка для 3D-принтеров, работающая с API-сервером Moonraker.

  • Порт по умолчанию: 7125
  • Аутентификация: зависит от конфигурации вашего Moonraker

Дуэт

Duet — плата управления для 3D-принтеров с собственным веб-интерфейсом (DuetWebControl).

  • Порт по умолчанию: 80 (http) или 443 (https)
  • Аутентификация: зависит от конфигурации Duet.

Репетитор

Repetier-Server — это программное обеспечение для 3D-принтеров.

  • Порт по умолчанию: 3344
  • Аутентификация: требуется ключ API

Лаборатории Бамбу

Принтеры Bambu Lab используют MQTT для статуса и управления, а также FTP для файловых операций.

  • Аутентификация: требуется серийный номер и токен доступа (задайте BAMBU_SERIAL и BAMBU_TOKEN )
  • Требования: принтер должен быть в той же сети или иметь включенное облачное подключение.
  • Совместимо с: X1C, P1S, P1P, A1 и другими принтерами Bambu Lab
Как найти серийный номер и токен доступа вашего принтера Bambu

Для подключения к принтеру Bambu Lab вам понадобятся две вещи:

  1. Серийный номер принтера :
    • Найдите на задней или нижней панели принтера наклейку с серийным номером (обычно он начинается с «01P» или «01A», за которыми следуют цифры/буквы).
    • Либо откройте Bambu Studio, подключитесь к принтеру, перейдите в раздел «Устройство» > «Управление устройствами» и просмотрите информацию о принтере.
  2. Токен доступа :
    • Токен доступа — это код безопасности, необходимый для прямого подключения к вашему принтеру.
    • Для принтеров серии P1: перейдите на сенсорный экран, выберите «Настройки» > «Сеть» > «Режим локальной сети», и вы увидите код доступа.
    • Для принтеров серии X1: перейдите на сенсорный экран, выберите «Настройки» > «Сеть» > «Режим локальной сети» и включите «Режим локальной сети», чтобы увидеть код доступа.
    • Для A1 Mini: используйте приложение Bambu Handy для подключения к принтеру, затем перейдите в «Настройки» > «Сеть» > «Режим локальной сети».

Примечание : Если ваш принтер не находится в той же локальной сети или вы не можете найти токен доступа, вам может потребоваться обновить прошивку принтера до последней версии, чтобы включить режим локальной сети.

Заметки о коммуникации Bambu (MQTT и FTP)
  • MQTT: этот сервер использует локальный протокол MQTT (порт 8883, TLS) на основе результатов работы сообщества (например, OpenBambuAPI ) для отправки команд, таких как запуск печати и отмена заданий.
  • FTP: Список файлов и загрузка в настоящее время зависят от FTP-сервера, запущенного на принтере (через помощника библиотеки bambu-js ). Примечание: Это FTP-соединение может быть незащищенным (обычный FTP) из-за текущих ограничений библиотеки. Используйте с учетом безопасности вашей сети.

Пруса Коннект

Prusa Connect — это собственное облачное решение Prusa для управления принтерами.

  • Порт по умолчанию: 80 (http) или 443 (https)
  • Аутентификация: требуется ключ API
  • Совместимо с: Prusa MK4, Prusa Mini, Prusa XL и другими принтерами Prusa с Prusa Connect
Настройка Prusa Connect
  1. Убедитесь, что на вашем принтере Prusa установлена последняя версия прошивки.
  2. Подключите принтер к сети Wi-Fi.
  3. Создайте учетную запись Prusa Connect и зарегистрируйте свой принтер
  4. Сгенерируйте ключ API из веб-интерфейса Prusa Connect в разделе «Настройки» > «Доступ API».

Облако Creality

Creality Cloud — это система управления принтерами компании Creality.

  • Порт по умолчанию: 80 (http) или 443 (https)
  • Аутентификация: требуется токен на предъявителя
  • Совместимо с: сериями Ender, CR и другими принтерами Creality с сетевыми возможностями.
Настройка Creality Cloud
  1. Установите приложение Creality Cloud на свое мобильное устройство
  2. Создайте учетную запись и добавьте свой принтер
  3. Включите доступ к локальной сети для вашего принтера.
  4. Создайте токен из приложения Creality Cloud в разделе «Настройки» > «Параметры разработчика».

Доступные инструменты

Инструменты для работы с STL

Предупреждение об использовании памяти : следующие инструменты манипуляции STL загружают целые 3D-модели в память. Для больших или сложных файлов STL (>10 МБ) эти операции могут потреблять значительный объем памяти. При использовании этих инструментов в среде MCP помните об ограничениях памяти.

получить_stl_информацию

Получите подробную информацию о файле STL, включая размеры, количество вершин и ограничивающую рамку.

{ "stl_path": "/path/to/file.stl" }
расширить_stl_base

Расширить базу STL-файла на указанную величину.

{ "stl_path": "/path/to/file.stl", "extension_inches": 2 }
масштаб_стл

Масштабируйте модель STL равномерно или вдоль определенных осей.

{ "stl_path": "/path/to/file.stl", "scale_factor": 1.5 }

Или для неравномерного масштабирования:

{ "stl_path": "/path/to/file.stl", "scale_x": 1.2, "scale_y": 1.0, "scale_z": 1.5 }
вращать_стл

Поворот модели STL вокруг определенных осей (в градусах).

{ "stl_path": "/path/to/file.stl", "rotate_x": 45, "rotate_y": 0, "rotate_z": 90 }
translate_stl

Перемещать модель STL вдоль определенных осей (в миллиметрах).

{ "stl_path": "/path/to/file.stl", "translate_x": 10, "translate_y": 5, "translate_z": 0 }
merge_vertices

Объединить вершины, которые находятся ближе указанного допуска. Помогает закрыть небольшие зазоры и может немного упростить сетку.

{ "stl_path": "/path/to/model.stl", "tolerance": 0.01 // Optional, default = 0.01mm }
центр_модель

Переместите модель так, чтобы центр ее ограничивающей рамки находился в начале координат (0,0,0).

{ "stl_path": "/path/to/model.stl" }
lay_flat

Попытайтесь определить самую большую плоскую поверхность модели (которая еще не обращена прямо вверх или вниз) и поверните модель так, чтобы эта грань была ориентирована вниз на плоскости XY (Z=0). Полезно для ориентации моделей для печати.

{ "stl_path": "/path/to/model.stl" }
изменить_stl_section

Применить определенное преобразование к выбранному разделу файла STL. Это позволяет выполнять детальные модификации определенных частей модели.

{ "stl_path": "/path/to/file.stl", "section": "top", "transformation_type": "scale", "value_x": 1.5, "value_y": 1.5, "value_z": 1.5 }

Для пользовательских границ раздела:

{ "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 }
генерировать_stl_визуализацию

Создайте SVG-визуализацию STL-файла с разных ракурсов (вид спереди, сбоку, сверху и изометрический).

{ "stl_path": "/path/to/file.stl", "width": 400, "height": 400 }
ломтик_стл

Разрежьте STL-файл для генерации G-кода.

{ "stl_path": "/path/to/file.stl", "slicer_type": "prusaslicer", "slicer_path": "/path/to/prusaslicer", "slicer_profile": "/path/to/profile.ini" }
подтвердить_температуры

Подтвердите настройки температуры в файле G-кода.

{ "gcode_path": "/path/to/file.gcode", "extruder_temp": 200, "bed_temp": 60 }
процесс_и_печать_stl

Обработайте файл STL (расширьте базу), нарежьте его, подтвердите температуры и начните печать.

{ "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" }

Примечание: Автоматическая ориентация для оптимальной печати (минимизация поддержек и т. д.) — сложная задача, обычно решаемая графическими интерфейсами слайсеров (например, OrcaSlicer или PrusaSlicer), и не реализованная на этом сервере.

Инструменты управления принтером

получить_статус_принтера

Получите текущий статус 3D-принтера.

{ "host": "192.168.1.100", "type": "octoprint", "api_key": "YOUR_API_KEY" }

Для принтеров Bambu в настоящее время подтверждается только соединение MQTT.

список_файлов_принтера

Список файлов, доступных на принтере.

{ "host": "192.168.1.100", "type": "octoprint", "api_key": "YOUR_API_KEY" }

Для принтеров Bambu выводит список файлов в каталоге gcodes через FTP.

upload_gcode

Загрузите файл G-кода на принтер.

{ "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 }

Для принтеров Bambu, загрузка в каталог gcodes через FTP. Невозможно начать печать автоматически.

начать_печатать

Начните печать файла, который уже находится на принтере.

{ "host": "192.168.1.100", "type": "octoprint", "api_key": "YOUR_API_KEY", "filename": "my_print.gcode" }

Не рекомендуется для принтеров Bambu. Используйте print_3mf для файлов Bambu .3mf .

отменить_печать

Отменить текущее задание на печать.

{ "host": "192.168.1.100", "type": "octoprint", "api_key": "YOUR_API_KEY" }

Для принтеров Bambu отправляет команду stop_print через MQTT.

установить_температуру_принтера

Установите температуру компонента принтера.

{ "host": "192.168.1.100", "type": "octoprint", "api_key": "YOUR_API_KEY", "component": "extruder", "temperature": 200 }

Не поддерживается для принтеров Bambu через прямые команды MQTT.

Инструменты, специфичные для бамбука

Загружает файл .3mf на принтер Bambu через FTP и инициирует задание печати через команду MQTT. Позволяет переопределять некоторые параметры печати, такие как сопоставление AMS.

{ "three_mf_path": "/path/to/your_model.3mf", "host": "your_bambu_ip", // Optional if default is set "bambu_serial": "YOUR_SERIAL", // Optional if default is set "bambu_token": "YOUR_TOKEN", // Optional if default is set // Optional Overrides: "use_ams": true, // Default: true "ams_mapping": [0, 1, 2, 3], // Array of AMS slot indices to use "bed_leveling": true, // Default: true "flow_calibration": false, // Default: false "vibration_calibration": false, // Default: false "timelapse": false // Default: false }

Примечание: Переопределение настроек слайсера, таких как высота слоя или температура, с помощью этого инструмента не поддерживается командой MQTT принтера. Примените эти изменения перед созданием файла .3mf .

Доступные ресурсы

Ресурсы принтера

  • printer://{host}/status - Текущее состояние 3D-принтера (в настоящее время ограничено для Bambu)
  • printer://{host}/files - Список файлов, доступных на 3D-принтере (FTP для Bambu)
  • printer://{host}/file/{filename} — Содержимое определенного файла G-кода (проверяет существование только для Bambu)

Ресурсы предустановок Bambu

Если переменная среды BAMBU_STUDIO_CONFIG_PATH установлена в каталоге пользовательских настроек Bambu Studio, вы можете прочитать сохраненные вами пресеты.

  • preset://bambu/machine/{preset_name} — считывает файл предустановок машины (например, Bambu Lab P1S 0.4 nozzle.json )
  • preset://bambu/filament/{preset_name} — считывает файл предустановок нити (например, Generic PLA.json )
  • preset://bambu/process/{preset_name} — считывает файл предустановок процесса (например, 0.20mm Standard @BBL P1S.json )

Пример использования: «Прочитать содержимое моей предварительной настройки процесса Bambu с именем «0.16mm Optimal @BBL P1S»» (Клод вызвал бы ReadResource с preset://bambu/process/0.16mm Optimal @BBL P1S )

Примеры команд для Клода

Вот несколько примеров команд, которые вы можете дать Клоду после подключения к серверу MCP:

Управление принтером

  • «Каково текущее состояние моего 3D-принтера?»
  • «Покажи мне список файлов на моем принтере».
  • «Загрузите этот G-код на мой принтер: [содержимое G-кода]»
  • «Начать печать файла с именем 'benchy.gcode'».
  • «Отменить текущее задание на печать».
  • «Установите температуру экструдера на 200°C».
  • «Установите температуру кровати на 60°C».

Обработка и печать STL

  • «Возьмите этот STL-файл и удлините основание на 2 дюйма, затем отправьте его на слайсер и поставьте в очередь на моем принтере».
  • «Увеличьте основание model.stl на 1,5 дюйма».
  • «Масштабировать этот STL-файл на 150% равномерно».
  • «Увеличьте ширину model.stl в два раза, но сохраните ту же высоту».
  • «Поверните эту модель на 90 градусов вокруг оси Z».
  • «Переместите эту модель STL на 5 мм вверх, чтобы создать зазор снизу».
  • «Можете ли вы изменить только верхнюю часть этой модели, чтобы сделать ее на 20% больше?»
  • «Проанализируйте этот STL-файл и сообщите мне его размеры и детали».
  • «Создайте визуализацию этого STL-файла, чтобы я мог увидеть, как он выглядит».
  • «Создать SVG-визуализации моей модели с разных ракурсов».
  • «Сделайте основание этой модели шире, не меняя ее высоту».
  • «Нарежьте измененный файл STL с помощью PrusaSlicer».
  • «Убедитесь, что температура в G-коде составляет 200°C для экструдера и 60°C для стола».
  • «Обработайте этот STL-файл, удлините основание на 2 дюйма, разрежьте его и начните печать, но сначала проверьте температуру».
  • «Распечатать ~/Downloads/my_model.3mf на принтере Bambu».
  • «Загрузите ~/Desktop/calibration_cube.3mf в принтер Bambu, используя слоты AMS 0 и 2, и отключите выравнивание платформы».
  • «Отмените задание печати на моем Bambu P1S».
  • «Каковы настройки в моей настройке филамента Bambu «Универсальный PETG»?»
  • «Покажите мне мои настройки процесса Bambu».

Ограничения принтера Bambu Lab

Из-за особенностей API принтера Bambu Lab существуют некоторые ограничения:

  1. Запуск печати : для запуска печати требуется путь к файлу проекта 3MF, имя файла gcode, имя печати и хэш MD5. Упрощенный API на этом сервере пока не поддерживает это полностью.
  2. Контроль температуры : API Bambu не предоставляет прямых методов для установки температур. Для этого потребуются специальные команды G-кода.
  3. Управление файлами : Файлы необходимо загрузить в каталог «gcodes» на принтере.
  4. Безопасность FTP: в настоящее время файловые операции используют FTP-сервер принтера, который может быть незащищенным (обычный FTP).
  5. Переопределение параметров: только параметры, поддерживаемые командой MQTT project_file могут быть переопределены с помощью инструмента print_3mf (например, использование AMS, флаги калибровки). Настройки слайсера, такие как высота слоя или температура, не могут быть изменены во время печати с помощью этой команды.
  6. Обновления статуса: полный мониторинг статуса в реальном времени через MQTT требует дальнейшей реализации.

Ограничения и соображения

Использование памяти

  • Большие файлы STL : Обработка больших или сложных файлов STL может потреблять значительный объем памяти. Вся геометрия STL загружается в память во время операций.
  • Множественные операции : Последовательное выполнение нескольких операций STL (особенно для больших файлов) может привести к накоплению памяти, если сборка мусора не справляется.
  • Среда MCP : Поскольку это работает как сервер MCP, учтите, что среда MCP Клода имеет ограничения памяти. Сложные операции с очень большими файлами STL могут вызвать проблемы с нехваткой памяти.

Ограничения манипуляций STL

  • Модификация секции : Функция модификации, специфичная для секции, лучше всего работает на более простых геометриях. Сложные или не-многообразные сетки могут давать неожиданные результаты.
  • Расширение базы : алгоритм расширения базы работает путем добавления новой геометрии под модель. Для моделей со сложными нижними частями результаты могут быть неидеальными.
  • Обработка ошибок : хотя мы добавили надежную обработку ошибок, некоторые пограничные случаи в сложных файлах STL все еще могут вызывать проблемы.

Ограничения визуализации

  • Представление SVG : Визуализация SVG представляет собой упрощенное схематическое представление, а не настоящую 3D-визуализацию.
  • Сложные модели : для очень сложных моделей визуализация может неточно отображать все детали.

Соображения производительности

  • Операции слайсинга : Внешние процессы слайсинга могут быть ресурсоемкими для ЦП и могут занять значительное время для сложных моделей.
  • Отчеты о ходе выполнения : для больших файлов обновления хода выполнения могут задерживаться на определенных этапах обработки.

Рекомендации по тестированию

  • Начните с небольших файлов STL (< 10 МБ) для проверки функциональности.
  • Мониторинг использования памяти при обработке больших файлов
  • Протестируйте модификации на простых геометрических формах, прежде чем пробовать сложные.
  • Для более масштабных операций рассмотрите возможность работы в системе с объемом оперативной памяти не менее 4 ГБ.

Значки

ЗначокОписание
Текущая версия пакета на npm
Этот проект распространяется по лицензии GPL-2.0
Этот проект написан на TypeScript 4.9+.
Этот проект активно поддерживается
Мы приветствуем вклад через запросы на извлечение.
Требуется Node.js 18.0.0 или выше
Количество загрузок в месяц с npm
Количество звезд GitHub, которые получил этот проект

Лицензия

GPL-2.0

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Обеспечивает взаимодействие с системами управления 3D-принтерами через сервер MCP, поддерживая обработку файлов STL, нарезку и управление такими принтерами, как OctoPrint, Klipper, Duet и другими.

  1. Оглавление
    1. Описание
      1. Функции
        1. Установка
          1. Предпосылки
          2. Установить из npm
          3. Установить из источника
          4. Работа с Docker
        2. Конфигурация
          1. Использование с Claude Desktop
            1. Поддерживаемые системы управления принтерами
              1. OctoPrint
              2. Клиппер (через Moonraker)
              3. Дуэт
              4. Репетитор
              5. Лаборатории Бамбу
              6. Пруса Коннект
              7. Облако Creality
            2. Доступные инструменты
              1. Инструменты для работы с STL
              2. Инструменты управления принтером
              3. Инструменты, специфичные для бамбука
            3. Доступные ресурсы
              1. Ресурсы принтера
              2. Ресурсы предустановок Bambu
            4. Примеры команд для Клода
              1. Управление принтером
              2. Обработка и печать STL
            5. Ограничения принтера Bambu Lab
              1. Ограничения и соображения
                1. Использование памяти
                2. Ограничения манипуляций STL
                3. Ограничения визуализации
                4. Соображения производительности
                5. Рекомендации по тестированию
              2. Значки
                1. Лицензия

                  Related MCP Servers

                  • A
                    security
                    F
                    license
                    A
                    quality
                    An MCP server implementation that enables interaction with the Unstructured API, providing tools to list, create, update, and manage sources, destinations, and workflows.
                    Last updated -
                    39
                    26
                    • Apple
                  • -
                    security
                    A
                    license
                    -
                    quality
                    An MCP server that provides multiple file conversion tools for AI agents, supporting various document and image format conversions including DOCX to PDF, PDF to DOCX, image conversions, Excel to CSV, HTML to PDF, and Markdown to PDF.
                    Last updated -
                    3
                    Python
                    MIT License
                    • Linux
                    • Apple
                  • -
                    security
                    A
                    license
                    -
                    quality
                    An MCP server that enables programmatic interaction with Microsoft Word documents on Windows via COM Interop, allowing operations like document creation, text manipulation, formatting, and table management.
                    Last updated -
                    8
                    TypeScript
                    MIT License
                  • -
                    security
                    F
                    license
                    -
                    quality
                    An MCP server that enables Large Language Models or other MCP clients to interact with Ansys/AGI STK (Systems Tool Kit), allowing users to control STK Desktop simulations programmatically or via natural language.
                    Last updated -
                    2
                    Python

                  View all related MCP servers

                  ID: 7f6v2enbgk