mcp-podman-devcon

yok-tottii/mcp-podman-devcon

3.2

If you are the rightful owner of mcp-podman-devcon and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

MCP Podman DevCon is a secure, rootless Model Context Protocol server that provides AI agents with containerized development environments using Podman.

Tools
  1. create_environment

    Creates a new development environment.

  2. list_environments

    Lists all available development environments.

  3. cleanup_environment

    Cleans up resources and environments.

  4. read_file

    Reads a file from the environment.

  5. write_file

    Writes a file to the environment.

  6. run_command

    Executes a command within the environment.

  7. start_background_service

    Starts a background service in the environment.

  8. stop_background_service

    Stops a running background service.

  9. get_project_info

    Retrieves information about the current project.

  10. check_workspace

    Checks the status of the workspace.

  11. diagnose_environment

    Diagnoses the environment for issues.

MCP Podman DevCon

A secure, rootless Model Context Protocol (MCP) server providing AI agents with containerized development environments using Podman. Built with mark3labs/mcp-go.

Features

  • 🔒 Security-first: Rootless container execution with configurable security modes
  • 📁 Project-local: Environment management within ./.worktree/
  • 🔄 Git integration: Automatic git worktree creation for isolated development
  • 🐳 Multi-image support: Registry images and custom Dockerfile builds
  • Background services: Built-in support for web servers, APIs, and development tools
  • 🧹 Auto-cleanup: Intelligent resource management and orphan detection

Quick Start

Prerequisites

  • Podman (rootless mode configured)
  • Git repository
  • Go 1.21+ (for building)

Installation

git clone <repository-url>
cd mcp-podman-devcon
go build -o mcp-podman-devcon ./cmd
./mcp-podman-devcon validate

Basic Usage

  1. Create .mcp.json in your project root:
{
  "mcpServers": {
    "mcp-podman-devcon": {
      "command": "./mcp-podman-devcon",
      "env": {
        "DEFAULT_IMAGE": "python:3.12-slim",
        "SECURITY_MODE": "development"
      }
    }
  }
}
  1. Start the MCP server:
./mcp-podman-devcon

VSCode Integration

mcp-podman-devcon can be integrated with VSCode's MCP extension.

  1. Install the MCP extension in VSCode
  2. Create .vscode/mcp.json in your project:
{
  "servers": {
    "mcp-pdmdc": {
      "command": "./mcp-podman-devcon",
      "env": {
        "DEFAULT_IMAGE": "python:3.12-slim",
        "SECURITY_MODE": "development",
        "DOCKERFILE_VALIDATION": "permissive",
        "PORT_MAPPINGS": "5000:5000"
      }
    }
  }
}
  1. Restart VSCode and the MCP server will start automatically

For detailed configuration, see .

Documentation

Getting Started

  • - 詳細なセットアップ手順
  • - .mcp.json設定とカスタマイズ
  • - カスタムイメージのビルド

Core Features

  • - 利用可能なMCPツール一覧
  • - Webサーバー、API等の実行
  • - 3段階のセキュリティ設定

Advanced Usage

  • - ワークフロー、Git統合、ベストプラクティス
  • - よくある問題と解決方法

MCP Tools Overview

Environment Management: create_environment, list_environments, cleanup_environment
File Operations: read_file, write_file
Command Execution: run_command, start_background_service, stop_background_service
Diagnostics: get_project_info, check_workspace, diagnose_environment

Example: AI Agent Workflow

// Create development environment
{"method": "tools/call", "params": {"name": "create_environment", "arguments": {"name": "my-project"}}}

// Install dependencies (development mode required)
{"method": "tools/call", "params": {"name": "run_command", "arguments": {"env_name": "my-project", "command": "pip install flask"}}}

// Start web service
{"method": "tools/call", "params": {"name": "start_background_service", "arguments": {"env_name": "my-project", "service_name": "flask", "command": "python app.py"}}}

// Clean up when done
{"method": "tools/call", "params": {"name": "cleanup_environment", "arguments": {"name": "my-project", "mode": "merge"}}}

Security

Three security modes available: production (strict), development (balanced), test (permissive). Development mode allows package installation with sudo access. All containers run rootless with read-only root filesystem.

Contributing

  1. Fork the repository
  2. Create feature branch: git checkout -b feature/new-feature
  3. Make changes with tests: go test ./...
  4. Submit pull request

License

This project is licensed under the MIT License. See for the full license text and third-party dependency information.

Third-Party Dependencies

This project uses the following open-source libraries:

  • mark3labs/mcp-go v0.33.0 (MIT License) - MCP protocol implementation
  • spf13/cobra (Apache 2.0) - CLI framework
  • stretchr/testify (MIT License) - Testing toolkit
  • gopkg.in/yaml.v3 (MIT/Apache 2.0) - YAML support (dual-licensed)
  • google/uuid (BSD-3-Clause) - UUID generation

Important Legal Notices

⚠️ SECURITY RESPONSIBILITY: This software provides containerized development environments. Users are responsible for proper security configuration, understanding container security implications, and ensuring appropriate isolation and resource limits.

📋 NO WARRANTY: This software is provided "AS IS" without warranty of any kind. The authors disclaim all warranties regarding security, merchantability, fitness for purpose, and continuous availability.

⚖️ LIMITATION OF LIABILITY: The authors and contributors shall not be liable for any damages, including data loss, security breaches, business interruption, or damages resulting from container execution.

🏢 COMMERCIAL USE: While licensed for commercial use, enterprise users should conduct their own legal review, ensure compliance with security requirements, and consider professional support arrangements.

🔒 SECURITY CONSIDERATIONS: Users must understand security implications, regularly update dependencies, monitor for security advisories, and implement appropriate access controls.

For details on third-party licenses and their respective disclaimers, please see .

Acknowledgments

  • mark3labs/mcp-go - MCP protocol implementation
  • Podman - Rootless container technology
  • MCP - Protocol specification
  • dagger/container-use - This project was heavily influenced by dagger/container-use in its concept of providing containerized environments for AI agents. We express our deepest respect for its architecture and approach.

Note: mcp-podman-devcon is an independent project with no affiliation to dagger/container-use. It has not received endorsement or support from the dagger project.

Trademark Disclaimer

mcp-podman-devcon is an independent project and is not affiliated with, endorsed by, or sponsored by Red Hat®, Inc.

"Podman" is a registered trademark of Red Hat, Inc. All other trademarks are property of their respective owners.

This project is a community-driven effort that utilizes Podman for container management. The use of the Podman name is solely to indicate compatibility and does not imply any official relationship or endorsement.

This project is not endorsed by the Podman project or Red Hat. It uses the Podman name solely to indicate compatibility.