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) orwebANYCUBIC_TOKEN: token stringANYCUBIC_DEVICE_ID: only forandroidauth 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_tokenvalue 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_listprinter_statusprint_pause,print_resume,print_cancelcloud_file_list,cloud_file_upload,cloud_file_deleteprint_upload,print_cloud_gcode,print_cloud_fileace_set_slot,ace_feed_filament,ace_retract_filament,ace_set_auto_feedace_dry_start,ace_dry_stop
Notes:
slot_index_listis 1-based. Use1..4for a single ACE and1..8for 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-opento open it. - OpenCode config uses
~/.opencode.jsonor.opencode.json(project). - Factory config uses
~/.factory/mcp.jsonor.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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| anycubic_cloud_mcp-0.2.6.tar.gz | 88.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.