Skip to main content
Glama

List Docker Containers

list_containers
Read-only

Retrieve Docker containers on a selected 1Panel node, including App Store and custom Compose/standalone containers, with filters for name, state, pagination, and optional App Store exclusion.

Instructions

List Docker containers (including both App Store and custom Compose/standalone containers) on the selected node.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_containers"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNoOptional container name/ID substring filter.
pageNo1-indexed page number.
stateNoFilter containers by Docker runtime state.all
nodeIdNoTarget node ID: "local" for the Main Node, or a numeric string ID (e.g. "3") from list_nodes.local
order_byNoSort field.name
page_sizeNoItems per page (1-500).
exclude_app_storeNoWhen true, exclude containers managed by the 1Panel App Store.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds genuine context that results span both App Store-managed and custom Compose/standalone containers, but it says nothing about result volume, pagination behavior, or what happens with an invalid nodeId.

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?

A single front-loaded sentence with the resource and scope stated immediately and no wasted wording. It is efficient, though brevity here comes partly at the cost of any usage or filter guidance.

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?

For a 7-parameter list tool with no output schema, the definition covers purpose and scope adequately and annotations carry the safety profile. However, nothing describes the shape of the returned list (names, IDs, states, pagination metadata), which is the main gap an agent would want closed when output schema is absent.

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

Parameters3/5

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

Schema description coverage is 100%, so all seven parameters (name, state, page, page_size, order_by, nodeId, exclude_app_store) are fully documented in the schema and the baseline applies. The description reinforces node scoping and the App Store split, but adds no syntax, defaults, or interaction detail beyond the structured fields.

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

Purpose4/5

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

States a specific verb and resource ("List Docker containers") and clarifies coverage scope with "including both App Store and custom Compose/standalone containers", which distinguishes it from the app-centric siblings such as list_installed_apps and from get_container_logs. It stops short of naming a sibling alternative explicitly, so it lands just below the top of the scale.

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 only implied: "on the selected node" hints that nodeId should be set, and the App Store mention hints at exclude_app_store, but the description never says when to call this instead of operate_container or get_container_logs. No prerequisites, exclusions, or guidance on which filters to combine are given.

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