Skip to main content
Glama
docker-mcp
by falkenslab

Clean up Docker

prune
DestructiveIdempotent

Remove stopped containers, dangling images, unused networks, volumes, and build cache to reclaim disk space; irreversible and confirmed first.

Instructions

Remove what isn't in use: stopped containers, dangling images (all unused ones with allImages), unused networks, unused volumes (only when volumes is true: their data is gone) and the build cache. Says how much space it freed. Can't be undone. The server asks the person to confirm it, naming what goes; if they say no, nothing is done.

Input Schema

NameRequiredDescriptionDefault
whatYeseverything: containers, networks, dangling images and build cache (volumes only with volumes: true)
volumesNoeverything: also unused volumes and their data
allImagesNoImages: every unused one, not only the dangling ones

Output Schema

NameRequiredDescriptionDefault
outputYes
truncatedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructive=true, but the description goes well beyond them: it warns volume data is permanently gone, states the operation can't be undone, discloses that a confirmation prompt naming the targets is shown, and explains that declining results in no action. That is exactly the interaction context an agent needs before calling a destructive tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Scope and consequences are front-loaded, and every sentence carries information (irreversibility, confirmation flow, freed-space reporting). The opening sentence is a long run-on with nested parentheticals that takes effort to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description needn't detail return values, yet it still notes that freed space is reported. Combined with full parameter coverage and rich annotation backing, nothing an agent needs to call this safely is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and includes enum and default documentation, so baseline is 3. The description still adds meaning, most notably that enabling volumes destroys their data and that allImages widens scope from dangling to all unused images.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb (remove) and enumerates exactly which resources are in scope: stopped containers, dangling images, unused networks, unused volumes, and build cache. This clearly separates prune from the targeted siblings like remove_container, remove_image, and remove_volume.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'what isn't in use' framing plus the conditional notes ('all unused ones with allImages', 'only when volumes is true') tell the agent when each mode applies. It never explicitly routes to a sibling for targeted single-resource deletion, so the alternatives are implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.