Skip to main content
Glama
dylansantwani

bambu-cloud-mcp

bambu-cloud-mcp

Управляйте своими 3D-принтерами Bambu Lab из любого MCP-клиента — через облако, откуда угодно, с захватом изображения с камеры камеры в реальном времени в вашей локальной сети.

License: MIT Node.js MCP

Сервер MCP (Model Context Protocol), который позволяет ИИ-ассистенту — Claude Code, Claude Desktop или любому MCP-клиенту — отслеживать и управлять принтерами Bambu Lab. Он общается с принтерами через MQTT либо в вашей локальной сети, либо через облачный брокер Bambu (us.mqtt.bambulab.com / cn.mqtt.bambulab.com), поэтому статус и управление работают откуда угодно без перевода принтера в режим «только LAN». Он включает 31 инструмент, охватывающий статус, управление печатью, температуры, AMS/филамент, файлы и снимок камеры камеры в реальном времени в локальной сети.

Почему это лучше других MCP-серверов Bambu

Большинство MCP-серверов Bambu от сообщества поддерживают только LAN-управление или только чтение облачного статуса. Этот делает две вещи, которые они обычно не делают:

  • Полное облачное управление — каждая команда (пауза, возобновление, остановка, установка температуры, смена филамента, сырой G-code…) работает через интернет, потому что облачный MQTT-брокер Bambu принимает те же темы команд (device/<serial>/request), что и локальный. Войдите один раз со своей учётной записью, и ваши привязанные принтеры автоматически подключатся.

  • Живая камера камерыget_camera_frame получает реальный JPEG-снимок с принтеров A1 / A1 Mini / P1P / P1S через локальную сеть и возвращает его как изображение, которое ваш MCP-клиент может отобразить.

Камера работает только в локальной сети. Bambu туннелирует облачную видеопередачу через проприетарную P2P-систему (TUTK), которую невозможно перереализовать в открытом виде, поэтому камера работает только когда ваша машина находится в той же сети, что и принтер. Статус и управление работают откуда угодно.

Related MCP server: 3D Printer MCP Server

Поддерживаемые принтеры

  • Управление (LAN + облако): A1, A1 Mini, P1P, P1S, X1C, X1E, H2D и другие текущие модели.

  • Камера (только LAN): A1, A1 Mini, P1P, P1S через протокол изображения камеры на порту 6000. Серии X1/H2 используют RTSP и пока не подключены — PR приветствуются.

Инструменты

Все 31 инструмент, сгруппированные по областям:

Облако

Инструмент

Описание

cloud_status

Статус входа, учётная запись, регион, срок действия токена, подключённые облачные принтеры

sync_cloud_printers

Обнаружение и подключение принтеров, привязанных к вашей учётной записи, через облако

cloud_logout

Очистить сохранённые облачные учётные данные и отключить облачные принтеры

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

Инструмент

Описание

add_printer

Добавить LAN-принтер (IP + код доступа + серийный номер) и подключиться

remove_printer

Удалить принтер из парка

reconnect_printer

Переустановить MQTT-соединение(я)

list_printers

Список настроенных принтеров и статус подключения

Статус

Инструмент

Описание

get_status

Прогресс печати, температуры, скорость, AMS, освещение, стадия и т.д.

get_version

Версии прошивки / модулей

Управление печатью

Инструмент

Описание

pause_print / resume_print / stop_print

Управление активной печатью

start_print

Запуск файла .3mf / .gcode, уже находящегося на SD-карте (пластина, сопоставление AMS, тип стола, параметры калибровки)

start_prints

Запуск одного и того же файла на нескольких принтерах параллельно

Оборудование

Инструмент

Описание

set_speed

Скорость печати (имя профиля или процент)

set_temperature

Температура сопла / стола (с ограничениями безопасности)

set_light

Камерное / рабочее освещение вкл/выкл

set_nozzle

Диаметр сопла (для профилей слайсера)

AMS / филамент

Инструмент

Описание

change_filament

Загрузить / переключить филамент из слота AMS

unload_filament

Выгрузить текущий филамент

G-code

Инструмент

Описание

send_gcode

Отправить сырой G-code (некоторые опасные команды заблокированы)

skip_objects

Пропустить объекты в многообъектной печати

Файлы (LAN, FTPS)

Инструмент

Описание

list_files

Список файлов на SD-карте принтера

upload_file

Загрузить файл на SD-карту

download_file

Скачать файл с SD-карты

delete_file

Удалить файл с SD-карты

Камера (только LAN)

Инструмент

Описание

get_camera_frame

Захватить живой JPEG с камеры камеры, возвращается как изображение

set_camera_access

Сохранить LAN-код доступа принтера (и необязательный IP) для камеры

set_recording

Переключить запись на SD-карту

set_timelapse

Переключить таймлапс

Подпись

Инструмент

Описание

sign_message

Подпись сообщений X.509 для прошивок после января 2025 года, требующих аутентификации по сертификату

Требования

  • Node.js 18+

  • Для облачного управления: учётная запись Bambu Lab (та, к которой привязаны ваши принтеры). Токен разработчика не нужен — вы входите с помощью кода, отправленного по электронной почте, пароля или 2FA.

  • Для камеры: ваша машина в той же локальной сети, что и принтер, с включённым «LAN Mode Liveview» на принтере (Настройки). Это не зависит от полного режима «только LAN», поэтому приложение Bambu Handy продолжает работать.

Установка

git clone https://github.com/dylansantwani/bambu-cloud-mcp.git
cd bambu-cloud-mcp
npm install
npm run build

Это компилирует TypeScript в dist/. Точка входа MCP — dist/index.js.

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

Зарегистрируйте сервер в вашем MCP-клиенте

Claude Code (область пользователя — доступно в каждом проекте):

claude mcp add bambu -s user -- node /absolute/path/to/bambu-cloud-mcp/dist/index.js

Claude Desktop — добавьте в claude_desktop_config.json:

{
  "mcpServers": {
    "bambu": {
      "command": "node",
      "args": ["/absolute/path/to/bambu-cloud-mcp/dist/index.js"]
    }
  }
}

Перезапустите клиент (или начните новую сессию), чтобы он подхватил сервер.

Переменные окружения

Все необязательны:

Переменная

Назначение

BAMBU_MCP_CONFIG_DIR

Каталог для конфигурации и учётных данных во время выполнения. По умолчанию: ~/.bambu-mcp.

BAMBU_APP_PRIVATE_KEY

Переопределить встроенный закрытый ключ X.509, используемый sign_message.

BAMBU_APP_CERTIFICATE

Переопределить встроенный сертификат X.509, используемый sign_message.

Чтобы задать каталог конфигурации в клиенте, добавьте блок env в запись сервера:

{
  "mcpServers": {
    "bambu": {
      "command": "node",
      "args": ["/absolute/path/to/bambu-cloud-mcp/dist/index.js"],
      "env": {
        "BAMBU_MCP_CONFIG_DIR": "/absolute/path/to/config"
      }
    }
  }
}

Облачный вход (для удалённого управления)

Запустите интерактивный вход в вашем собственном терминале (ему нужно запрашивать у вас ввод, поэтому он не может работать внутри MCP-клиента):

npm run login
  • Выберите свой регион (по умолчанию США).

  • Введите email вашей учётной записи.

  • Выберите метод 1 (код по email) — пароль не нужен; одноразовый код будет отправлен вам по электронной почте. Пароль и TOTP-2FA также поддерживаются.

Учётные данные записываются в ~/.bambu-mcp/cloud.json (режим 0600). Ваш пароль, если вы его используете, отправляется только на конечную точку входа Bambu — никогда не сохраняется. При следующем запуске сервера ваши привязанные принтеры автоматически обнаруживаются и подключаются через облако; вы также можете запустить это в любой момент с помощью инструмента sync_cloud_printers.

Доступ к камере (необязательно, только LAN)

Камере нужен 8-символьный LAN-код доступа каждого принтера (экран принтера → Настройки → WLAN). Сохраните его один раз с помощью инструмента set_camera_access (или просто попросите вашего ассистента). LAN-IP принтера автоматически определяется из его статуса, поэтому вам не нужно его жёстко прописывать. Затем get_camera_frame возвращает живой снимок.

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

После того как сервер зарегистрирован и вы вошли, общайтесь с ассистентом на простом языке. Примеры:

  • «Список моих принтеров Bambu и покажи их статус.»

  • «Какой прогресс печати на моём P1S?»

  • «Поставь на паузу печать на принтере mini-1

  • «Установи температуру сопла на моём X1C на 220°C.»

  • «Покажи мне снимок камеры A1.»

  • «Запусти benchy.3mf на всех моих принтерах.»

  • «Выгрузи филамент, затем загрузи слот 2.»

Чтобы добавить принтер только через LAN (без облачной учётной записи): «Добавь принтер по адресу 192.168.1.50 с кодом доступа 12345678 и серийным номером 01P00A123456789.»

Как это работает

Режим mode принтера определяет, как его MQTT-клиент подключается:

  • LAN-режим подключается к IP-адресу принтера с именем пользователя bblp и кодом доступа принтера.

  • Облачный режим подключается к us.mqtt.bambulab.com (или cn. для Китая) с именем пользователя u_<uid> и токеном вашей учётной записи.

Темы команд (device/<serial>/request и /report) идентичны в обоих случаях, поэтому каждый инструмент управления работает одинаково через облако и через LAN. Файловые операции используют FTPS (basic-ftp), а камера камеры напрямую общается с принтером по TLS-протоколу изображения на порту 6000 (camera-client.ts).

src/
  index.ts            MCP server entry; registers tools, auto-connects on startup
  fleet-manager.ts    Multi-printer connection manager (LAN + cloud branches)
  mqtt-client.ts      Bambu MQTT protocol (status + all control commands)
  bambu-cloud.ts      Cloud API: login, email-code/2FA, device discovery, refresh
  cloud-store.ts      ~/.bambu-mcp/cloud.json credential store
  login-cli.ts        Interactive `npm run login`
  camera-client.ts    LAN chamber-image capture (TLS port 6000 → JPEG)
  camera-store.ts     ~/.bambu-mcp/cameras.json access-code store
  ftp-client.ts       FTPS file operations
  tools/              One file per tool group

Все учётные данные остаются локальными в ~/.bambu-mcp/ (cloud.json, cameras.json, printers.json), записываются с правами 0600 и игнорируются git. Ничего не отправляется никуда, кроме собственных API и MQTT-брокера Bambu.

Устранение неполадок

  • Ошибка 403 при облачном входе — API Bambu находится за Cloudflare; подождите немного и повторите попытку.

  • sync_cloud_printers возвращает 0 принтеров — вы вошли в учётную запись без привязанных принтеров. Войдите с учётной записью, которую использует ваше приложение Bambu Handy.

  • Камера ECONNREFUSED — на этом принтере не включён «LAN Mode Liveview», или принтер не в сети (IP автоматически определяется из статуса).

  • Таймаут камеры — ваша машина не в той же сети, что и принтер. Камера работает только в локальной сети.

  • connack timeout / ECONNRESET в LAN — принтер Bambu допускает только один локальный MQTT-клиент; закройте BambuStudio / OrcaSlicer / Home Assistant и повторите попытку.

Вклад

Вклад приветствуется — см. CONTRIBUTING.md для настройки разработки, шагов сборки и соглашения о Conventional Commits. Если вы используете ИИ-агента для кодирования, в AGENTS.md есть заметки, специфичные для репозитория.

Благодарности

  • База управления по LAN: griches/bambu-mcp — исходный уровень управления MQTT и локальный набор инструментов, на основе которых этот проект создан и развивается.

  • Облачное управление, вход без пароля и захват камеры по LAN — оригинальные дополнения в этом форке.

  • Детали облачного протокола основаны на ha-bambulab / pybambu; протокол камеры — на реверс-инжиниринге сообщества, описанном на форумах Bambu Lab.

Лицензия

MIT. Исходная база (griches/bambu-mcp) не публикует явную лицензию; этот форк явно указывает её и лицензирует оригинальные дополнения под MIT. Если вы автор исходного проекта и хотите другого подхода, пожалуйста, откройте issue.

Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.

  • Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.

  • Connect MCP clients to 2,000+ AI models without managing provider API keys.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dylansantwani/bambu-cloud-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server