🐳 Docker Mcp
Un server Docker MCP (modelcontextprotocol)
Panoramica
Che cos'è Docker MCP?
Docker MCP (Model Context Protocol) è un server progettato per facilitare la gestione e l'orchestrazione delle applicazioni containerizzate. Fornisce un modo standardizzato per gestire i contesti dei modelli, consentendo agli sviluppatori di distribuire, gestire e scalare le loro applicazioni in modo efficiente utilizzando i container Docker. Docker MCP è particolarmente utile per i team che desiderano semplificare i loro processi di sviluppo e migliorare la collaborazione tra diversi ambienti.
Caratteristiche di Docker MCP
- Gestione dei Container: Docker MCP semplifica la gestione dei container, consentendo agli utenti di distribuire, aggiornare e scalare facilmente le applicazioni.
- Protocollo Standardizzato: Utilizza un protocollo standardizzato per i contesti dei modelli, garantendo compatibilità e facilità di integrazione con vari strumenti e servizi.
- Scalabilità: L'architettura di Docker MCP consente una scalabilità senza soluzione di continuità delle applicazioni, accogliendo carichi aumentati senza compromettere le prestazioni.
- Interfaccia Intuitiva: Docker MCP offre un'interfaccia intuitiva che rende facile per gli sviluppatori interagire con le loro applicazioni containerizzate.
- Open Source: Essendo un progetto open-source, Docker MCP incoraggia i contributi e la collaborazione della comunità, promuovendo innovazione e miglioramento continuo.
Come Usare Docker MCP
- Installazione: Inizia installando Docker sul tuo computer. Segui la documentazione ufficiale di Docker per le istruzioni di installazione.
- Clona il Repository: Usa Git per clonare il repository Docker MCP da GitHub:
git clone https://github.com/QuantGeekDev/docker-mcp.git
- Configurazione: Naviga nella directory clonata e configura le impostazioni necessarie nei file di configurazione in base ai requisiti del tuo progetto.
- Esegui il Server: Avvia il server Docker MCP utilizzando i comandi Docker. Assicurati che tutte le dipendenze siano soddisfatte e che l'ambiente sia configurato correttamente.
- Distribuisci le Applicazioni: Usa l'interfaccia di Docker MCP per distribuire le tue applicazioni, gestire i container e monitorare le prestazioni.
- Scalabilità: Man mano che la tua applicazione cresce, utilizza le funzionalità di scalabilità di Docker MCP per gestire l'aumento del traffico e delle richieste di risorse.
Domande Frequenti
D1: Quali sono i requisiti di sistema per Docker MCP?
R1: Docker MCP richiede una macchina con Docker installato. Si consiglia di avere almeno 4GB di RAM e un processore multi-core per prestazioni ottimali.
D2: Docker MCP è adatto per ambienti di produzione?
R2: Sì, Docker MCP è progettato per essere robusto e scalabile, rendendolo adatto per ambienti di produzione. Tuttavia, si consiglia di effettuare test approfonditi prima del deployment.
D3: Posso contribuire a Docker MCP?
R3: Assolutamente! Docker MCP è un progetto open-source e i contributi sono benvenuti. Puoi inviare segnalazioni di problemi, richieste di funzionalità o pull request sul repository GitHub.
D4: Come si confronta Docker MCP con altri strumenti di orchestrazione dei container?
R4: Docker MCP si concentra sulla gestione dei contesti dei modelli e fornisce un'interfaccia user-friendly, rendendo più facile per gli sviluppatori gestire le loro applicazioni rispetto ad alcuni strumenti di orchestrazione più complessi.
D5: Dove posso trovare la documentazione per Docker MCP?
R5: La documentazione per Docker MCP può essere trovata nel file README del repository e in ulteriori risorse collegate all'interno del repository.
Dettaglio
🐳 docker-mcp
A powerful Model Context Protocol (MCP) server for Docker operations, enabling seamless container and compose stack management through Claude AI.
✨ Features
- 🚀 Container creation and instantiation
- 📦 Docker Compose stack deployment
- 🔍 Container logs retrieval
- 📊 Container listing and status monitoring
🎬 Demos
Deploying a Docker Compose Stack
https://github.com/user-attachments/assets/b5f6e40a-542b-4a39-ba12-7fdf803ee278
Analyzing Container Logs
https://github.com/user-attachments/assets/da386eea-2fab-4835-82ae-896de955d934
🚀 Quickstart
To try this in Claude Desktop app, add this to your claude config files:
{
"mcpServers": {
"docker-mcp": {
"command": "uvx",
"args": [
"docker-mcp"
]
}
}
}
Installing via Smithery
To install Docker MCP for Claude Desktop automatically via Smithery:
npx @smithery/cli install docker-mcp --client claude
Prerequisites
- UV (package manager)
- Python 3.12+
- Docker Desktop or Docker Engine
- Claude Desktop
Installation
Claude Desktop Configuration
Add the server configuration to your Claude Desktop config file:
MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"docker-mcp": {
"command": "uv",
"args": [
"--directory",
"<path-to-docker-mcp>",
"run",
"docker-mcp"
]
}
}
}
</details>
<details>
<summary>🚀 Production Configuration</summary>
{
"mcpServers": {
"docker-mcp": {
"command": "uvx",
"args": [
"docker-mcp"
]
}
}
}
</details>
🛠️ Development
Local Setup
- Clone the repository:
git clone https://github.com/QuantGeekDev/docker-mcp.git
cd docker-mcp
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
uv sync
🔍 Debugging
Launch the MCP Inspector for debugging:
npx @modelcontextprotocol/inspector uv --directory <path-to-docker-mcp> run docker-mcp
The Inspector will provide a URL to access the debugging interface.
📝 Available Tools
The server provides the following tools:
create-container
Creates a standalone Docker container
{
"image": "image-name",
"name": "container-name",
"ports": {"80": "80"},
"environment": {"ENV_VAR": "value"}
}
deploy-compose
Deploys a Docker Compose stack
{
"project_name": "example-stack",
"compose_yaml": "version: '3.8'\nservices:\n service1:\n image: image1:latest\n ports:\n - '8080:80'"
}
get-logs
Retrieves logs from a specific container
{
"container_name": "my-container"
}
list-containers
Lists all Docker containers
{}
🚧 Current Limitations
- No built-in environment variable support for containers
- No volume management
- No network management
- No container health checks
- No container restart policies
- No container resource limits
🤝 Contributing
- Fork the repository from docker-mcp
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
📜 License
This project is licensed under the MIT License - see the LICENSE file for details.
✨ Authors
- Alex Andru - Initial work | Core contributor - @QuantGeekDev
- Ali Sadykov - Initial work | Core contributor - @md-archive
Made with ❤️
Configurazione Server
{
"mcpServers": {
"docker-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--quantgeekdev--docker-mcp--docker-mcp",
"docker-mcp"
],
"env": {}
}
}
}