Skip to main content
Glama
dylansantwani

bambu-cloud-mcp

bambu-cloud-mcp

Controla tus impresoras 3D Bambu Lab desde cualquier cliente MCP — a través de la nube, desde cualquier lugar, con captura en vivo de la cámara interior en tu LAN.

License: MIT Node.js MCP

Un servidor MCP (Model Context Protocol) que permite a un asistente de IA — Claude Code, Claude Desktop o cualquier cliente MCP — supervisar y controlar impresoras Bambu Lab. Se comunica con las impresoras a través de MQTT, ya sea en tu LAN o mediante el broker en la nube de Bambu (us.mqtt.bambulab.com / cn.mqtt.bambulab.com), por lo que el estado y el control funcionan desde cualquier lugar sin poner la impresora en modo solo LAN. Incluye 31 herramientas que cubren estado, control de impresión, temperaturas, AMS/filamento, archivos y una captura en vivo de la cámara interior por LAN.

Por qué este y no otros servidores MCP de Bambu

La mayoría de los servidores MCP de Bambu de la comunidad solo permiten control por LAN o estado en la nube de solo lectura. Este hace dos cosas que normalmente no hacen:

  • Control total en la nube — todos los comandos (pausar, reanudar, detener, ajustar temperatura, cambiar filamento, G-code sin procesar…) funcionan a través de internet, porque el broker MQTT en la nube de Bambu acepta los mismos temas de comando (device/<serial>/request) que el local. Inicia sesión una vez con tu cuenta y tus impresoras vinculadas se conectan automáticamente.

  • Cámara interior en vivoget_camera_frame obtiene una captura JPEG real de las impresoras A1 / A1 Mini / P1P / P1S a través de la LAN y la devuelve como una imagen que tu cliente MCP puede mostrar.

La cámara solo funciona por LAN. Bambu canaliza la transmisión de video en la nube a través de un sistema P2P propietario (TUTK) que no se puede reimplementar en abierto, por lo que la cámara solo funciona cuando tu equipo está en la misma red que la impresora. El estado y el control funcionan desde cualquier lugar.

Related MCP server: 3D Printer MCP Server

Impresoras compatibles

  • Control (LAN + nube): A1, A1 Mini, P1P, P1S, X1C, X1E, H2D y otros modelos actuales.

  • Cámara (solo LAN): A1, A1 Mini, P1P, P1S mediante el protocolo de imagen de cámara del puerto 6000. Las series X1/H2 usan RTSP en su lugar y aún no están integradas — se aceptan PRs.

Herramientas

Las 31 herramientas, agrupadas por área:

Nube

Tool

Description

cloud_status

Estado de inicio de sesión, cuenta, región, caducidad del token, impresoras en la nube conectadas

sync_cloud_printers

Descubre y conecta impresoras vinculadas a tu cuenta a través de la nube

cloud_logout

Borra las credenciales de nube almacenadas y desconecta las impresoras en la nube

Gestión de impresoras

Tool

Description

add_printer

Añade una impresora LAN (IP + código de acceso + número de serie) y conéctala

remove_printer

Elimina una impresora de la flota

reconnect_printer

Restablece la(s) conexión(es) MQTT

list_printers

Lista las impresoras configuradas y su estado de conexión

Estado

Tool

Description

get_status

Progreso de impresión, temperaturas, velocidad, AMS, luces, etapa, etc.

get_version

Versiones de firmware / módulos

Control de impresión

Tool

Description

pause_print / resume_print / stop_print

Controla la impresión activa

start_print

Inicia un archivo .3mf / .gcode que ya está en la tarjeta SD (placa, mapeo de AMS, tipo de cama, opciones de calibración)

start_prints

Inicia el mismo archivo en varias impresoras en paralelo

Hardware

Tool

Description

set_speed

Velocidad de impresión (nombre de perfil o porcentaje)

set_temperature

Temperatura del nozzle / de la cama (con límites de seguridad)

set_light

Luz de la cámara / de trabajo encendida o apagada

set_nozzle

Diámetro del nozzle (para perfiles de laminador)

AMS / filamento

Tool

Description

change_filament

Cargar / cambiar filamento desde una ranura del AMS

unload_filament

Descargar el filamento actual

G-code

Tool

Description

send_gcode

Envía G-code sin procesar (algunos comandos peligrosos están bloqueados)

skip_objects

Omite objetos en una impresión de varios objetos

Archivos (LAN, FTPS)

Tool

Description

list_files

Lista los archivos de la tarjeta SD de la impresora

upload_file

Sube un archivo a la tarjeta SD

download_file

Descarga un archivo de la tarjeta SD

delete_file

Elimina un archivo de la tarjeta SD

Cámara (solo LAN)

Tool

Description

get_camera_frame

Captura un JPEG en vivo de la cámara interior, devuelto como imagen

set_camera_access

Almacena el código de acceso LAN de una impresora (y la IP opcional) para la cámara

set_recording

Activa o desactiva la grabación en tarjeta SD

set_timelapse

Activa o desactiva el time-lapse

Firma

Tool

Description

sign_message

Firma de mensajes X.509 para firmware posterior a enero de 2025 que requiere autenticación con certificado

Requisitos

  • Node.js 18+

  • Para el control en la nube: una cuenta de Bambu Lab (a la que estén vinculadas tus impresoras). No se necesita token de desarrollador: inicia sesión con un código enviado por correo, contraseña o 2FA.

  • Para la cámara: tu equipo en la misma LAN que la impresora, con "LAN Mode Liveview" activado en la impresora (Ajustes). Esto es independiente del modo solo LAN completo, por lo que la aplicación Bambu Handy sigue funcionando.

Instalación

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

Esto compila TypeScript a dist/. El punto de entrada de MCP es dist/index.js.

Configuración

Registra el servidor en tu cliente MCP

Claude Code (ámbito de usuario — disponible en todos los proyectos):

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

Claude Desktop — añádelo a claude_desktop_config.json:

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

Reinicia el cliente (o inicia una nueva sesión) para que detecte el servidor.

Variables de entorno

Todas son opcionales:

Variable

Purpose

BAMBU_MCP_CONFIG_DIR

Directorio para la configuración en tiempo de ejecución y las credenciales. Valor predeterminado: ~/.bambu-mcp.

BAMBU_APP_PRIVATE_KEY

Sustituye la clave privada X.509 incluida que usa sign_message.

BAMBU_APP_CERTIFICATE

Sustituye el certificado X.509 incluido que usa sign_message.

Para establecer el directorio de configuración en un cliente, añade un bloque env a la entrada del servidor:

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

Inicio de sesión en la nube (para control remoto)

Ejecuta el inicio de sesión interactivo en tu propio terminal (necesita mostrarte avisos, por lo que no puede ejecutarse dentro del cliente MCP):

npm run login
  • Elige tu región (EE. UU. por defecto).

  • Introduce el correo de tu cuenta.

  • Elige el método 1 (código por correo) — no se necesita contraseña; se te envía un código de un solo uso por correo. También se admiten contraseña y TOTP-2FA.

Las credenciales se escriben en ~/.bambu-mcp/cloud.json (modo 0600). Tu contraseña, si usas una, solo se envía al endpoint de inicio de sesión de Bambu — nunca se almacena. En el siguiente inicio del servidor, tus impresoras vinculadas se descubren y conectan automáticamente a través de la nube; también puedes activar esto en cualquier momento con la herramienta sync_cloud_printers.

Acceso a la cámara (opcional, solo LAN)

La cámara necesita el código de acceso LAN de 8 caracteres de cada impresora (pantalla de la impresora → Ajustes → WLAN). Guárdalo una vez con la herramienta set_camera_access (o simplemente pídele a tu asistente que lo haga). La IP LAN de la impresora se detecta automáticamente a partir de su estado, por lo que no necesitas fijarla manualmente. Luego get_camera_frame devuelve una captura en vivo.

Uso

Una vez que el servidor esté registrado y hayas iniciado sesión, habla con tu asistente en lenguaje natural. Ejemplos:

  • "Lista mis impresoras Bambu y muestra su estado."

  • "¿Cómo va el progreso de la impresión en mi P1S?"

  • "Pausa la impresión en la impresora mini-1."

  • "Ajusta la temperatura del nozzle de mi X1C a 220 °C."

  • "Muéstrame una captura de cámara de la A1."

  • "Inicia benchy.3mf en todas mis impresoras."

  • "Descarga el filamento y luego carga la ranura 2."

Para añadir una impresora solo LAN directamente (sin cuenta en la nube): "Añade una impresora en 192.168.1.50 con código de acceso 12345678 y número de serie 01P00A123456789."

Cómo funciona

El mode de una impresora decide cómo se conecta su cliente MQTT:

  • Modo LAN se conecta a la IP de la impresora con el nombre de usuario bblp + el código de acceso de la impresora.

  • Modo nube se conecta a us.mqtt.bambulab.com (o cn. para China) con el nombre de usuario u_<uid> + el token de tu cuenta.

Los temas de comando (device/<serial>/request y /report) son idénticos en ambos, por eso cada herramienta de control funciona igual en la nube que en la LAN. Las operaciones de archivos usan FTPS (basic-ftp), y la cámara interior habla directamente el protocolo de imagen TLS del puerto 6000 de la impresora (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

Todas las credenciales permanecen locales en ~/.bambu-mcp/ (cloud.json, cameras.json, printers.json), escritas con modo 0600 e ignoradas por git. No se envía nada a ningún sitio excepto a la propia API y al broker MQTT de Bambu.

Solución de problemas

  • Error 403 al iniciar sesión en la nube — la API de Bambu está detrás de Cloudflare; espera un momento y vuelve a intentarlo.

  • sync_cloud_printers devuelve 0 impresoras — has iniciado sesión en una cuenta sin impresoras vinculadas. Inicia sesión con la cuenta que usa tu aplicación Bambu Handy.

  • Cámara ECONNREFUSED — "LAN Mode Liveview" no está activado en esa impresora, o la impresora está sin conexión (la IP se detecta automáticamente a partir del estado).

  • Tiempo de espera de la cámara — tu equipo no está en la misma red que la impresora. La cámara solo funciona por LAN.

  • connack timeout / ECONNRESET en LAN — una impresora Bambu solo permite un cliente MQTT local; cierra BambuStudio / OrcaSlicer / Home Assistant y vuelve a intentarlo.

Contribuciones

Las contribuciones son bienvenidas — consulta CONTRIBUTING.md para la configuración de desarrollo, los pasos de compilación y la convención de Conventional Commits. Si usas un agente de codificación con IA, AGENTS.md contiene notas específicas del repositorio.

Créditos

  • Base de control LAN: griches/bambu-mcp — la capa de control MQTT original y el conjunto de herramientas local del que este proyecto hace fork y sobre el que se construye.

  • Control en la nube, inicio de sesión sin contraseña y captura de cámara LAN son adiciones originales de este fork.

  • Los detalles del protocolo de nube se basan en ha-bambulab / pybambu; el protocolo de cámara sigue la ingeniería inversa de la comunidad documentada en los foros de Bambu Lab.

Licencia

MIT. La base upstream (griches/bambu-mcp) no publica una licencia explícita; este fork la atribuye de manera destacada y licencia bajo MIT las adiciones originales. Si eres el autor upstream y prefieres un tratamiento diferente, abre un 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