Skip to main content

MCP server and CLI for Anycubic Cloud printers.

Project description

Anycubic Cloud MCP (Kobra 3)

Cloud-backed MCP server and helper scripts for Anycubic printers. This uses the reverse-engineered Anycubic cloud REST API (and MQTT where supported) from the hass-anycubic_cloud integration.

Quick Start

Install from GitHub (recommended):

python3 -m pip install "git+https://github.com/aegis-agent/anycubic-cloud-mcp.git"

Install with pipx (isolated CLI):

pipx install anycubic-cloud-mcp

Or from source:

python3 -m pip install -r requirements.txt
python3 -m pip install -e .

Run the MCP server (stdio transport by default):

anycubic-cloud-mcp

HTTP transport (optional):

anycubic-cloud-mcp --http --host 0.0.0.0 --port 8000

HTTP endpoint: http://<host>:<port>/mcp

Configure auth either via environment variables or the auth_set tool.

Environment variables:

  • ANYCUBIC_AUTH_MODE: slicer (recommended) or web
  • ANYCUBIC_TOKEN: token string
  • ANYCUBIC_DEVICE_ID: only for android auth mode

Token Sources

Slicer Next (recommended)

This enables MQTT logon and better status updates.

Windows (Slicer Next):

  • Config file:
    • %AppData%\AnycubicSlicerNext\AnycubicSlicerNext.conf
  • The access_token value is the token you want.

Extract with the helper script (macOS):

anycubic-slicer-token

Tip: clear access_token in the Slicer config after extracting it to avoid logging out your MCP session when the slicer refreshes.

Web token (REST-only)

  • Go to https://cloud-universe.anycubic.com/file
  • Sign in
  • Open DevTools console
  • Run window.localStorage["XX-Token"]
  • Copy the token string

MCP Tools

Core tools you asked for:

  • printer_list
  • printer_status
  • print_pause, print_resume, print_cancel
  • cloud_file_list, cloud_file_upload, cloud_file_delete
  • print_upload, print_cloud_gcode, print_cloud_file
  • ace_set_slot, ace_feed_filament, ace_retract_filament, ace_set_auto_feed
  • ace_dry_start, ace_dry_stop

Notes:

  • slot_index_list is 1-based. Use 1..4 for a single ACE and 1..8 for dual ACE.
  • For Kobra 3, Slicer Next tokens are currently the most reliable way to keep MQTT working.

Config File

You can save tokens to a local config file using auth_set with save: true. Default path:

  • ~/.config/anycubic-cloud-mcp/config.json

If you prefer a custom path, set:

  • ANYCUBIC_CONFIG_PATH=/path/to/config.json

Installer

The installer supports token extraction on macOS and optional SSH sync.

Token extraction (prints token and syncs config to server):

anycubic-cloud-mcp-install token --ssh agent@aegis

Server setup with systemd (HTTP transport):

sudo anycubic-cloud-mcp-install server --systemd --http --host 0.0.0.0 --port 8000

One-shot installer wrapper (uses REPO_URL):

REPO_URL="https://github.com/aegis-agent/anycubic-cloud-mcp.git" scripts/install.sh token --ssh agent@aegis

Pipx bootstrap:

scripts/install.sh --pipx token --ssh agent@aegis

Pipx upgrade (CLI command):

anycubic-cloud-mcp-install pipx --ensure-path

Agent Integrations

Use the installer to register this MCP server with common agent harnesses. Interactive mode shows a selection menu when --targets is omitted.

anycubic-cloud-mcp-install integrate --targets claude-code claude-desktop codex cursor opencode factory vscode

Menu-driven selection:

anycubic-cloud-mcp-install integrate

File-based installs (edit config files instead of using CLIs/deeplinks):

anycubic-cloud-mcp-install integrate --install-mode file --targets claude-code claude-desktop codex vscode

Copy failed raw commands/config to clipboard:

anycubic-cloud-mcp-install integrate --copy-failures

Project-scope installs (Cursor, OpenCode, Factory, VS Code):

anycubic-cloud-mcp-install integrate --targets cursor opencode factory --scope project --project-dir /path/to/project

FastMCP export

Generate a fastmcp.json plus a proxy shim that FastMCP can run:

anycubic-cloud-mcp-install fastmcp --output fastmcp.json

By default it writes anycubic_fastmcp_proxy.py next to fastmcp.json and adds dependencies for fastmcp + anycubic-cloud-mcp. Override with --proxy-path, --dependency, or --no-default-deps.

Notes:

  • Cursor user-scope installs return a deeplink; add --cursor-open to open it.
  • OpenCode config uses ~/.opencode.json or .opencode.json (project).
  • Factory config uses ~/.factory/mcp.json or .factory/mcp.json (project).
  • Claude Code config defaults to ~/.claude/mcp.json (override with --claude-config-path).
  • Claude Desktop config defaults to ~/.claude/claude_desktop_config.json (override with --claude-desktop-config-path).
  • Codex config defaults to ~/.codex/mcp.json (override with --codex-config-path).
  • Override user config paths with --cursor-config-path, --opencode-config-path, or --factory-config-path.
  • VS Code config uses .vscode/mcp.json (project).

Firmware Note

Firmware version typically does not affect cloud API calls directly, but Anycubic may change auth or API behaviors server-side. If you are stable on 2.4.4.3, you can stay there unless you need fixes in 2.4.5.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

anycubic_cloud_mcp-0.2.6.tar.gz (88.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

anycubic_cloud_mcp-0.2.6-py3-none-any.whl (97.1 kB view details)

Uploaded Python 3

File details

Details for the file anycubic_cloud_mcp-0.2.6.tar.gz.

File metadata

  • Download URL: anycubic_cloud_mcp-0.2.6.tar.gz
  • Upload date:
  • Size: 88.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for anycubic_cloud_mcp-0.2.6.tar.gz
Algorithm Hash digest
SHA256 db42fdcfe97ff1b471ef1e81ce1c43e333ab210daf9867b4fd5cd50ae90fee84
MD5 149ccae9b0388bc0d9ab86c13c3c954a
BLAKE2b-256 7124574985a75cb10d0a7176e18af7533a84946027ed8c90240f203e24a5f962

See more details on using hashes here.

File details

Details for the file anycubic_cloud_mcp-0.2.6-py3-none-any.whl.

File metadata

File hashes

Hashes for anycubic_cloud_mcp-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 9040600d3888ac4beac7ffaeee5b251731cad35fe9e91a170fa12c09ce776053
MD5 c6e2a3a90d6e0b1b0bf657986fa2d913
BLAKE2b-256 d57b8b0f18cc9b4209bb65614eca485604305d74260bc54ed654c5d2b20c6e24

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page