mcp-podman-crunchtools
This server provides an MCP interface to manage Podman containers, images, pods, networks, volumes, and system information for both rootful and rootless Podman installations.
List, inspect, start, stop, restart, kill, remove, and prune containers.
Retrieve container logs, process lists, and resource usage statistics.
Create new containers with custom images, commands, environment variables, labels, and volume mounts.
List, inspect, pull, remove, and prune images.
List, inspect, start, stop, restart, remove, and create pods.
List and inspect networks.
List and inspect volumes.
Get Podman system information and disk usage.
Provides tools for managing Podman containers, images, pods, networks, volumes, and system information via the Podman REST API.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-podman-crunchtools list all running containers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-podmanRelated MCP server: podman-mcp
Configuration
Variable | Required | Default | Description |
| No | Auto-detect | Unix socket path |
| No | — | File containing socket path |
| No | 30 | Request timeout in seconds |
Socket auto-detection order:
$XDG_RUNTIME_DIR/podman/podman.sock(rootless)/run/user/$UID/podman/podman.sock(rootless fallback)/run/podman/podman.sock(rootful)
Claude Code Integration
claude mcp add mcp-podman-crunchtools \
--env PODMAN_SOCKET=/run/podman/podman.sock \
-- uvx mcp-podman-crunchtoolsTools (30)
Containers (12)
Tool | Description |
| List containers |
| Get container details; environment values are redacted, names kept |
| Start a container |
| Stop a container |
| Restart a container |
| Send signal to container |
| Remove a container |
| Get container logs |
| List processes |
| Resource usage |
| Create a container |
| Remove stopped containers |
Images (5)
Tool | Description |
| List images |
| Get image details |
| Pull from registry |
| Remove an image |
| Remove unused images, with the options of |
Pods (7)
Tool | Description |
| List pods |
| Get pod details |
| Start a pod |
| Stop a pod |
| Restart a pod |
| Remove a pod |
| Create a pod |
Networks (2)
Tool | Description |
| List networks |
| Get network details |
Volumes (2)
Tool | Description |
| List volumes |
| Get volume details |
System (2)
Tool | Description |
| Podman system info |
| Disk usage |
License
AGPL-3.0-or-later
Available Tools
30 toolscontainer_create_toolContainer Create ToolC
Create a new container.
Inputs: image (required), env, name, labels, +2 more. Returns: object
container_inspect_toolContainer Inspect ToolCRead-only
Get detailed information about a container.
Inputs: name (required). Returns: object
container_kill_toolContainer Kill ToolC
Send a signal to a container.
Inputs: name (required), signal. Returns: object
container_list_toolContainer List ToolCRead-only
List containers.
Inputs: limit, filters, all_containers. Returns: object
container_logs_toolContainer Logs ToolCRead-only
Get container logs.
Inputs: name (required), tail, since, timestamps. Returns: object
container_prune_toolContainer Prune ToolB
Remove all stopped containers.
Inputs: no named parameters. Returns: object
container_restart_toolContainer Restart ToolC
Restart a container.
Inputs: name (required), timeout. Returns: object
container_rm_toolContainer Rm ToolC
Remove a container.
Inputs: name (required), force, volumes. Returns: object
container_start_toolContainer Start ToolB
Start a stopped container.
Inputs: name (required). Returns: object
container_stats_toolContainer Stats ToolCRead-only
Get container resource usage statistics.
Inputs: name (required). Returns: object
container_stop_toolContainer Stop ToolC
Stop a running container.
Inputs: name (required), timeout. Returns: object
container_top_toolContainer Top ToolB
List processes running inside a container.
Inputs: name (required), ps_args. Returns: object
image_inspect_toolImage Inspect ToolCRead-only
Get detailed information about an image.
Inputs: name (required). Returns: object
image_list_toolImage List ToolCRead-only
List images.
Inputs: filters. Returns: object
image_prune_toolImage Prune ToolA
Remove unused images, like podman image prune.
With no arguments only dangling (untagged, unused) images are removed.
Inputs: all, filters, external, build_cache. Returns: object
image_pull_toolImage Pull ToolB
Pull an image from a registry.
Inputs: reference (required). Returns: object
image_rm_toolImage Rm ToolC
Remove an image.
Inputs: name (required), force. Returns: object
network_inspect_toolNetwork Inspect ToolCRead-only
Get detailed information about a network.
Inputs: name (required). Returns: object
network_list_toolNetwork List ToolCRead-only
List networks.
Inputs: filters. Returns: object
pod_create_toolPod Create ToolC
Create a new pod.
Inputs: name (required), infra, share, labels. Returns: object
pod_inspect_toolPod Inspect ToolCRead-only
Get detailed information about a pod.
Inputs: name (required). Returns: object
pod_list_toolPod List ToolCRead-only
List pods.
Inputs: filters. Returns: object
pod_restart_toolPod Restart ToolB
Restart a pod and all its containers.
Inputs: name (required). Returns: object
pod_rm_toolPod Rm ToolB
Remove a pod and all its containers.
Inputs: name (required), force. Returns: object
pod_start_toolPod Start ToolC
Start a pod and all its containers.
Inputs: name (required). Returns: object
pod_stop_toolPod Stop ToolC
Stop a pod and all its containers.
Inputs: name (required), timeout. Returns: object
system_df_toolSystem Df ToolBRead-only
Get Podman disk usage.
Inputs: no named parameters. Returns: object
system_info_toolSystem Info ToolBRead-only
Get Podman system information.
Inputs: no named parameters. Returns: object
volume_inspect_toolVolume Inspect ToolBRead-only
Get detailed information about a volume.
Inputs: name (required). Returns: object
volume_list_toolVolume List ToolCRead-only
List volumes.
Inputs: filters. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 30 tools
Each tool targets a distinct resource+action pair (container_start vs container_stop vs container_kill), and the resource prefix separates container/image/pod/network/volume tools cleanly. Minor potential confusion between container_kill and container_stop, and between prune vs rm, but descriptions clarify these.
Every tool follows the same resource_action_tool pattern (container_list_tool, image_pull_tool, pod_restart_tool), making the surface highly predictable. No mixed conventions.
30 tools is above the comfortable band, but the breadth is justified by six distinct resource domains (container, image, pod, network, volume, system). Each tool earns its place, though the set feels heavy for a single server.
Containers, images, and pods have solid lifecycle coverage (list/inspect/create/start/stop/restart/rm/prune). However, networks and volumes only have list/inspect with no create/rm, and container exec, image build/push, and container run are missing, leaving notable gaps.
Maintenance
Related MCP Connectors
Start, pause, resume, and run commands and file operations in Linux sandboxes.
Linux server administration over OAuth MCP: shell, Docker, systemd, files and monitoring.
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
Create, watch, pay for and connect hosted AI agent pods on AgentsPodium. Needs an API key.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables 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-
- AlicenseNot gradedqualityBmaintenanceEnables 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.1MIT
- AlicenseNot gradedqualityNot gradedmaintenanceProvides 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.86 npmMIT
- AlicenseBqualityBmaintenanceMCP server that exposes Podman host management as tools, allowing natural language control of containers, images, volumes, networks, and pods. Includes an administrative console with safety profiles for gated access.18MIT