{
  "markdown": "# Podman MCP Server\n\n[![GitHub License](https://img.shields.io/github/license/manusa/podman-mcp-server)](https://github.com/manusa/podman-mcp-server/blob/main/LICENSE)\n[![npm](https://img.shields.io/npm/v/podman-mcp-server)](https://www.npmjs.com/package/podman-mcp-server)\n[![PyPI - Version](https://img.shields.io/pypi/v/podman-mcp-server)](https://pypi.org/project/podman-mcp-server/)\n[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/manusa/podman-mcp-server?sort=semver)](https://github.com/manusa/podman-mcp-server/releases/latest)\n[![Build](https://github.com/manusa/podman-mcp-server/actions/workflows/build.yaml/badge.svg)](https://github.com/manusa/podman-mcp-server/actions/workflows/build.yaml)\n\n[✨ Features](#features) | [🚀 Getting Started](#getting-started) | [📚 Documentation](#documentation) | [🎥 Demos](#demos) | [⚙️ Configuration](#configuration) | [🛠️ Tools](#tools) | [🧑‍💻 Development](#development)\n\n## ✨ Features <a id=\"features\"></a>\n\nA powerful and flexible MCP server for container runtimes supporting Podman and Docker.\n\n## 🚀 Getting Started <a id=\"getting-started\"></a>\n\n### Claude Desktop\n\n#### Using npx\n\nIf you have npm installed, this is the fastest way to get started with `podman-mcp-server` on Claude Desktop.\n\nOpen your `claude_desktop_config.json` and add the mcp server to the list of `mcpServers`:\n``` json\n{\n  \"mcpServers\": {\n    \"podman\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"podman-mcp-server@latest\"\n      ]\n    }\n  }\n}\n```\n\n### VS Code / VS Code Insiders\n\nInstall the Podman MCP server by clicking one of the following links:\n\n[<img src=\"https://img.shields.io/badge/VS_Code-VS_Code?style=flat-square&label=Install%20Server&color=0098FF\" alt=\"Install in VS Code\">](https://vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522podman%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522-y%2522%252C%2522podman-mcp-server%2540latest%2522%255D%257D)\n[<img alt=\"Install in VS Code Insiders\" src=\"https://img.shields.io/badge/VS_Code_Insiders-VS_Code_Insiders?style=flat-square&label=Install%20Server&color=24bfa5\">](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522podman%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522-y%2522%252C%2522podman-mcp-server%2540latest%2522%255D%257D)\n\nAlternatively, you can install the extension manually by running the following command:\n\n```shell\n# For VS Code\ncode --add-mcp '{\"name\":\"podman\",\"command\":\"npx\",\"args\":[\"-y\",\"podman-mcp-server@latest\"]}'\n# For VS Code Insiders\ncode-insiders --add-mcp '{\"name\":\"podman\",\"command\":\"npx\",\"args\":[\"-y\",\"podman-mcp-server@latest\"]}'\n```\n\n### Goose CLI\n\n[Goose CLI](https://blog.marcnuri.com/goose-on-machine-ai-agent-cli-introduction) is the easiest (and cheapest) way to get rolling with artificial intelligence (AI) agents.\n\n#### Using npm\n\nIf you have npm installed, this is the fastest way to get started with `podman-mcp-server`.\n\nOpen your goose `config.yaml` and add the mcp server to the list of `mcpServers`:\n```yaml\nextensions:\n  podman:\n    command: npx\n    args:\n      - -y\n      - podman-mcp-server@latest\n\n```\n\n## 📚 Documentation <a id=\"documentation\"></a>\n\nFor detailed setup guides, configuration reference, and feature specifications, see the **[Documentation](docs/README.md)**.\n\n## 🎥 Demos <a id=\"demos\"></a>\n\n## ⚙️ Configuration <a id=\"configuration\"></a>\n\nThe Podman MCP server can be configured using command line (CLI) arguments.\n\nYou can run the CLI executable either by using `npx` or by downloading the [latest release binary](https://github.com/manusa/podman-mcp-server/releases/latest).\n\n```shell\n# Run the Podman MCP server using npx (in case you have npm installed)\nnpx podman-mcp-server@latest --help\n```\n\n```shell\n# Run the Podman MCP server using the latest release binary\n./podman-mcp-server --help\n```\n\n### Configuration Options\n\n| Option                 | Description                                                                                      |\n|------------------------|--------------------------------------------------------------------------------------------------|\n| `--port`, `-p`         | Starts the MCP server in HTTP mode with Streamable HTTP at `/mcp` and SSE at `/sse` endpoints.  |\n| `--output-format`, `-o`| Output format for list commands: `text` (default, human-readable table) or `json`.              |\n| `--podman-impl`        | Podman implementation to use. Auto-detects if not specified.                                    |\n| `--sse-port`           | **Deprecated.** Use `--port` instead. Starts the MCP server in SSE-only mode.                   |\n| `--sse-base-url`       | **Deprecated.** SSE public base URL to use when sending the endpoint message.                   |\n\n### Transport Modes\n\nThe server supports multiple transport modes:\n\n1. **STDIO mode** (default) - Communicates via standard input/output\n2. **HTTP mode** (`--port`) - Modern HTTP transport with both Streamable HTTP and SSE endpoints\n3. **SSE-only mode** (`--sse-port`) - Legacy Server-Sent Events transport (deprecated)\n\n```shell\n# Start HTTP server on port 8080 (Streamable HTTP at /mcp and SSE at /sse)\npodman-mcp-server --port 8080\n\n# Legacy SSE-only server on port 8080 (deprecated, use --port instead)\npodman-mcp-server --sse-port 8080\n```\n\n### Podman Implementations\n\nThe server supports multiple Podman backend implementations:\n\n| Implementation | Description | Priority |\n|----------------|-------------|----------|\n| `api` | Podman REST API via Unix socket | 100 (preferred) |\n| `cli` | Podman/Docker CLI wrapper | 50 (fallback) |\n\nBy default, the server **auto-detects** the best available implementation.\nThe `api` implementation is preferred when a Podman socket is available, otherwise the `cli` implementation is used as a fallback.\n\nUse the `--podman-impl` flag to force a specific implementation:\n\n```shell\n# Force CLI implementation\npodman-mcp-server --podman-impl=cli\n\n# Force API implementation (requires Podman socket)\npodman-mcp-server --podman-impl=api\n```\n\nThe `api` implementation communicates directly with the Podman REST API via Unix socket, while the `cli` implementation shells out to the `podman` or `docker` binary.\n\n## 🛠️ Tools <a id=\"tools\"></a>\n\n<!-- AVAILABLE-TOOLS-START -->\n\n<details>\n\n<summary>Container</summary>\n\n- **container_inspect** - Displays the low-level information and configuration of a Docker or Podman container with the specified container ID or name\n  - `name` (`string`) **(required)** - Docker or Podman container ID or name to display the information\n\n- **container_list** - Prints out information about the running Docker or Podman containers\n\n- **container_logs** - Displays the logs of a Docker or Podman container with the specified container ID or name\n  - `name` (`string`) **(required)** - Docker or Podman container ID or name to display the logs\n\n- **container_remove** - Removes a Docker or Podman container with the specified container ID or name (rm)\n  - `name` (`string`) **(required)** - Docker or Podman container ID or name to remove\n\n- **container_run** - Runs a Docker or Podman container with the specified image name\n  - `environment` (`array`) - Environment variables to set in the container. Format: <key>=<value>. Example: FOO=bar. (Optional, add only to set environment variables)\n  - `imageName` (`string`) **(required)** - Docker or Podman container image name to run\n  - `ports` (`array`) - Port mappings to expose on the host. Format: <hostPort>:<containerPort>. Example: 8080:80. (Optional, add only to expose ports)\n\n- **container_stop** - Stops a Docker or Podman running container with the specified container ID or name\n  - `name` (`string`) **(required)** - Docker or Podman container ID or name to stop\n\n</details>\n\n<details>\n\n<summary>Image</summary>\n\n- **image_build** - Build a Docker or Podman image from a Dockerfile, Podmanfile, or Containerfile\n  - `containerFile` (`string`) **(required)** - The absolute path to the Dockerfile, Podmanfile, or Containerfile to build the image from\n  - `imageName` (`string`) - Specifies the name which is assigned to the resulting image if the build process completes successfully (--tag, -t)\n\n- **image_list** - List the Docker or Podman images on the local machine\n\n- **image_pull** - Copies (pulls) a Docker or Podman container image from a registry onto the local machine storage\n  - `imageName` (`string`) **(required)** - Docker or Podman container image name to pull\n\n- **image_push** - Pushes a Docker or Podman container image, manifest list or image index from local machine storage to a registry\n  - `imageName` (`string`) **(required)** - Docker or Podman container image name to push\n\n- **image_remove** - Removes a Docker or Podman image from the local machine storage\n  - `imageName` (`string`) **(required)** - Docker or Podman container image name to remove\n\n</details>\n\n<details>\n\n<summary>Network</summary>\n\n- **network_list** - List all the available Docker or Podman networks\n\n</details>\n\n<details>\n\n<summary>Volume</summary>\n\n- **volume_list** - List all the available Docker or Podman volumes\n\n</details>\n\n\n<!-- AVAILABLE-TOOLS-END -->\n\n## 🧑‍💻 Development <a id=\"development\"></a>\n\n### Running with mcp-inspector\n\nCompile the project and run the Podman MCP server with [mcp-inspector](https://modelcontextprotocol.io/docs/tools/inspector) to inspect the MCP server.\n\n```shell\n# Compile the project\nmake build\n# Run the Podman MCP server with mcp-inspector\nnpx @modelcontextprotocol/inspector@latest $(pwd)/podman-mcp-server\n```\n\nmcp-name: io.github.manusa/podman-mcp-server\n",
  "bytes": 9692,
  "sha": "a9cf38fc63a41dd4a8c432ea1f31162be2af3d4ab79bd8640f58af90a7227ab6",
  "repo_slug": "manusa/podman-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_manusa_podman_mcp_server_02df050a/readme"
}