Skip to main content
Glama

docker_run_container

Configure and run Docker containers by specifying image, ports, environment variables, volume mounts, and optional commands or auto-removal.

Instructions

Run a Docker container with specified configuration

Args: image: Docker image name (e.g., 'nginx:latest') name: Optional container name command: Optional command to run ports: Optional port mappings {"container_port": host_port} environment: Optional environment variables volumes: Optional volume mounts {"host_path": "container_path"} detach: Run in detached mode (default: True) remove: Remove container when it stops (default: False)

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "image": "<image>"
    },
    "name": "docker_run_container"
  }
}

Input Schema

NameRequiredDescriptionDefault
imageYes
nameNo
commandNo
portsNo
environmentNo
volumesNo
detachNo
removeNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.1/5.0
Behavior4/5

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

Description reveals key behaviors: defaults for detach and remove, port/volume mapping formats. However, it does not mention side effects like auto-pulling images, error handling, or what happens on success. No annotations were provided to supplement.

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?

Main sentence is front-loaded, and parameters are listed as a bulleted 'Args' block. While efficient, it is slightly verbose for a run tool. Each line is short and relevant.

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

Completeness3/5

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

Input side is well-covered, but the description lacks information about output/return values despite an output schema existing. No mention of container ID, status, or error behavior. The description is incomplete for a run operation with many optional parameters.

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

Parameters5/5

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

With 0% schema description coverage, the description compensates fully by explaining each parameter's purpose and expected format (e.g., 'Optional port mappings {"container_port": host_port}'). All 8 parameters are described clearly.

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?

Description clearly states 'Run a Docker container' with specific verb and resource. It lists all configuration parameters and is easily distinguished from sibling tools like docker_list_containers or docker_remove_container.

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

Usage Guidelines3/5

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

Usage is implied by the description (to run a new container), but no explicit guidance on when to use this vs alternatives like docker_start_container or docker_pull_image. No when-not or context provided.

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