Help us improve
Share bugs, ideas, or general feedback.
From arcane-mcp
This skill should be used when the user asks to manage Docker containers, images, volumes, networks, stacks, environments, or mentions Arcane, Docker management, container operations, image updates, or GitOps workflows.
npx claudepluginhub jmagar/claude-homelab --plugin arcane-mcpHow this skill is triggered — by the user, by Claude, or both
Slash command
/arcane-mcp:arcaneThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**MCP mode** (preferred): Use when `mcp__arcane-mcp__arcane` tool is available.
Builds, runs, and manages containers using the Docker CLI. Automatically activated when image builds, container runs, exec inspections, or registry pushes are needed.
Docker and Podman container management: Dockerfile optimization, multi-stage builds, Compose v2 orchestration, networking, volumes, security hardening, supply chain integrity, health checks, resource limits, Quadlet systemd integration, and debugging. Invoke whenever task involves any interaction with containers — writing Dockerfiles, configuring Compose, managing Podman Quadlets, reviewing container security, debugging container issues, or setting up image signing and scanning.
Documents Docker 2025 features like image type mounts for read-only data sharing, versioned debug endpoints, AI Assistant, Enhanced Container Isolation, and Moby 25. Useful for leveraging latest Docker Engine 28 capabilities.
Share bugs, ideas, or general feedback.
MCP mode (preferred): Use when mcp__arcane-mcp__arcane tool is available.
HTTP fallback: Use when MCP tools are unavailable. Credentials are available in Bash
subprocesses as $CLAUDE_PLUGIN_OPTION_ARCANE_API_URL and $CLAUDE_PLUGIN_OPTION_ARCANE_API_KEY.
Do NOT attempt ${user_config.arcane_api_key} in curl — sensitive values only work
as $CLAUDE_PLUGIN_OPTION_* in Bash subprocesses.
MCP URL: ${user_config.arcane_mcp_url}
Single tool: mcp__arcane-mcp__arcane with action + optional subaction parameters.
mcp__arcane-mcp__arcane
action: "container"
subaction: "list" | "get" | "create" | "start" | "stop" | "restart" | "delete" | "stats"
envId: (required for most subactions) Environment ID
id: (required for get, start, stop, restart, delete, stats) Container ID or name
Note:
container:logsis not available via the Arcane REST API. Use the Arcane web UI or Docker CLI (docker logs <container>) to retrieve container logs.
mcp__arcane-mcp__arcane
action: "image"
subaction: "list" | "get" | "pull" | "delete" | "prune" | "scan"
envId: (required for most subactions) Environment ID
id: (required for get, delete, scan) Image ID or name
mcp__arcane-mcp__arcane
action: "volume"
subaction: "list" | "get" | "create" | "delete" | "prune"
envId: (required for most subactions) Environment ID
id: (required for get, delete) Volume name
name: (required for create) Volume name
mcp__arcane-mcp__arcane
action: "network"
subaction: "list" | "get" | "create" | "delete" | "prune"
envId: (required for most subactions) Environment ID
id: (required for get, delete) Network ID or name
name: (required for create) Network name
mcp__arcane-mcp__arcane
action: "project"
subaction: "list" | "get" | "create" | "update" | "up" | "down" | "restart" | "pull" | "destroy" | "redeploy"
envId: (required for most subactions) Environment ID
id: (required for get, update, up, down, restart, pull, destroy, redeploy) Project ID or name
mcp__arcane-mcp__arcane
action: "environment"
subaction: "list" | "get" | "create" | "update" | "delete" | "test"
id: (required for get, update, delete, test) Environment ID
envId: (alternative for id) Environment ID
name: (required for create) Environment name
mcp__arcane-mcp__arcane
action: "system"
subaction: "info" | "version" | "ping"
The following subactions require confirmation. Will prompt interactively when possible,
or require re-call with params: { confirm: true }:
container:delete — Delete a containercontainer:restart — Restart a containercontainer:stop — Stop a containerenvironment:delete — Remove an environmentimage:delete — Remove an imageimage:prune — Prune unused imagesvolume:delete — Remove a volume and its datavolume:prune — Prune unused volumesnetwork:delete — Remove a networknetwork:prune — Prune unused networksproject:down — Stop and remove a project's containersproject:destroy — Destroy a projectproject:restart — Restart a projectproject:redeploy — Redeploy a projectmcp__arcane-mcp__arcane
action: "container"
subaction: "delete"
envId: (required) Environment ID
id: (required) Container ID or name
params: { confirm: true }
Always confirm with user before executing destructive operations.
# List containers
curl -s "$CLAUDE_PLUGIN_OPTION_ARCANE_API_URL/api/containers" \
-H "X-API-Key: $CLAUDE_PLUGIN_OPTION_ARCANE_API_KEY" | jq .
# Get container details
curl -s "$CLAUDE_PLUGIN_OPTION_ARCANE_API_URL/api/containers/$CONTAINER_ID" \
-H "X-API-Key: $CLAUDE_PLUGIN_OPTION_ARCANE_API_KEY" | jq .
# Start a container
curl -s -X POST "$CLAUDE_PLUGIN_OPTION_ARCANE_API_URL/api/containers/$CONTAINER_ID/start" \
-H "X-API-Key: $CLAUDE_PLUGIN_OPTION_ARCANE_API_KEY" | jq .
| Variable | Purpose |
|---|---|
ARCANE_MCP_TOKEN | Bearer token for MCP server authentication |
ARCANE_API_URL | Base URL of the Arcane service |
ARCANE_API_KEY | API key for Arcane service authentication |
ARCANE_MCP_PORT | Docker host-side port mapping (default: 44332) |
ARCANE_MCP_ALLOW_YOLO | Skip elicitation prompts for destructive ops |
ARCANE_MCP_ALLOW_DESTRUCTIVE | Auto-confirm all destructive ops |