Arcane mcp server
Skill RandomSynergy17/Arcane-MCP-Server/skills/arcane-mcp-server
Manages Docker infrastructure via 180+ Arcane MCP tools. Use when working with Docker containers, images, volumes, networks, stacks, Compose projects, Swarm services, registries, or environments. Covers deployment, rollback, troubleshooting, cleanup, GitOps sync, auto-updates, vulnerability scanning, image builds, and backup operations. Activates when arcane_* tools are available.From its SKILL.md
npx -y skills add RandomSynergy17/Arcane-MCP-Server --skill arcane-mcp-serverAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 13 stars13 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
8.4 KB, as published. Nobody here has run it
Arcane Docker Management
Guides effective use of the Arcane MCP server's 180+ tools for Docker infrastructure management. This skill activates when users ask about Docker operations and arcane_* tools are available.
Announce: "Using the arcane-mcp-server skill to guide this Docker operation."
Prerequisites
Before any operation, you need an environment ID. If the user hasn't specified one:
- Call
arcane_environment_listto show available environments - If only one exists, use it automatically
- If multiple exist, ask which one
- If
ARCANE_DEFAULT_ENVIRONMENT_IDis configured, use that as fallback
Intent Mapping
When the user says something general, map it to the right tool sequence:
| User says | Tools to use |
|---|---|
| "What's running?" / "Show me my containers" | arcane_container_list |
| "How's everything looking?" / "Status" | arcane_dashboard_get then arcane_dashboard_get_action_items |
| "Deploy this compose file" | arcane_project_create then arcane_project_up |
| "Update everything" | arcane_image_update_check_all then arcane_updater_run (with dryRun: true first) |
| "What needs attention?" | arcane_dashboard_get_action_items |
| "Is anything vulnerable?" | arcane_vulnerability_get_environment_summary |
| "Set up a new stack" | arcane_project_create with compose YAML |
| "Scale this up" | arcane_swarm_scale_service (swarm) or redeploy with updated config (compose) |
| "Something's broken" / "Debug" | See Troubleshooting workflow below |
| "Clean up" / "Free space" | See Cleanup workflow below |
| "Show me the ports" | arcane_port_list |
| "Connect a new registry" | arcane_registry_create |
Core Workflows
Safe Deployment
Always follow this sequence for deploying or updating projects:
- Check current state —
arcane_project_getto see what's running - Pull images first —
arcane_project_pull_imagesto fetch latest - Deploy —
arcane_project_uporarcane_project_redeploy - Verify —
arcane_container_listto confirm containers are running
For updates to running stacks:
arcane_image_update_check_all— see what has updatesarcane_project_pull_images— pull new imagesarcane_project_redeploy— recreate with new imagesarcane_container_list— verify healthy state
Rollback
If a deployment goes wrong:
arcane_project_down— stop the broken deployment- Fix the compose content or roll back the image tag
arcane_project_updatewith corrected compose YAMLarcane_project_up— redeploy
Troubleshooting
When something is broken, investigate systematically:
- Dashboard first —
arcane_dashboard_get+arcane_dashboard_get_action_items - Container state —
arcane_container_listto find stopped/unhealthy containers - Container detail —
arcane_container_geton the suspect container - Port conflicts —
arcane_port_listif networking issues suspected - Vulnerability check —
arcane_vulnerability_get_environment_summaryif security related
Cleanup
Free disk space safely:
arcane_image_prune— remove unused images (safe)arcane_network_prune— remove unused networks (safe)arcane_volume_prune— remove unused volumes (confirm with user first — data loss risk)arcane_system_prune— nuclear option, always confirm before running
GitOps Sync
For Git-based deployments:
arcane_git_repo_list— check configured reposarcane_git_repo_test— verify connectivityarcane_gitops_create— set up the sync with branch, path, and optionalfoldersarcane_gitops_sync— trigger initial syncarcane_gitops_get_status— verify it succeeded
Swarm Operations
For Docker Swarm clusters:
- Cluster setup —
arcane_swarm_init_cluster(first node) orarcane_swarm_join_cluster(additional nodes) - Deploy services —
arcane_swarm_create_servicewith replicas, ports, networks - Scale —
arcane_swarm_scale_serviceto adjust replica count - Monitor —
arcane_swarm_list_services+arcane_swarm_get_servicefor task status - Logs —
arcane_swarm_get_service_logsfor debugging
Auto-Update Management
Set up hands-off container updates:
arcane_updater_get_status— check current schedulearcane_container_set_auto_update— enable per-containerarcane_updater_runwithdryRun: true— preview what would updatearcane_updater_run— execute updatesarcane_updater_get_history— review what was updated
Safety Rules
Before Destructive Operations
Always do these before running destructive tools:
| Tool | Pre-flight check |
|---|---|
arcane_container_delete | Confirm container name with user. Ask about volumes flag. |
arcane_volume_delete | Warn about data loss. Suggest arcane_volume_backup_create first. |
arcane_volume_prune | List volumes first with arcane_volume_list. Get explicit confirmation. |
arcane_project_destroy | Show project name and service count. Warn about removeVolumes. |
arcane_system_prune | Explain this removes ALL unused resources. Get explicit "yes". |
arcane_swarm_leave_cluster | Warn this disconnects from the cluster. Confirm force for managers. |
arcane_swarm_init_cluster | Confirm this is a new cluster, not joining existing. |
Never Do
- Never run
arcane_system_prunewithout explicit user confirmation - Never delete volumes without offering to back them up first
- Never run
arcane_updater_runwithoutdryRun: truefirst (unless user explicitly says to just do it) - Never assume an environment ID — always verify or list them
- Never expose API keys, tokens, or passwords in tool output summaries
Credential Handling
When creating registries (arcane_registry_create) or git repos (arcane_git_repo_create):
- Never echo back passwords or tokens in your response
- Mask sensitive values: "Registry created with credentials for user ***"
- For ECR: remind users that AWS credentials should use IAM roles when possible
Gotchas
environmentIdis required for almost every tool. Container registries and git repositories are the exceptions — they're global.arcane_updater_runwithoutdryRun: truewill immediately update containers. Always dry-run first unless the user explicitly says otherwise.- Volume prune deletes data permanently. Always offer backup via
arcane_volume_backup_createbefore pruning. - Swarm manager nodes require
force: trueto leave a cluster. Worker nodes do not. - ECR registry credentials expire. Remind users to use IAM roles when possible.
- The webhook update endpoint uses PATCH, not PUT. The
arcane_webhook_updatetool handles this correctly. - Pagination defaults to 20 items. Use
limit: 100for larger listings. arcane_project_createaccepts adirectoryparameter for nested/symlinked project paths.- Image builds support both inline Dockerfile content and Git URL context — use
arcane_build_image. - Use
arcane_dashboard_getas the first tool for any "what's the status?" question — it returns everything in one call.
Quick Reference
Container Lifecycle
create -> start -> stop -> restart -> update -> delete
\-> redeploy
Project Lifecycle
create -> up -> restart -> redeploy -> down -> destroy
\-> pull_images (before redeploy)
Swarm Service Lifecycle
create -> scale -> update -> delete
\-> get_logs (anytime)
Common Parameter Patterns
Pagination — Most list tools accept:
search— filter by name/contentsort— column to sort byorder—"asc"or"desc"start— offset (default 0)limit— page size (default 20, max 100)
Environment scoping — Most tools require environmentId as the first parameter. Container registries and git repositories are global (no environment ID needed).