{"id":28908639,"url":"https://github.com/manusa/podman-mcp-server","last_synced_at":"2026-08-27T19:06:16.487Z","repository":{"id":279907814,"uuid":"940393519","full_name":"manusa/podman-mcp-server","owner":"manusa","description":"Model Context Protocol (MCP) server for container runtimes (Podman and Docker)","archived":false,"fork":false,"pushed_at":"2026-08-03T21:33:42.000Z","size":535,"stargazers_count":79,"open_issues_count":17,"forks_count":19,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-08-10T13:58:40.379Z","etag":null,"topics":["container-runtime","containers","context","docker","mcp","model","model-context-protocol","podman","protocol"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/manusa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-02-28T05:09:41.000Z","updated_at":"2026-08-10T06:05:31.000Z","dependencies_parsed_at":"2025-02-28T12:53:13.112Z","dependency_job_id":"beb3e959-9c60-4bf7-919c-8e9e9496c6ea","html_url":"https://github.com/manusa/podman-mcp-server","commit_stats":null,"previous_names":["manusa/podman-mcp-server"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/manusa/podman-mcp-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manusa%2Fpodman-mcp-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manusa%2Fpodman-mcp-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manusa%2Fpodman-mcp-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manusa%2Fpodman-mcp-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/manusa","download_url":"https://codeload.github.com/manusa/podman-mcp-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manusa%2Fpodman-mcp-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36946239,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-27T02:00:07.166Z","response_time":96,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["container-runtime","containers","context","docker","mcp","model","model-context-protocol","podman","protocol"],"created_at":"2025-06-21T16:41:13.537Z","updated_at":"2026-08-27T19:06:16.482Z","avatar_url":"https://github.com/manusa.png","language":"Go","funding_links":[],"categories":["📚 Projects (1974 total)","⚙️ DevOps","Cloud Platforms","🐳 Kubernetes \u0026 Containers"],"sub_categories":["MCP Servers","How to Submit"],"readme":"# 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 \u003ca id=\"features\"\u003e\u003c/a\u003e\n\nA powerful and flexible MCP server for container runtimes supporting Podman and Docker.\n\n## 🚀 Getting Started \u003ca id=\"getting-started\"\u003e\u003c/a\u003e\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[\u003cimg src=\"https://img.shields.io/badge/VS_Code-VS_Code?style=flat-square\u0026label=Install%20Server\u0026color=0098FF\" alt=\"Install in VS Code\"\u003e](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[\u003cimg alt=\"Install in VS Code Insiders\" src=\"https://img.shields.io/badge/VS_Code_Insiders-VS_Code_Insiders?style=flat-square\u0026label=Install%20Server\u0026color=24bfa5\"\u003e](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 \u003ca id=\"documentation\"\u003e\u003c/a\u003e\n\nFor detailed setup guides, configuration reference, and feature specifications, see the **[Documentation](docs/README.md)**.\n\n## 🎥 Demos \u003ca id=\"demos\"\u003e\u003c/a\u003e\n\n## ⚙️ Configuration \u003ca id=\"configuration\"\u003e\u003c/a\u003e\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 \u003ca id=\"tools\"\u003e\u003c/a\u003e\n\n\u003c!-- AVAILABLE-TOOLS-START --\u003e\n\n\u003cdetails\u003e\n\n\u003csummary\u003eContainer\u003c/summary\u003e\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: \u003ckey\u003e=\u003cvalue\u003e. 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: \u003chostPort\u003e:\u003ccontainerPort\u003e. 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\u003c/details\u003e\n\n\u003cdetails\u003e\n\n\u003csummary\u003eImage\u003c/summary\u003e\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\u003c/details\u003e\n\n\u003cdetails\u003e\n\n\u003csummary\u003eNetwork\u003c/summary\u003e\n\n- **network_list** - List all the available Docker or Podman networks\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\n\u003csummary\u003eVolume\u003c/summary\u003e\n\n- **volume_list** - List all the available Docker or Podman volumes\n\n\u003c/details\u003e\n\n\n\u003c!-- AVAILABLE-TOOLS-END --\u003e\n\n## 🧑‍💻 Development \u003ca id=\"development\"\u003e\u003c/a\u003e\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","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanusa%2Fpodman-mcp-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanusa%2Fpodman-mcp-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanusa%2Fpodman-mcp-server/lists"}