yok-tottii/mcp-podman-devcon
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.
create_environment
Creates a new development environment.
list_environments
Lists all available development environments.
cleanup_environment
Cleans up resources and environments.
read_file
Reads a file from the environment.
write_file
Writes a file to the environment.
run_command
Executes a command within the environment.
start_background_service
Starts a background service in the environment.
stop_background_service
Stops a running background service.
get_project_info
Retrieves information about the current project.
check_workspace
Checks the status of the workspace.
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
- 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"
}
}
}
}
- Start the MCP server:
./mcp-podman-devcon
VSCode Integration
mcp-podman-devcon can be integrated with VSCode's MCP extension.
- Install the MCP extension in VSCode
- 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"
}
}
}
}
- 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
- Fork the repository
- Create feature branch:
git checkout -b feature/new-feature
- Make changes with tests:
go test ./...
- 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.