Skip to main content
Glama
crunchtools

mcp-podman-crunchtools

by crunchtools

mcp-podman-crunchtools

MCP server for Podman container management via the Podman REST API. Manages containers, images, pods, networks, volumes, and system info. Supports both rootful and rootless Podman.

Installation

# uvx (zero-install)
uvx mcp-podman-crunchtools

# pip
pip install mcp-podman-crunchtools

# Container
podman run -v /run/podman/podman.sock:/run/podman/podman.sock:z \
  --security-opt label=type:container_runtime_t \
  quay.io/crunchtools/mcp-podman

Related MCP server: Container Exec MCP Server

Configuration

Variable

Required

Default

Description

PODMAN_SOCKET

No

Auto-detect

Unix socket path

PODMAN_SOCKET_FILE

No

—

File containing socket path

PODMAN_TIMEOUT

No

30

Request timeout in seconds

Socket auto-detection order:

  1. $XDG_RUNTIME_DIR/podman/podman.sock (rootless)

  2. /run/user/$UID/podman/podman.sock (rootless fallback)

  3. /run/podman/podman.sock (rootful)

Claude Code Integration

claude mcp add mcp-podman-crunchtools \
  --env PODMAN_SOCKET=/run/podman/podman.sock \
  -- uvx mcp-podman-crunchtools

Tools (30)

Containers (12)

Tool

Description

container_list

List containers

container_inspect

Get container details; environment values are redacted, names kept

container_start

Start a container

container_stop

Stop a container

container_restart

Restart a container

container_kill

Send signal to container

container_rm

Remove a container

container_logs

Get container logs

container_top

List processes

container_stats

Resource usage

container_create

Create a container

container_prune

Remove stopped containers

Images (5)

Tool

Description

image_list

List images

image_inspect

Get image details

image_pull

Pull from registry

image_rm

Remove an image

image_prune

Remove unused images, with the options of podman image prune (all, external, build_cache, filters)

Pods (7)

Tool

Description

pod_list

List pods

pod_inspect

Get pod details

pod_start

Start a pod

pod_stop

Stop a pod

pod_restart

Restart a pod

pod_rm

Remove a pod

pod_create

Create a pod

Networks (2)

Tool

Description

network_list

List networks

network_inspect

Get network details

Volumes (2)

Tool

Description

volume_list

List volumes

volume_inspect

Get volume details

System (2)

Tool

Description

system_info

Podman system info

system_df

Disk usage

License

AGPL-3.0-or-later

Available Tools

30 tools
container_create_toolContainer Create ToolC

Create a new container.

ParametersJSON Schema
NameRequiredDescriptionDefault
envNoEnvironment variables
nameNoContainer name
imageYesContainer image (e.g. "registry.access.redhat.com/ubi9/ubi:latest")
labelsNoContainer labels
commandNoCommand to run
volumesNoVolume mounts (format: "host_path:container_path[:options]")

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not state that this is a mutating/persistent operation, whether the container starts automatically, permission requirements, or error behavior. For a create tool with zero annotation coverage, this is a significant gap.

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 zero waste. It is appropriately sized, though under-specified content is a content problem rather than a conciseness flaw.

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

Completeness2/5

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

An output schema exists, so return values need not be explained. But with no annotations and a one-line description, the definition is inadequate for a mutation tool: no safety profile, no start-on-create semantics, no prerequisites, and no sibling routing.

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 the schema already documents all six parameters with descriptions and examples (e.g., the image example, volume mount format). The description adds nothing beyond the schema, which is the baseline 3 case when the schema does the heavy lifting.

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

Purpose3/5

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

States a clear verb+resource ('Create a new container'), which distinguishes it from sibling read tools like container_list_tool or container_inspect_tool. However, it adds no differentiation from pod_create_tool or any specifics about what container is created or its scope.

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

Usage Guidelines2/5

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

No when-to-use, when-not-to-use, or alternatives mentioned. An agent must infer that this is the creation path rather than one of the many lifecycle siblings, with no explicit routing guidance.

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

container_inspect_toolContainer Inspect ToolC

Get detailed information about a container.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesContainer name or ID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

No annotations and no output schema burden relief in the text. Works since the schema already describes the parameters adequately and an output schema exists. The description adds nothing about whether the container must exist, error behavior, or what 'detailed' encompasses, which matters given siblings deliberately excluded from the shortlist. There is no contradiction, but the description adds no behavioral context at all.

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?

One short, front-loaded sentence with no waste. It's concise, but the brevity comes at the cost of any disambiguation content.

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

Completeness2/5

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

A single-param read tool does not need much, but given 30 siblings with heavy overlap in naming (inspect/list/stats/top/logs across container, pod, image, network, volume), the description should at least say what it returns or when to prefer it. It provides neither, leaving the agent to route purely on the name.

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% and the single parameter is fully documented in the schema, so the baseline is 3. The description adds no format or semantics beyond that.

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

Purpose3/5

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

States a specific verb (get/inspect) and resource (container) plus what it returns ('detailed information'). However, it does nothing to distinguish itself from siblings like container_list_tool, container_top_tool, container_stats_tool, or the many other inspect tools. An agent must infer from the name alone that this is the deep-inspection option.

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

Usage Guidelines2/5

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

No when-to-use guidance and no exclusions. It doesn't tell the agent to prefer container_list_tool for enumeration or container_stats_tool/container_top_tool for live runtime metrics, which is the key routing decision in this crowded sibling set.

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

container_kill_toolContainer Kill ToolC

Send a signal to a container.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesContainer name or ID
signalNoSignal to send (default: SIGTERM)SIGTERM

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not disclose that this is destructive (terminates the process), the effect of SIGKILL vs catchable signals, permission requirements, or whether the default SIGTERM is graceful — all critical for a kill operation.

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 no filler. It is well-formed and efficient, though its brevity tips into under-specification rather than ideal compression.

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

Completeness2/5

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

An output schema exists so return values need no explanation, but for a destructive, unannotated 2-parameter mutation tool the description should at minimum note that the container's process is signaled/terminated and how signals relate to siblings. It is too sparse given the operation's risk.

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%, with both parameters documented (name and signal with default). The description adds no signal semantics or format guidance beyond the schema, so the baseline 3 is appropriate.

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?

The description states a specific verb and resource ('Send a signal to a container'), which is a clear action on a container. However, it does not differentiate itself from close siblings like container_stop_tool or container_rm_tool, which an agent could easily confuse with a signal-sending operation.

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

Usage Guidelines2/5

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

There is no indication of when to use this tool versus container_stop_tool, container_restart_tool, or container_rm_tool. The agent must infer that this is the low-level signal primitive distinct from graceful stop, but nothing in the text says so.

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

container_list_toolContainer List ToolC

List containers.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of containers to return
filtersNoFilter by key/value pairs (e.g. {"name": ["myapp"]})
all_containersNoShow all containers (default shows only running)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden, yet it discloses nothing about behavior: no mention of pagination via limit, no note that non-running containers are hidden by default, and no statement about read-only semantics (only weakly implied by "List"). For a zero-annotation tool this is a substantial gap.

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

Conciseness3/5

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

The single sentence is maximally short and front-loaded, with nothing wasted, which is structurally sound. However, at two words it is under-specified rather than genuinely concise, so it cannot score higher despite the efficient form.

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?

An output schema exists, so return values need not be explained, and parameter coverage is complete in the schema. What remains missing is any context about the default running-only scope and filtering behavior, which matters for correct invocation of a container listing tool with 29 siblings.

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 limit, filters, and all_containers are fully documented in the schema and the description need not repeat them. The description adds no extra parameter meaning, which is the expected baseline-3 outcome when the schema does the heavy lifting.

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

Purpose2/5

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

"List containers" restates the tool name (container_list_tool) and title almost verbatim, so it adds no distinguishing information beyond the name itself. The verb+resource pair is present, but there is no differentiation from the many sibling list tools (pod_list_tool, network_list_tool, volume_list_tool, image_list_tool).

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus the sibling list tools, nor any prerequisite information. The default-only-running behavior exists but appears only in the schema, not the description, so an agent gets no usage context from the description.

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

container_logs_toolContainer Logs ToolC

Get container logs.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesContainer name or ID
tailNoNumber of lines from the end of the logs
sinceNoShow logs since timestamp (RFC3339, e.g. "YYYY-MM-DDThh:mm:ssZ")
timestampsNoAdd timestamps to each log line

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full behavioral disclosure but only implies a read operation. It does not state whether logs stream continuously, require specific permissions, have rate limits, or what happens with the 'tail'/'since' defaults beyond what the schema already documents.

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

Conciseness3/5

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

The description is a single short sentence with no wasted words and is front-loaded. However, it is arguably too terse for a four-parameter tool, bordering on under-specification rather than optimal conciseness.

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

Completeness2/5

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

Although an output schema exists and schema coverage is complete, the description lacks essential context for an agent: it offers no usage guidance, no behavioral notes (e.g., streaming or permissions), and no differentiation from siblings. For a tool with four parameters and no annotations, this is insufficiently complete.

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 four parameters are already well-documented in the input schema. The description adds no additional parameter meaning or syntax, so baseline 3 applies.

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 ('Get container logs'), making the basic action clear. However, it does not distinguish itself from siblings like container_inspect_tool or container_stats_tool, leaving the agent to infer that this tool specifically retrieves log output.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as container_inspect_tool or container_stats_tool. There are no prerequisites, exclusions, or context for selecting it among the many container-related siblings.

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

container_prune_toolContainer Prune ToolA

Remove all stopped containers.

Returns: List of removed container IDs and reclaimed space

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It usefully scopes the operation to stopped containers (implying running ones are untouched), but omits irreversibility, whether it can be undone, and any permission or safety caveats expected of a destructive prune.

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?

Two short, front-loaded sentences with no wasted prose. The 'Returns' block is mildly redundant given an output schema exists, but it is not harmful.

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?

An output schema is present, so return values are covered, and the description correctly avoids over-explaining them. However, for a destructive removal operation with no annotations, the absence of any warning about irreversibility or scope side effects leaves a meaningful gap.

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?

The tool takes zero parameters, so there is no argument surface to explain. Baseline of 4 for a parameterless tool is appropriate.

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 ('Remove all stopped containers') with a clear scope qualifier ('stopped'), which implicitly distinguishes it from container_rm_tool's targeted removal. It does not name the sibling directly, so it falls short of a 5.

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?

The scope ('all stopped containers') implies a bulk-cleanup use case, but there is no explicit when-to-use, when-not-to-use, or reference to the alternative container_rm_tool for selective removal. Usage is left to inference.

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

container_restart_toolContainer Restart ToolC

Restart a container.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesContainer name or ID
timeoutNoSeconds to wait before killing (default: 10)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Restart a container' implies a mutation, but it does not disclose permissions required, what happens to running processes, downtime, reversibility, or how the timeout parameter affects behavior. This is a significant gap for a mutation tool with zero annotation coverage.

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

Conciseness3/5

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

The description is a single short sentence with no wasted words, which is concise. However, it is arguably too terse for a tool with two parameters and an output schema, and it lacks structure that would help an agent understand its place among many container lifecycle siblings.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, but the description is still incomplete. With no annotations and many sibling alternatives, the description should cover when to use it, behavioral implications of restart, and any safety or permission context. It provides none of these.

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%, with both parameters documented in the input schema (name and timeout). The description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate when the schema does the heavy lifting.

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?

The description states a specific verb and resource ('Restart a container'), making the tool's purpose immediately clear. However, it offers no differentiation from sibling tools such as container_start_tool, container_stop_tool, or container_kill_tool, so the agent cannot tell from the description alone when restart is preferred.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. The phrase 'Restart a container' implies usage, but nothing tells an agent whether to choose restart over stop/start or kill.

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

container_rm_toolContainer Rm ToolC

Remove a container.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesContainer name or ID
forceNoForce removal of running container
volumesNoRemove associated anonymous volumes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden, and it discloses almost nothing beyond the bare action. It does not mention that this is destructive/irreversible, what force and volumes do behaviorally, or any permission requirements.

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

Conciseness3/5

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

A single short sentence is efficient but borders on under-specification rather than genuine conciseness. There is no waste, but there is also almost no content.

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

Completeness2/5

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

An output schema exists, so return values need not be explained. Still, for a destructive mutation tool with no annotations, the description should cover safety behavior and prerequisites; 'Remove a container.' leaves an agent without enough to invoke it confidently.

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 name, force, and volumes are already documented in the schema with defaults. The description adds no meaning beyond that, which is the baseline when the schema does the heavy lifting.

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 clear verb (remove) and resource (container), so the basic action is unambiguous. However, it does nothing to distinguish itself from close siblings such as container_prune_tool or pod_rm_tool, leaving the agent to infer which removal tool applies.

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

Usage Guidelines2/5

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

No guidance on when to use this versus alternatives like container_prune_tool (bulk removal) or image_rm_tool. No prerequisites are stated, e.g. whether the container must be stopped first.

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

container_start_toolContainer Start ToolB

Start a stopped container.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesContainer name or ID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies a mutation but says nothing about permissions, idempotency, what happens if the container is already running, or side effects. The output schema helps with return values, but behavioral context is still thin.

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

Conciseness5/5

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

A single short sentence with no filler, front-loading the action and scope. It is appropriately sized for a simple one-parameter operation.

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 simple tool with full schema coverage and an output schema, the description states what the tool does. However, with no annotations and no usage guidance against siblings like restart or create, it leaves some contextual gaps.

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 coverage is 100% and the single parameter is already documented as 'Container name or ID'. The description adds no parameter detail beyond the schema, so the baseline 3 for high coverage applies.

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 'Start' and resource 'container', with scope 'stopped' that implies a distinct operation. It is clear, but does not explicitly name sibling alternatives such as restart or create, so a 5 is not warranted.

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

Usage Guidelines2/5

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

Provides no explicit when-to-use or when-not guidance, and does not mention alternatives like container_restart_tool or container_create_tool. The 'stopped container' condition is part of the purpose, not usage routing.

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

container_stats_toolContainer Stats ToolB

Get container resource usage statistics.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesContainer name or ID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a read-only operation via 'Get' but does not state whether the stats are a snapshot or stream, whether the call may be resource-intensive, what permissions are required, or any other behavioral trait beyond the basic retrieval.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It is appropriately sized for the simplicity of the tool and conveys the core action immediately.

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?

An output schema exists, so return values need not be explained. The single parameter is fully documented in the schema. However, with no annotations, the description lacks usage guidelines and behavioral context (e.g., performance impact, output freshness), leaving it minimally viable but with clear gaps.

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?

The input schema has 100% description coverage for the single 'name' parameter, so the schema already documents the parameter semantics. The description adds no additional meaning beyond what the schema provides, which is acceptable given the high coverage, leading to the baseline score of 3.

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?

The description states a specific verb (Get) and resource (container resource usage statistics), making the purpose clear. However, it does not distinguish this tool from siblings like container_inspect_tool, container_top_tool, or container_logs_tool, which also provide container information.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus alternatives such as container_inspect_tool or container_top_tool. The description only implies its usage context by naming the resource, but no when/when-not conditions or alternatives are provided.

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

container_stop_toolContainer Stop ToolC

Stop a running container.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesContainer name or ID
timeoutNoSeconds to wait before killing (default: 10)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It says the tool stops a running container but does not explain whether the stop is graceful, how the timeout is enforced, what happens if the container is already stopped, or whether permissions are required.

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?

The description is a single front-loaded sentence with no wasted words. It is appropriately concise, though its brevity contributes to missing usage and behavioral context.

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?

An output schema exists and the input schema is fully documented, so return-value explanation is not needed. Still, for a mutation tool with no annotations and many similar siblings, the description lacks enough context about when to choose it and what behavioral effects to expect.

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%, and the schema itself documents both 'name' and 'timeout' with meaning and default. The description adds no parameter-level detail beyond what the schema already provides, so the baseline score of 3 applies.

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?

The description states a specific verb and resource ('Stop a running container'), making the core action clear. However, it does not distinguish this tool from close siblings like container_kill_tool or container_restart_tool, so it stops short of a fully differentiated purpose.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance, no when-not-to-use guidance, and no mention of alternatives such as container_kill_tool. Usage can only be inferred from the tool name and description.

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

container_top_toolContainer Top ToolB

List processes running inside a container.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesContainer name or ID
ps_argsNoArguments to pass to ps (e.g. "aux")

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. A 'list processes' tool is implicitly read-only and non-destructive, but the description omits whether the container must be running, whether a stopped container errors, and how ps_args changes behavior. Adequate but thin for a tool with zero annotation coverage.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; every word earns its place and the core action leads.

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?

An output schema exists, so return values need not be explained, and the parameter set is simple and fully documented in the schema. However, with no annotations the description should at least address the running-container precondition and the effect of ps_args on output.

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%: both `name` (container name or ID) and `ps_args` (arguments to ps, e.g. "aux") are already documented in the schema. The description adds nothing beyond it, so the baseline 3 applies.

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 (list) and resource (processes inside a container), which cleanly separates it from container_list_tool (containers) and container_logs_tool. It does not explicitly name a sibling or contrast with container_stats_tool, but the scope is unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this over alternatives such as container_stats_tool or container_inspect_tool, and no prerequisites stated. The agent must infer usage from the purpose sentence alone.

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

image_inspect_toolImage Inspect ToolC

Get detailed information about an image.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesImage name, tag, or ID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and discloses almost nothing: it implies a read-only lookup but never states it, and says nothing about permissions, error behavior when the name is unknown, or scope. An output schema exists so return format needs no explanation, but the safety/behavior profile is unaddressed.

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 efficient sentence with no filler and the resource front-loaded. It is appropriately sized for a simple one-parameter tool, though it is so terse that it borders on under-specification rather than true concision.

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?

The output schema covers return values and the lone parameter is fully documented, so the core contract is intact. However, with no annotations anywhere in the definition, the description should compensate with at least read-only intent, and it does not.

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?

There is a single parameter and schema description coverage is 100% ('Image name, tag, or ID'), so the schema fully documents it. The description adds no syntax, format, or matching-rule detail beyond the schema, making the baseline of 3 appropriate.

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 (get detailed information) and resource (image), so the agent knows it's a read operation returning image details. It doesn't explicitly differentiate from image_list_tool, but the inspect/list split is implied by naming convention shared across the sibling set.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance is given, and no alternative is named (e.g., image_list_tool for enumerating images). The agent must infer from the name alone that this is the detailed single-image lookup rather than a listing.

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

image_list_toolImage List ToolC

List images.

ParametersJSON Schema
NameRequiredDescriptionDefault
filtersNoFilter by key/value pairs (e.g. {"reference": ["ubi9"]})

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about read-only semantics, pagination, result ordering, or default scoping. "List" weakly implies a safe read, but that is inference rather than disclosure.

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

Conciseness2/5

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

At two words, this is under-specified rather than concise; there is no front-loaded scope or qualifier to structure. It is short, but brevity here reflects missing information rather than efficiency.

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

Completeness2/5

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

An output schema exists so return values need not be explained, but the description still leaves the agent without listing scope, filter behavior, or pagination limits for a tool that sits among many similarly named list tools. It is not misleading, but it is materially incomplete.

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% and the single optional "filters" parameter is documented in the schema with a concrete example. Per the high-coverage baseline, 3 is appropriate, since the description adds no filter syntax or semantics of its own.

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?

The description states a specific verb and resource ("List images"), so an agent can tell it acts on images rather than containers, pods, networks, or volumes. However, it adds nothing beyond the tool name and does not clarify scope (all images vs. filtered) relative to image_inspect_tool or image_pull_tool.

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

Usage Guidelines2/5

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

No when-to-use guidance, no mention of alternatives such as image_inspect_tool for detail or image_prune_tool for cleanup, and no indication of prerequisites. The agent must infer usage entirely from the tool name.

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

image_prune_toolImage Prune ToolA

Remove unused images, like podman image prune.

With no arguments only dangling (untagged, unused) images are removed.

ParametersJSON Schema
NameRequiredDescriptionDefault
allNoRemove every image not used by a container, not just dangling ones (--all)
filtersNoLimit what is pruned (--filter). Keys: "until" (images built before a timestamp or Go duration, e.g. {"until": ["168h"]}; compares the build date, not when the image was pulled or tagged), "label" / "label!" (e.g. {"label": ["stage=ci"]}), "dangling" (["true"] or ["false"])
externalNoAlso remove images used only by external containers, e.g. build containers (--external)
build_cacheNoAlso remove the persistent build cache from --mount=type=cache (--build-cache)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full disclosure burden, and it does surface the single most important behavioral fact: the default scope is limited to dangling, untagged, unused images rather than all images. It does not state that pruning is irreversible or mention any permission/daemon requirements, leaving some destructive-operation context unstated.

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

Conciseness5/5

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

Two short sentences, zero waste, with the core action front-loaded and the default-scope caveat immediately following. Everything stated earns its place.

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

Completeness4/5

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

An output schema exists, so return values need no explanation, and the schema fully documents the parameters. The description covers purpose and default scope adequately; the only gap is the absence of explicit guidance on when to prefer this over `image_rm_tool`.

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 the four parameters (`all`, `filters`, `external`, `build_cache`) are already fully documented in the schema, including filter keys and semantics. The description adds only the no-argument default, which the schema's `all` default already implies; baseline 3 is appropriate.

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+resource ('Remove unused images') and anchors the semantics with a concrete analogue ('like `podman image prune`'), so an agent knows this is a bulk cleanup operation rather than targeted deletion. It never names `image_rm_tool`, the sibling it is most easily confused with, so it stops short of full differentiation.

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?

The second sentence clarifies the default invocation scope ('with no arguments only dangling (untagged, unused) images are removed'), which is useful operational context. However, it gives no explicit when-to-use/when-not guidance relative to `image_rm_tool` or `container_prune_tool`; the routing is only implied through the podman analogy.

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

image_pull_toolImage Pull ToolB

Pull an image from a registry.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYesImage reference (e.g. "quay.io/crunchtools/rotv:latest")

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies a remote fetch, but does not disclose authentication requirements, network access, whether an existing local image is overwritten, or other side effects.

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

Conciseness5/5

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

A single, front-loaded sentence with no wasted words. It directly states the action and source, which is appropriately sized for a simple one-parameter pull operation.

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?

The output schema and fully documented input schema cover return values and parameter mechanics. However, with no annotations, the description should add more behavioral context (e.g., auth, overwrite behavior) to be fully complete for an agent.

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%, and the single required parameter 'reference' is fully documented in the schema with an example. The description adds no further parameter meaning, so baseline 3 is appropriate.

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 (Pull) and resource (image) with source (registry). It is clear and distinct from sibling image_list, image_inspect, image_rm, and image_prune tools, but does not explicitly differentiate from them in the text.

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

Usage Guidelines2/5

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

Only states what the tool does. There is no guidance on when to use it versus alternatives like image_list or image_inspect, no prerequisites such as registry authentication, and no exclusions.

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

image_rm_toolImage Rm ToolC

Remove an image.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesImage name, tag, or ID
forceNoForce removal even if in use

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: it doesn't say the operation is destructive/irreversible, whether it deletes layers or only untags, or what happens when the image is in use. The force parameter's semantics exist only in the schema, never reflected in the description.

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

Conciseness3/5

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

A single efficient sentence with no waste, but it is terse to the point of under-specification for a destructive mutation tool. Front-loading is fine; the problem is that it says too little rather than too much.

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

Completeness2/5

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

An output schema exists, so return values need not be explained. However, for a destructive two-parameter mutation tool with zero annotation coverage, the description should at least convey that removal is permanent and how force behaves; that context is entirely 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 both parameters (name, force) are already documented in the schema. The description adds no syntax or format detail beyond that, which is the expected baseline when the schema does the heavy lifting.

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 (remove) and resource (image), so the agent knows it deletes an image. It does not distinguish itself from the sibling image_prune_tool, which also removes images, so the boundary is left to inference.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of alternatives such as image_prune_tool, and no stated prerequisites (e.g. removing by name vs tag vs ID, or handling of running containers). The agent must guess the intended scenario.

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

network_inspect_toolNetwork Inspect ToolC

Get detailed information about a network.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNetwork name or ID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies a read-only operation via 'Get' but says nothing about permissions, error behavior, or whether the network must already exist.

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?

One sentence, front-loaded, with no wasted words. It is extremely terse, but the structure is clean and appropriately sized for a one-parameter tool.

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?

The param is fully documented and an output schema exists, so return values need not be explained. Still, for an inspect tool in a large sibling set, the description omits routing guidance and behavioral caveats, leaving it adequate but incomplete.

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 coverage is 100% and the single parameter already has a description ('Network name or ID'). The description only says 'about a network', adding no syntax or meaning beyond what the schema provides, so baseline 3 applies.

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 (Get) and resource (network), so the basic purpose is clear. However, it does not differentiate from sibling tools like network_list_tool or other inspect tools; 'detailed information' is generic.

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

Usage Guidelines2/5

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

Gives no when-to-use guidance, prerequisites, or alternative routing. It never mentions network_list_tool or when an agent should prefer inspect over list.

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

network_list_toolNetwork List ToolC

List networks.

ParametersJSON Schema
NameRequiredDescriptionDefault
filtersNoFilter by key/value pairs

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses essentially nothing: no read-only confirmation, no note that the optional filter is a key/value match, no indication of result size or ordering. 'List' weakly implies a non-mutating read, which is the only behavioral signal available.

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

Conciseness3/5

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

Two words, front-loaded with the verb, with zero wasted text — but the brevity reflects under-specification rather than disciplined concision given the available routing information for sibling list/inspect tools.

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

Completeness2/5

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

An output schema exists so return values need not be described. However, with no annotations and only a fragment of a sentence, the definition omits any disambiguation from network_inspect_tool and any guidance on the filters parameter, leaving the agent to guess.

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% and the single parameter 'filters' is documented in the schema as 'Filter by key/value pairs' with a default of null. The description adds no syntax, matching semantics, or examples beyond that, so the baseline 3 applies.

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?

The description gives a clear verb+resource pair ('List networks'), so an agent immediately knows this returns network entities rather than containers, pods, volumes, or images. It does not differentiate from the closest sibling, network_inspect_tool, nor state scope (all networks vs. filtered).

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of the alternative network_inspect_tool for detailed single-network data, and no note about when the optional filters argument is appropriate. Usage must be inferred entirely from the tool name.

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

pod_create_toolPod Create ToolC

Create a new pod.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPod name
infraNoCreate an infra container (default: True)
shareNoNamespaces to share (ipc, net, uts, pid)
labelsNoPod labels

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing beyond the bare action. For a mutation tool it omits whether the pod is started on creation, what happens on name conflicts, required privileges, or whether the operation is reversible.

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

Conciseness3/5

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

The single sentence is front-loaded and free of waste, but it is so terse that it under-specifies a four-parameter mutation. Brevity here costs usefulness rather than demonstrating discipline.

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

Completeness2/5

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

An output schema exists, so return values need no explanation, but the description still omits creation semantics that matter for a pod: default behavior, post-create state, and relationships to the many sibling pod lifecycle tools. It is inadequate for the complexity implied by the tool set.

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 every parameter (name, infra, share, labels) is already documented in the schema, and the description adds no additional meaning. A baseline 3 is appropriate when the schema does the heavy lifting.

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?

The description gives a clear verb (Create) and resource (pod), making the operation immediately identifiable. It does not, however, differentiate this tool from sibling creation tools like container_create_tool or address how it relates to pod_start_tool, which is the natural follow-up.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. Nothing tells the agent whether a created pod is started, whether pod_start_tool must be called afterward, or what to do if a pod with the same name exists.

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

pod_inspect_toolPod Inspect ToolC

Get detailed information about a pod.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPod name or ID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Get' implies a read-only operation, but the description says nothing about whether this requires permissions, whether it hits a live runtime or a store, or whether it is safe to call repeatedly. With no annotations this is a significant gap.

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?

One short, front-loaded sentence with no waste. It is efficient, though the brevity comes at the cost of the guidance that is missing elsewhere.

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?

An output schema exists, so return values need not be explained, and there is only one required parameter. What is missing is routing context against pod_list_tool and any behavioral note for a mutation-free but annotation-less tool, leaving it only minimally viable.

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% and there is a single 'name' parameter documented as 'Pod name or ID', so the schema does the heavy lifting. The description adds no format or resolution detail beyond that, which is the expected baseline when coverage is complete.

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 ('Get detailed information') and resource ('pod'), which is clearer than the bare name. However, it never distinguishes itself from pod_list_tool, the obvious sibling an agent might confuse it with; 'detailed' implies inspection but does not explicitly contrast with listing.

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

Usage Guidelines2/5

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

No when-to-use guidance and no alternative named. The agent must infer that this is for a single known pod rather than enumerating pods, which pod_list_tool would cover. Nothing states prerequisites such as whether the pod must exist or be running.

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

pod_list_toolPod List ToolC

List pods.

ParametersJSON Schema
NameRequiredDescriptionDefault
filtersNoFilter by key/value pairs (e.g. {"name": ["mypod"]})

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure, and it says nothing about whether the operation is read-only, whether results are paginated, or what scope is returned. Only the verb "List" weakly implies a non-mutating read.

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

Conciseness2/5

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

Two words are certainly front-loaded and free of padding, but this is under-specification rather than conciseness — the brevity removes information an agent needs rather than tightening it.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, but a list tool with a filter parameter and no annotations still needs at least scope and filter-behavior context. That context is entirely 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?

The single filters parameter has 100% schema description coverage including an example ({"name": ["mypod"]}), so the schema does the work. The description adds no syntax or semantics beyond what the schema already states, making the baseline 3 appropriate.

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

Purpose3/5

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

The description gives a verb+resource ("List pods"), so the basic operation is unambiguous. However, it effectively restates the tool name pod_list_tool and offers no scope detail (all pods? running pods? current namespace?) that would separate it from pod_inspect_tool or pod_start_tool.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus pod_inspect_tool or the container_list_tool sibling, and no mention of prerequisites or context. The agent must infer everything from the name alone.

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

pod_restart_toolPod Restart ToolB

Restart a pod and all its containers.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPod name or ID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description must carry behavioral disclosure. It indicates a disruptive mutation ('restart') and notes that all containers are affected, which is useful. However, it doesn't state whether this requires specific permissions, what happens to running state, or whether it's graceful vs forced—significant gaps for a mutation tool.

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

Conciseness5/5

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

A single, front-loaded sentence with zero waste. It states the action, the resource, and the scope efficiently.

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 mutation tool with no annotations, the description is minimal. It covers what the tool does and that all containers are affected, but omits behavioral details like graceful vs forced restart, required permissions, or side effects. The presence of an output schema reduces the need to explain return values, but the lack of annotations and usage guidance leaves gaps.

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 coverage is 100% and the single parameter ('name') is fully documented in the schema as 'Pod name or ID'. The description adds no additional parameter meaning beyond what the schema already provides, so baseline 3 is appropriate.

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?

The description states a specific verb ('Restart') and resource ('pod'), and adds scope ('all its containers'), which distinguishes it from container_restart_tool. It clearly conveys the action without being a tautology.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus pod_stop_tool/pod_start_tool or container_restart_tool. The sibling list includes many alternatives (pod_stop_tool, pod_start_tool, container_restart_tool), but the description offers no routing advice or exclusions.

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

pod_rm_toolPod Rm ToolB

Remove a pod and all its containers.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPod name or ID
forceNoForce removal of running pod

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose one valuable behavioral trait beyond the schema: removal cascades to all containers in the pod. However, it says nothing about irreversibility, behavior on running pods, or what the force flag changes operationally.

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 tight sentence with the key cascade behavior front-loaded. No wasted words, though it is arguably thin given the tool is destructive.

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?

An output schema exists, so return values need not be explained, and the cascade behavior is captured. But for a destructive, annotation-free tool, the absence of any guidance on running pods, force semantics, or irreversibility leaves real gaps.

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 both parameters (name, force) are already documented in the schema. The description adds no extra meaning about parameter usage, so the baseline 3 applies.

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 (Remove) and resource (pod), plus the important scope detail that all its containers go with it. This implicitly separates it from pod_stop/pod_restart, though it doesn't name those siblings explicitly.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of the alternative tools (pod_stop, pod_restart, container_rm). The agent must infer that this is the destructive variant from the verb alone.

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

pod_start_toolPod Start ToolC

Start a pod and all its containers.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPod name or ID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it only restates scope. It does not disclose idempotency (what happens if the pod is already running), permission requirements, or failure behavior, which matters for a mutation tool with zero annotation coverage.

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 short sentence with the action front-loaded and zero wasted words. It is efficient, though it borders on under-specification rather than demonstrating exemplary structure.

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

Completeness2/5

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

An output schema exists, so return values need not be explained. However, for an unannotated mutation tool, the definition omits idempotency, error conditions, and prerequisites, leaving meaningful gaps.

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%, and the single 'name' parameter is documented in the schema as 'Pod name or ID'. The description adds no additional meaning beyond the schema, so the baseline of 3 applies.

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?

The description states a specific verb and resource ('Start a pod') and even clarifies scope by noting all its containers are started too. It does not differentiate itself from the sibling lifecycle tools (pod_stop_tool, pod_restart_tool), so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus pod_restart_tool or pod_create_tool, no prerequisites (does the pod need to exist in a stopped state?), and no exclusions. The agent must infer usage entirely from the tool name.

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

pod_stop_toolPod Stop ToolC

Stop a pod and all its containers.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPod name or ID
timeoutNoSeconds to wait before killing (default: 10)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses that all containers are stopped, which is useful, but says nothing about whether the stop is graceful (SIGTERM then kill), what happens after the timeout expires, whether the pod is deleted or merely halted, or what state the caller should expect afterwards.

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 short sentence with the action front-loaded and zero filler. It is efficient, though for a state-mutating tool the brevity tips toward under-specification rather than crispness.

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

Completeness2/5

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

An output schema exists, so return values need not be described. However, for a lifecycle-mutating tool with no annotations and many similar siblings, the description omits the prerequisites, post-conditions, and sibling routing an agent needs to call it correctly.

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%: 'name' (Pod name or ID) and 'timeout' (seconds before killing, default 10) are both documented in the schema. The description adds no parameter-level meaning beyond that, so the baseline 3 applies.

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?

The description gives a specific verb (Stop) and resource (pod), and adds scope detail that the name alone does not convey: it stops all containers in the pod, not just the pod object. It does not, however, distinguish this from siblings such as pod_restart_tool, pod_rm_tool, or pod_start_tool, so an agent must still infer which lifecycle operation is appropriate.

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

Usage Guidelines2/5

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

There is no guidance on when to stop versus restart, remove, or kill a pod, and no stated preconditions (e.g. pod must exist/running) or notes about reversibility. With four closely related pod lifecycle siblings, this absence is a real gap.

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

system_df_toolSystem Df ToolA

Get Podman disk usage.

Returns: Disk usage by images, containers, and volumes

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. The verb 'Get' implies a read-only operation, and the return summary is helpful, but it does not explicitly state safety, side effects, permissions, or rate-limit behavior.

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

Conciseness5/5

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

The description is front-loaded and concise: one sentence for purpose and one for return categories. Every sentence earns its place without redundancy.

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

Completeness4/5

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

For a simple zero-parameter read tool with an output schema, the description is largely complete. It states purpose and return categories, though it omits usage context relative to sibling tools.

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?

The tool has zero parameters, so the schema is empty and there are no parameter semantics to document. Per the rubric, zero-parameter tools receive a baseline of 4.

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 states a specific verb and resource: 'Get Podman disk usage.' This clearly distinguishes the tool from sibling tools like system_info_tool, volume_list_tool, and container_stats_tool because it is the only one focused on aggregate disk usage.

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

Usage Guidelines2/5

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

The description does not explain when to use this tool versus alternatives such as system_info_tool or volume_list_tool. It only states what the tool does, leaving usage context to inference.

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

system_info_toolSystem Info ToolA

Get Podman system information.

Returns: System details including version, storage, registries, and runtime

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. 'Get' establishes a read-only operation and the Returns block enumerates the categories of information (version, storage, registries, runtime), but it says nothing about permission requirements (rootless vs root), cost, or whether any system state is touched, which is a meaningful gap for a zero-annotation 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?

Two short lines, verb-and-resource front-loaded, with the return contents separated into a Returns block. Nothing is padded, though the Returns block largely duplicates what the output schema already provides.

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

Completeness4/5

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

For a zero-parameter, read-only inspection tool with an output schema present, the description supplies enough for correct invocation: what it retrieves and that it takes no arguments. Only the absence of any permission or scope caveat keeps it from being fully complete.

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?

The tool takes zero parameters, so there are no argument semantics to explain; the baseline for a no-parameter tool applies. The description correctly signals that no filtering or scoping is available.

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: 'Get Podman system information,' which clearly separates it from the container/pod/image/network/volume siblings that all operate on a named object. It stops short of explicitly contrasting itself with the closest sibling, system_df_tool, so it is clear but not fully differentiated.

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: an agent can infer this is the system-wide read used when no specific container, pod, or image is the target. There is no statement of when-not to use it or why one would pick it over system_df_tool, both of which are read-only system queries.

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

volume_inspect_toolVolume Inspect ToolC

Get detailed information about a volume.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesVolume name

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it says nothing about read-only semantics, permissions, or behavior on a nonexistent volume. The output schema covers return values, but the description adds no behavioral context of its own.

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 zero waste. It is well-structured, though its brevity comes at the cost of substance rather than through tight editing.

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?

The existence of an output schema means return values need not be explained, and the tool is simple (one required param). However, with no annotations and no usage guidance, the definition is only minimally complete for an agent deciding when and how to call it.

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 the single 'name' parameter is fully documented in the schema. The description adds no format or naming-convention detail beyond the schema, which is the expected baseline when the schema does the heavy lifting.

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?

The description pairs the specific verb 'Get detailed information' with the resource 'volume', making the operation unambiguous. It implicitly contrasts with the sibling volume_list_tool via 'detailed information', but never names the alternative or states the distinction explicitly.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of when to prefer volume_list_tool versus this inspection tool, and no stated prerequisites. The single sentence offers no routing information.

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

volume_list_toolVolume List ToolC

List volumes.

ParametersJSON Schema
NameRequiredDescriptionDefault
filtersNoFilter by key/value pairs

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. 'List' implies a read operation, but there is no mention of pagination, result ordering, whether the operation is read-only, or any permission requirement. For a tool with zero annotation coverage this is a significant gap.

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

Conciseness3/5

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

At two words it is certainly concise and front-loaded, but the brevity reflects under-specification rather than efficiency. It does not waste words, yet it also fails to earn its place by conveying anything beyond the title.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, but the description still omits essential context: what the filter keys are, the scope of the listing, and how it relates to the sibling volume_inspect_tool. For a tool in a large sibling set, this is not complete enough to guide reliable invocation.

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?

The single 'filters' parameter has 100% schema description coverage ('Filter by key/value pairs'), so the schema already carries the parameter semantics. The description adds nothing beyond that, which places it at the baseline for high-coverage schemas.

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

Purpose3/5

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

'List volumes' names a specific verb and resource, so the basic action is unambiguous. However, it gives no scope (all volumes? filtered?) and does not differentiate itself from the many sibling list/inspect tools such as volume_inspect_tool or network_list_tool. It is the minimum needed to identify the operation but adds no distinguishing detail.

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

Usage Guidelines2/5

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

There is no when-to-use guidance: nothing explains when to call this versus volume_inspect_tool, nor whether a container/pod context is required. The reader must infer usage entirely from the name.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.1.0
    • Changedimage_prune_tool4 fields changed
      • addedInput schema / properties / all
        Added value: +{
        +  "default": false,
        +  "description": "Remove every image not used by a container, not just dangling ones (--all)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / build_cache
        Added value: +{
        +  "default": false,
        +  "description": "Also remove the persistent build cache from --mount=type=cache\n(--build-cache)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / external
        Added value: +{
        +  "default": false,
        +  "description": "Also remove images used only by external containers, e.g. build\ncontainers (--external)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / filters
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Limit what is pruned (--filter). Keys: \"until\" (images built before\na timestamp or Go duration, e.g. {\"until\": [\"168h\"]}; compares the build\ndate, not when the image was pulled or tagged), \"label\" / \"label!\"\n(e.g. {\"label\": [\"stage=ci\"]}), \"dangling\" ([\"true\"] or [\"false\"])"
        +}
  2. 7 tool updatesv1.0.0
    • Changedcontainer_logs_tool1 field changed
      • changedInput schema / properties / since / description
        Previous value: -"Show logs since timestamp (e.g. \"2024-01-01T00:00:00Z\")"New value: +"Show logs since timestamp (RFC3339, e.g. \"YYYY-MM-DDThh:mm:ssZ\")"
    • Removedservice_list_tool
    • Removedservice_logs_tool
    • Removedservice_restart_tool
    • Removedservice_start_tool
    • Removedservice_status_tool
    • Removedservice_stop_tool
  3. 36 tool updatesv0.2.2
    • First observedcontainer_create_tool
    • First observedcontainer_inspect_tool
    • First observedcontainer_kill_tool
    • First observedcontainer_list_tool
    • First observedcontainer_logs_tool
    • First observedcontainer_prune_tool
    • First observedcontainer_restart_tool
    • First observedcontainer_rm_tool
    • First observedcontainer_start_tool
    • First observedcontainer_stats_tool
    • First observedcontainer_stop_tool
    • First observedcontainer_top_tool
    • First observedimage_inspect_tool
    • First observedimage_list_tool
    • First observedimage_prune_tool
    • First observedimage_pull_tool
    • First observedimage_rm_tool
    • First observednetwork_inspect_tool
    • First observednetwork_list_tool
    • First observedpod_create_tool
    • First observedpod_inspect_tool
    • First observedpod_list_tool
    • First observedpod_restart_tool
    • First observedpod_rm_tool
    • First observedpod_start_tool
    • First observedpod_stop_tool
    • First observedservice_list_tool
    • First observedservice_logs_tool
    • First observedservice_restart_tool
    • First observedservice_start_tool
    • First observedservice_status_tool
    • First observedservice_stop_tool
    • First observedsystem_df_tool
    • First observedsystem_info_tool
    • First observedvolume_inspect_tool
    • First observedvolume_list_tool

TDQS

B3.1/5.0

Scored across 30 tools

Disambiguation5/5

Each tool targets a clearly distinct resource and action, e.g., container stop vs kill vs prune vs rm are unambiguous. Pod, image, network, volume, and system operations are also well separated with no meaningful overlap.

Naming Consistency5/5

All 30 tools follow a consistent snake_case resource_action_tool pattern, such as container_list_tool, pod_create_tool, and image_pull_tool. The uniform suffix and verb placement make the naming predictable throughout.

Tool Count2/5

With 30 tools, the server exceeds the recommended range and feels over-granular for an MCP surface. Although Podman has a broad domain, several operations could be consolidated or grouped to reduce the tool count.

Completeness3/5

Core container, pod, and image lifecycle operations are covered, but notable gaps remain: no network or volume creation/removal, no image build/push, no container exec, and no pod pause/unpause. These missing operations limit common Podman workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables AI tools to manage containerized applications through Podman, supporting container lifecycle operations, command execution, log viewing, image management, and resource monitoring. Features automatic network discovery for seamless integration with MCP Discovery Hub.
    12
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables management of Podman containers, pods, images, and compose stacks via natural language, with support for container stats, logs, exec, health analysis, and a web dashboard.
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides a local API to manage Docker containers and volumes, enabling operations like listing, inspecting, starting, stopping, and removing containers, as well as managing volumes, all through HTTP endpoints without shell commands.
    91 npm
    MIT