dockhand
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| run_containerA | Runs a Docker container locally for testing Args: image: Docker image to run, e.g. "nginx:latest" If no tag is specified, then usel alpine for default.It is smaller and faster to pull container_name: container name container_port: port the app listens on INSIDE the container, e.g. "80" for nginx host_port: port on your machine to access it, e.g. "8080" → http://localhost:8080 |
| stop_containerC | User will pass the container name that we need to stop Args: container_name: Docker Container name |
| list_containersB | Returns all containers with their status |
| delete_containerA | Delete a container by its name. Stops it first if it's still running. Args: container_name: Container name that should be deleted |
| container_logsB | Collect and display the logs for a container Args: container_name: Container name to collect logs tail: Number of log lines to return (default 200) |
| container_restartD | Restarting a container Args: container_name: name to restart the container |
| container_startC | Starting a container Args: container_name: name to start the container |
| container_statsA | Shows live CPU and memory usage for a running container. Args: container_name: Docker Container name |
| container_inspectA | Returns detailed information about a container: environment variables, mounts, network IP, and health status. Args: container_name: Docker Container name |
| container_execB | Executes a shell command inside a running container and returns its output. Args: container_name: Docker Container name command: shell command to run inside the container, e.g. "ls -la /app" |
| deploy_stackA | Deploys a multi-container application from a docker-compose YAML definition. Args: project_name: unique name for this stack, used to group/manage its containers compose_yaml: full contents of a docker-compose.yml describing the services |
| stop_stackA | Stops all containers in a compose stack without removing them, so it can be started again later. Args: project_name: unique name for this stack, used to group/manage its containers |
| remove_stackA | Stops and permanently removes a compose stack: containers, networks, and volumes (data is deleted). Args: project_name: unique name for this stack, used to group/manage its containers |
| list_stacksA | Lists all compose projects, including stopped ones |
| stack_statusA | Shows the status of all containers in a compose stack (like docker compose ps). Args: project_name: unique name for this stack, used to group/manage its containers |
| stack_logsA | Collects logs from all containers in a compose stack. Args: project_name: unique name for this stack, used to group/manage its containers tail: number of log lines to return per container (default 200) |
| list_imagesA | List all Docker images |
| delete_imageA | Delete a Docker image by tag or ID. Removed even if still referenced by a stopped container (force). Args: image_name: image name to be deleted |
| build_imageA | Builds a Docker image from a Dockerfile already saved on disk. The build context is the folder containing the Dockerfile, so COPY/ADD of other files in that same folder works normally. Accepts either a Windows path ("C:\path\Dockerfile") or a Git Bash style path ("/c/path/Dockerfile"). Args: image_tag: tag to give the built image, e.g. "my-app:latest" dockerfile_path: full path to an existing Dockerfile on this machine |
| push_imageA | Tags a local Docker image with a registry repository name and pushes it
(e.g. Docker Hub, AWS ECR). Requires that you have already run |
| list_volumesA | Lists all Docker volumes with their driver and mountpoint |
| remove_volumeA | Deletes a Docker volume by name. Data stored in it is permanently lost. Fails if the volume is currently in use by a container. Args: volume_name: name of the volume to remove |
| list_networksA | Lists all Docker networks with their driver and scope |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 23 tools
Each tool targets a distinct Docker operation (image build, container exec, stats, logs, stack management, etc.), with clear descriptions that prevent confusion. The only potential overlap is between container_start and run_container, but descriptions clarify that one starts an existing container and the other creates and starts a new one.
Naming conventions are mixed: some tools use verb_noun (build_image, delete_container), others use noun_verb (container_exec, container_inspect), and list tools use list_noun. While individually readable, the lack of a unified pattern (e.g., all verb_noun or all noun_verb) makes it harder to predict tool names.
With 23 tools covering images, containers, volumes, networks, and stacks, the number is appropriate for a Docker management server. It's comprehensive but not overwhelming, though a few tools (like list_networks and list_volumes) could be merged without loss of clarity.
Core Docker workflows are well-covered: building/pushing images, running/executing/inspecting containers, managing stacks. However, missing network creation/removal and volume creation mean agents may hit dead ends when trying to set up isolated test environments.