list_containersLABSCO SUMMARY
The safety handshake is what makes 125 tools sane.
A model with remove_container and prune_system in reach is a bad afternoon waiting to happen; here those calls return a token and a warning instead of doing anything, and the agent has to stop and make a second call to proceed. Prune tools going dry-run by default and an audit log for every confirmed action are the same idea applied twice more.
What it is
A Python server that exposes the Arcane Docker management API to an agent: containers, images, volumes, networks, Compose projects, registries, vulnerability scanning, webhooks, the updater, and system management. Built with FastMCP.
What you get
- 125 tools across 14 modules — Containers (18), Images (19), Volumes (18), Projects/Compose (17), Networks (9), System (9), Activities & Events (7), Registries (6), Vulnerabilities (6), Environments (5), Webhooks (5), Updater (3), Ports (1), Operations/Safety (2)
- Every tool that removes, prunes, kills, restores or overwrites returns a
confirmation_tokeninstead of executing; the agent must callconfirm_operationseparately, and the token expires after 120 seconds - Prune tools —
prune_images,prune_volumes,prune_networks,prune_system,clear_activity_history— default todry_run=Trueand show what would be affected - Every confirmed destructive operation is written to a JSON-lines audit log, readable through
read_audit_log - Vulnerability work is first-class:
scan_image_vulnerabilities,get_vulnerability_summary,list_all_vulnerabilities,ignore_vulnerability,get_scanner_status - Resource tools take
env_id(local Docker is "0", remote agents use UUIDs); remote agent calls can passagent_token
Requirements
An Arcane instance and an API key. It is not on PyPI — install from source with pip install git+https://github.com/MikeCase/arcane-mcp.git or uv tool install git+https://github.com/MikeCase/arcane-mcp.git. Set ARCANE_API_KEY and ARCANE_BASE_URL in the environment or a .env file in the working directory. ARCANE_MCP_AUDIT_LOG moves the audit log off its default at ~/.arcane-mcp-audit.log.
Setup effort
One command plus a key — pip install git+https://github.com/MikeCase/arcane-mcp.git, then supply credentials
USE CASES
Finding out why a container keeps restarting
Inspect it, read its logs and stats, then act on what you see.
Redeploying a Compose project after a change
Pull the images, redeploy, and check the runtime state.
Cleaning up disk without deleting the wrong thing
Run the prune in its default dry-run, read what it would remove, then confirm.
Triaging image vulnerabilities
Scan an image, read the summary, and mute the findings you have already accepted.
Proving what an agent changed
Read the audit log of confirmed destructive operations.
125 tools
Listed in project docs. Your client may show a different list.
inspect_containercreate_containerstart_containerstop_containerrestart_containerkill_containerpause_containerunpause_containerremove_containerredeploy_containercommit_containerupdate_containerset_container_auto_updateexec_in_containerget_container_logsget_container_statsget_container_countslist_imagesinspect_imagepull_imageremove_imagetag_imageprune_imagesget_image_countsbuild_imagesearch_imagesupload_imageget_image_historyget_image_exportget_image_attestationsscan_image_vulnerabilitiesget_image_vulnerabilitiesget_vulnerability_summarycheck_image_updatecheck_all_image_updatesget_image_update_summarylist_volumescreate_volumeinspect_volumeremove_volumeprune_volumesget_volume_countsget_volume_sizesget_volume_usagelist_volume_backupscreate_volume_backuprestore_volume_backupdelete_volume_backupdownload_volume_backupbrowse_volumeread_volume_filecreate_volume_directoryupload_to_volumedelete_volume_filelist_projectsget_projectdeploy_projectredeploy_projectremove_projectupdate_projectget_project_countsproject_downrestart_projectbuild_projectarchive_projectunarchive_projectpull_project_imagesget_project_composeget_project_fileupdate_project_servicesget_project_runtimelist_networkscreate_networkinspect_networkremove_networkconnect_container_to_networkdisconnect_container_from_networkprune_networksget_network_countsget_network_topologylist_environmentsget_environmentcreate_environmentupdate_environmentremove_environmentget_docker_infoget_docker_versionprune_systemget_system_healthcheck_system_upgradetrigger_upgradestart_all_containersstart_stopped_containersstop_all_containerslist_activitiesget_activitycancel_activityclear_activity_historylist_eventsget_environment_eventsdelete_eventlist_registriescreate_registryget_registryupdate_registrydelete_registrytest_registryget_vulnerability_summary_alllist_all_vulnerabilitiesignore_vulnerabilitylist_ignored_vulnerabilitiesunignore_vulnerabilityget_scanner_statustrigger_webhooklist_webhookscreate_webhookupdate_webhookdelete_webhookrun_updaterget_updater_statusget_updater_historylist_portsconfirm_operationread_audit_logBEFORE YOU INSTALL
What to know first
Tools you get
125 tools named in the project's documentation.
Requires
ARCANE_API_KEY in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
pip install git+https://github.com/MikeCase/arcane-mcp.gitMCP Clients
OpenCode
{
"mcp": {
"arcane-docker": {
"type": "local",
"command": [
"arcane-mcp"
],
"env": {
"ARCANE_API_KEY": "<YOUR_ARCANE_API_KEY>",
"ARCANE_BASE_URL": "http://localhost:3552"
}
}
}
}