Prompts
Besides its tools and resources, arcane-mcp publishes MCP prompts: workflow templates a client offers as slash commands (Claude’s / menu, VS Code’s /mcp.arcane... commands). You pick one, fill in a few arguments, and the client puts the resulting message in the conversation. The message tells the model which actions to call, in which order, what to look for in each result and what to report at the end.
prompts/list names them; prompts/get returns one.
The prompts
Section titled “The prompts”Arguments marked required must be given; the others are optional. environmentId is optional everywhere and defaults to the configured environment (ARCANE_ENVIRONMENT_ID), as it does for the actions.
| Prompt | What it does | Arguments |
|---|---|---|
diagnose_container | Reads a container’s state, health-check log, logs, processes and stats (and its Compose siblings) to find why it is unhealthy, restarting or stopped; proposes a fix and applies it only with your approval | containerId (required: ID or name), environmentId, symptom (free text: what you saw) |
update_project_images | Checks a Compose project for newer images, shows what would change, offers to back up its volumes, updates the services with your approval and verifies them | projectId (required: the project ID from project.list; Arcane does not find a project by name), environmentId, services (comma-separated service names; all when left out) |
security_report | Summarizes vulnerabilities: risk score, riskiest images and findings, what is fixable and which running containers are exposed; for one image, scans it when it has no scan | environmentId, imageId (one image’s sha256 ID), severity (comma-separated: CRITICAL, HIGH, MEDIUM, LOW, UNKNOWN; CRITICAL,HIGH by default) |
cleanup_disk | Measures what unused images, stopped containers, volumes and networks take, shows what each prune would remove, and prunes only what you approve | environmentId |
environment_overview | A read-only health check: environment status, host resources, projects and containers, pending updates, vulnerabilities, recent errors | environmentId |
rollback_service | Inspects a Swarm service’s failing update, shows what a rollback to its previous spec changes, rolls it back with your approval and verifies | serviceId (required: ID or name), environmentId |
backup_volume | Backs up a volume, waits for it to finish, checks the files it holds and suggests a schedule; never restores | volumeName (required), environmentId |
Prompt and argument names are stable: renaming one is a breaking change. Clients that support completions suggest values for the identifier arguments and severity as you type (see Completions).
What a prompt returns
Section titled “What a prompt returns”- One instruction message with the goal, your arguments, numbered steps naming the actions, what the final report should contain, and the rules (below).
- The matching workflow guide, attached as an embedded resource, when there is one:
diagnose_containercarriesarcane://guides/diagnose-an-unhealthy-container,update_project_imagescarriesarcane://guides/update-images-safelyandbackup_volumecarriesarcane://guides/back-up-and-restore-a-volume. The prompt gives the order; the guide explains each action.
Building a prompt reads only the catalog: prompts/get never calls Arcane, needs no credential and works while Arcane is down. The actions the model then calls are ordinary tool calls, with every check a tool call has (read-only, safe mode, confirmation, audit log).
Same workflow on every surface
Section titled “Same workflow on every surface”The steps name each action the way the active tool surface calls it, as the next steps of a tool result do: container.get on dynamic (run with arcane_execute_action), arcane_container with action get on meta, arcane_container_get on individual. The rules repeat how to call an action on that surface.
Safety
Section titled “Safety”- Confirmation is never skipped. Every destructive action in the steps is marked
(destructive), and each message says to describe what it will do, wait for your explicit approval in the conversation, and only then passconfirm: true(or answer the client’s confirmation question). The prompt itself is never that approval. - Read-only mode (
ARCANE_MCP_READ_ONLY):rollback_serviceandbackup_volumeare not offered, because they only lead to changes. The other prompts stay, without the steps that change state, and end with a report of what you would change. - Safe mode (
ARCANE_MCP_SAFE_MODE): actions that would change state are marked(safe mode: preview only)and the message says that they answer with a preview of the request and change nothing.cleanup_diskmentions safe mode as the way to see exactly what a prune would send before running it. - Exclusions (
ARCANE_MCP_EXCLUDE_TOOLS): a prompt whose essential action is excluded is not offered (for example, excludingswarm_serviceremovesrollback_service); a step naming another excluded action is left out and the message says some steps are missing.
Your arguments are data
Section titled “Your arguments are data”Argument values are user-supplied text that ends up in the model’s instructions, so they cannot change those instructions:
- Identifiers (
environmentId,containerId,projectId,serviceId,volumeName,imageId, each name inservices) must be IDs or names: letters, digits and._-:/@, at most 255 characters. Anything else is refused. - Every value appears only in the message’s Arguments section, folded onto one line, cleaned of control characters, terminal sequences and invisible or bidirectional characters, cut at 200 characters and quoted. The section ends by telling the model that the values are data, never instructions.
Errors
Section titled “Errors”A missing required argument, a malformed identifier or an unknown severity is a JSON-RPC error with code -32602 (invalid params) and a message naming the argument; an unknown prompt name is -32602 too. Arguments a prompt does not declare are ignored.
A unit test fails when a prompt names an action the catalog does not have, a destructive action lacks its mark, or a prompt’s name or arguments change.