Knuckles-Team/container-manager-mcp
If you are the rightful owner of container-manager-mcp 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.
The Model Context Protocol (MCP) Server for Agentic AI facilitates the management of containers across various platforms such as Docker, Podman, Compose, and Docker Swarm.
Container Manager MCP Server
Version: 1.1.8
Container Manager MCP Server provides a robust interface to manage Docker and Podman containers, networks, volumes, and Docker Swarm services through a FastMCP server, enabling programmatic and remote container management.
This repository is actively maintained - Contributions are welcome!
Features
- Manage Docker and Podman containers, images, volumes, and networks
- Support for Docker Swarm operations
- Support for Docker Compose and Podman Compose operations
- FastMCP server for remote API access
- Comprehensive logging and error handling
- Extensible architecture for additional container runtimes
Usage:
Short Flag | Long Flag | Description |
---|---|---|
-h | --help | Display help information |
-t | --transport | Transport method (stdio or http, default: stdio) |
-h | --host | Host address for HTTP transport (default: 0.0.0.0) |
-p | --port | Port for HTTP transport (default: 8000) |
Available MCP Tools
get_version
: Retrieve version information of the container runtimeget_info
: Get system information about the container runtimelist_images
: List all available imagespull_image
: Pull an image from a registryremove_image
: Remove an imagelist_containers
: List running or all containersrun_container
: Run a new containerstop_container
: Stop a running containerremove_container
: Remove a containerget_container_logs
: Retrieve logs from a containerexec_in_container
: Execute a command in a containerlist_volumes
: List all volumescreate_volume
: Create a new volumeremove_volume
: Remove a volumelist_networks
: List all networkscreate_network
: Create a new networkremove_network
: Remove a networkcompose_up
: Start services defined in a Compose filecompose_down
: Stop and remove services defined in a Compose filecompose_ps
: List containers for a Compose projectcompose_logs
: View logs for a Compose project or specific serviceinit_swarm
: Initialize a Docker Swarmleave_swarm
: Leave a Docker Swarmlist_nodes
: List nodes in a Docker Swarmlist_services
: List services in a Docker Swarmcreate_service
: Create a new service in a Docker Swarmremove_service
: Remove a service from a Docker Swarm
Example:
Use with AI
Configure mcp.json
{
"mcpServers": {
"container_manager": {
"command": "uv",
"args": [
"run",
"--with",
"container-manager-mcp",
"container-manager-mcp"
],
"env": {
"CONTAINER_MANAGER_SILENT": "False", //Optional
"CONTAINER_MANAGER_LOG_FILE": "~/Documents/container_manager_mcp.log" //Optional
"CONTAINER_MANAGER_TYPE": "podman", //Optional
"CONTAINER_MANAGER_PODMAN_BASE_URL": "tcp://127.0.0.1:8080" //Optional
},
"timeout": 200000
}
}
}
Deploy MCP Server as a container
docker pull knucklessg1/container-manager:latest
Modify the compose.yml
services:
container-manager-mcp:
image: knucklessg1/container-manager:latest
environment:
- HOST=0.0.0.0
- PORT=8015
ports:
- 8015:8015
Installation Instructions:
Install Python Package
python -m pip install container-manager-mcp
or
uv pip install --upgrade container-manager-mcp
Test Server
container-manager-mcp --transport http --host 127.0.0.1 --port 8080
This starts the MCP server using HTTP transport on localhost port 8080.
To interact with the MCP server programmatically, you can use a FastMCP client or make HTTP requests to the exposed endpoints. Example using curl to pull an image:
curl -X POST http://127.0.0.1:8080/pull_image \
-H "Content-Type: application/json" \
-d '{"image": "nginx", "tag": "latest", "manager_type": "docker"}'
Install the Python package:
python -m pip install container-manager-mcp
Dependencies
- Python 3.7+
fastmcp
for MCP server functionalitydocker
for Docker supportpodman
for Podman supportpydantic
for data validation
Install dependencies:
python -m pip install fastmcp docker podman pydantic
Ensure Docker or Podman is installed and running on your system.
Development and Contribution:
Development and Contribution
Contributions are welcome! To contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature
) - Commit your changes (
git commit -am 'Add your feature'
) - Push to the branch (
git push origin feature/your-feature
) - Create a new Pull Request
Please ensure your code follows the project's coding standards and includes appropriate tests.
Repository Owners: