Arcane MCP

by mikecase

Not rated
GitHub

About

MCP Server for interacting with the Arcane API

Details

Author
mikecase
Categories
Productivity, API

Setup

Install Arcane MCP in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/mikecase/arcane-mcp

Follow the installation instructions in the repository README, then restart your MCP client.

An MCP server that exposesArcaneDocker management capabilities to AI agents via the Model Context Protocol. Built with FastMCP.

Covers the core Docker management API: containers, images, volumes, networks, Compose projects, registries, vulnerability scanning, port mappings, webhooks, system management, updater, activities/events, and environment management.

Not on PyPI. Install directly from GitHub:

# pip pip install git+https://github.com/MikeCase/arcane-mcp.git # uv uv tool install git+https://github.com/MikeCase/arcane-mcp.git # or clone and install locally git clone https://github.com/MikeCase/arcane-mcp.git cd arcane-mcp uv sync

Set these environment variables (or put them in a.envfile in the working directory):

ARCANE_API_KEY=arc_your_api_key_here ARCANE_BASE_URL=http://localhost:3552
{ "mcp": { "arcane-docker": { "type": "local", "command": ["arcane-mcp"], "env": { "ARCANE_API_KEY": "arc_your_key_here", "ARCANE_BASE_URL": "http://localhost:3552" } } } }

Or set environment variables globally and omit them from the config.

list_containers, inspect_container, create_container, start_container, stop_container, restart_container, kill_container, pause_container, unpause_container, remove_container, redeploy_container, commit_container, update_container, set_container_auto_update, exec_in_container, get_container_logs, get_container_stats, get_container_counts

list_images, inspect_image, pull_image, remove_image, tag_image, prune_images, get_image_counts, build_image, search_images, upload_image, get_image_history, get_image_export, get_image_attestations, scan_image_vulnerabilities, get_image_vulnerabilities, get_vulnerability_summary, check_image_update, check_all_image_updates, get_image_update_summary

list_volumes, create_volume, inspect_volume, remove_volume, prune_volumes, get_volume_counts, get_volume_sizes, get_volume_usage, list_volume_backups, create_volume_backup, restore_volume_backup, delete_volume_backup, download_volume_backup, browse_volume, read_volume_file, create_volume_directory, upload_to_volume, delete_volume_file

list_projects, get_project, deploy_project, redeploy_project, remove_project, update_project, get_project_counts, project_down, restart_project, build_project, archive_project, unarchive_project, pull_project_images, get_project_compose, get_project_file, update_project_services, get_project_runtime

list_networks, create_network, inspect_network, remove_network, connect_container_to_network, disconnect_container_from_network, prune_networks, get_network_counts, get_network_topology

list_environments, get_environment, create_environment, update_environment, remove_environment

get_docker_info, get_docker_version, prune_system, get_system_health, check_system_upgrade, trigger_upgrade, start_all_containers, start_stopped_containers, stop_all_containers

list_activities, get_activity, cancel_activity, clear_activity_history, list_events, get_environment_events, delete_event

list_registries, create_registry, get_registry, update_registry, delete_registry, test_registry

get_vulnerability_summary_all, list_all_vulnerabilities, ignore_vulnerability, list_ignored_vulnerabilities, unignore_vulnerability, get_scanner_status

trigger_webhook, list_webhooks, create_webhook, update_webhook, delete_webhook

run_updater, get_updater_status, get_updater_history

All resource tools acceptenv_id: str = "0"to target a specific Arcane environment (local Docker is "0", remote agents use UUIDs). Remote agent operations can passagent_token: str | Nonefor authentication via theX-Arcane-Agent-Tokenheader.

Destructive operations use athree-layer safety system:

1. Confirmation tokens (two-step handshake)

Every tool that removes, prunes, kills, restores, or overwrites returns a short-livedconfirmation_tokeninstead of executing. The agent must callconfirm_operation(token)as a separate tool call to proceed. Tokens expire after 120 seconds.

remove_container("my-app") → {"warning": "...", "confirmation_token": "a1b2c3d4e5f6", "target": "my-app"} confirm_operation(token="a1b2c3d4e5f6") → {"success": true, ...}

This prevents an agent from blasting through a safety gate in one call — it must stop, process the warning, and make a second call.

Prune operations (prune_images,prune_volumes,prune_networks,prune_system,clear_activity_history) default todry_run=True, showing what would be affected without making changes:

prune_images() → {"dry_run": true, "warning": "Dry-run. Set dry_run=False to proceed.", "target": "all"} prune_images(dry_run=False) → {"warning": "...", "confirmation_token": "..."}

Every confirmed destructive operation is recorded to a structured JSON-lines audit log. Read it anytime:

read_audit_log(lines=10) → [{"timestamp": "2026-06-29T...", "action": "remove_container", "target": "my-app", "env_id": "0"}]

SetARCANE_MCP_AUDIT_LOGenvironment variable to change the log file path (default:~/.arcane-mcp-audit.log).

git clone https://github.com/MikeCase/arcane-mcp.git cd arcane-mcp uv sync uv run fastmcp run src/arcane_mcp/server.py

Magica is your all-in-one AI platform, offering 2500+ cutting-edge tools under a single subscription.

Turn your Make scenarios into callable tools for AI assistants.

Dynamically search and call tools using UnifAI Network

Connect your AI Agents to 8,000 apps instantly.

Interact with your Anytype data through its API, enabling AI assistants to access your information.

MCP server exposing 10 APITier utility APIs as AI agent tools

Connect AI assistants to Automatisch for workflow automation.

Access data from the Bakaláři school system, including schedules, absences, and grades, through a standardized API.

Provides secure, read-write access to Breathe HR data for AI assistants.

MCP server for Brightspace (D2L): check grades, due dates, announcements, rosters & more using Claude, ChatGPT, Cursor, or any MCP client.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.