Skip to main content

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.

Metadata

Release files for anycubic-cloud-mcp 0.2.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for anycubic-cloud-mcp 0.2.6
File Size Uploaded Provenance
anycubic_cloud_mcp-0.2.6.tar.gz 88.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for anycubic-cloud-mcp 0.2.6
File Interpreter ABI Platform
anycubic_cloud_mcp-0.2.6-py3-none-any.whl Python 3 none any Details

Total release size: 185.4 kB

Release files / anycubic_cloud_mcp-0.2.6.tar.gz

Download URL anycubic_cloud_mcp-0.2.6.tar.gz
Size 88.3 kB
Tags Source
SHA-256 checksum
How to use checksums
db42fdcfe97ff1b471ef1e81ce1c43e333ab210daf9867b4fd5cd50ae90fee84
BLAKE2b-256 checksum
How to use checksums
7124574985a75cb10d0a7176e18af7533a84946027ed8c90240f203e24a5f962
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / anycubic_cloud_mcp-0.2.6-py3-none-any.whl

Download URL anycubic_cloud_mcp-0.2.6-py3-none-any.whl
Size 97.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9040600d3888ac4beac7ffaeee5b251731cad35fe9e91a170fa12c09ce776053
BLAKE2b-256 checksum
How to use checksums
d57b8b0f18cc9b4209bb65614eca485604305d74260bc54ed654c5d2b20c6e24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Security for anycubic-cloud-mcp 0.2.6

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page