docker-compose-mcp
Provides tools to manage Docker Compose containers, including updating containers (stop, pull, restart), executing arbitrary compose commands, and viewing status and logs.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@docker-compose-mcp Show status of containers in /home/user/project/docker-compose.yml"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Docker Compose MCP Server
An MCP (Model Context Protocol) server that enables Claude to manage Docker Compose containers on your local machine.
Features
Update containers: Stop, pull latest images, and restart containers in one command
Run any docker compose command: Execute arbitrary docker compose commands
Safe error handling: Graceful error handling with detailed feedback
Related MCP server: Docker MCP
Installation
Install dependencies:
npm installBuild the TypeScript code:
npm run buildConfiguration for Claude Desktop
Add this to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"docker-compose": {
"command": "node",
"args": [
"/absolute/path/to/docker-compose-mcp-server/dist/index.js"
]
}
}
}Replace /absolute/path/to/docker-compose-mcp-server with the actual path where you saved this project.
Usage Examples
Once configured, you can interact with Docker Compose through Claude:
Update containers
"Update my chemdraw containers at /Users/matt/Documents/chemdraw-js/chemdraw-js-compose.yml"
View container status
"Show me the status of my docker containers in /Users/matt/Documents/chemdraw-js/chemdraw-js-compose.yml"
View logs
"Show me the logs from my docker containers"
Restart containers
"Restart the containers in my compose file"
Available Tools
docker_compose_update
Updates Docker Compose containers by:
Stopping running containers (
docker compose down)Pulling latest images (
docker compose pull)Starting containers (
docker compose up -d)
Parameters:
compose_file(string, required): Absolute path to the docker-compose.yml filedetached(boolean, optional): Run in detached mode (default: true)
docker_compose_command
Execute any docker compose command.
Parameters:
compose_file(string, required): Absolute path to the docker-compose.yml filecommand(string, required): Docker compose command to run (e.g., "ps", "logs", "restart")
Security Considerations
This MCP server executes docker commands with the permissions of the user running Claude Desktop. Ensure you:
Only use trusted compose files
Understand the commands being executed
Review Claude's suggested commands before confirming destructive operations
Development
Watch mode for development:
npm run devTroubleshooting
"docker: not found"
Make sure Docker is installed and in your PATH. Test by running docker --version in your terminal.
"Permission denied"
Ensure your user has permission to run Docker commands. On Linux, you may need to add your user to the docker group.
"Cannot find module"
Make sure you've run npm run build before starting the server.
License
MIT
Available Tools
2 toolsdocker_compose_commandRun Docker Compose CommandA
Execute any docker compose command for a specific compose file.
This tool allows running arbitrary docker compose commands like:
ps: List containers
logs: View container logs
restart: Restart services
stop/start: Stop or start services
exec: Execute commands in running containers
Args:
compose_file (string): Absolute path to the docker-compose.yml file
command (string): Docker compose command to run (everything after 'docker compose -f file.yml')
Returns: The stdout and stderr output from the docker compose command
Examples:
Use when: "Show me the logs for my docker containers"
Use when: "List running docker compose services"
Use when: "Restart the web service"
Inputs: command (required), compose_file (required).
docker_compose_updateUpdate Docker Compose ContainersADestructive
Update Docker Compose containers by stopping them, pulling latest images, and restarting.
This tool executes the standard update workflow:
Stop running containers (docker compose down)
Pull latest images (docker compose pull)
Start containers with new images (docker compose up -d)
Args:
compose_file (string): Absolute path to the docker-compose.yml file
detached (boolean): Run containers in detached mode (default: true)
Returns: A summary of each step's output, including:
Which containers were stopped
Which images were pulled/updated
Which containers are now running
Any errors encountered during the process
Examples:
Use when: "Update my chemdraw containers"
Use when: "Pull latest images and restart docker compose"
Error Handling:
If 'down' fails, continues to 'pull' (containers may not be running)
If 'pull' fails, does not proceed to 'up'
If 'up' fails, reports error details
Inputs: compose_file (required), detached.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
docker_compose_update is a specialized workflow while docker_compose_command is a general executor. They overlap because the update workflow can also be run via the generic command, but the distinction is clear enough for an agent to choose correctly.
Both tools use snake_case with a consistent docker_compose_ prefix. The only minor inconsistency is that 'update' is a verb while 'command' is a noun, but the pattern is still predictable and readable.
Two tools is borderline thin for a server. While the generic command covers many operations, the specialized update tool means each tool earns its place, but more structured tools for common operations could improve usability.
The generic docker_compose_command can execute any docker compose command, covering the full lifecycle (up, down, logs, ps, exec, etc.). The update tool handles a common workflow, so there are no obvious gaps.
Maintenance
Related MCP Connectors
Work on your own computers from Claude or ChatGPT: run commands, edit and search files.
Use your Mac, Windows or Linux computer from ChatGPT, Claude or Codex: files, commands, documents.
Work with your DealSharp negotiation projects, documents and tools from Claude.
Develop, manage, and debug Railway projects, services, and deployments from within agents.
Related MCP Servers
- AlicenseAqualityDmaintenanceAllows Claude and other AI assistants to interact with Docker through the MCP protocol, enabling container and image management including listing, running, stopping, and pulling Docker resources.6101 npm4MIT
- FlicenseNot gradedqualityDmaintenanceEnables Docker container management directly through Claude using the Model Context Protocol. Provides 14 tools for managing containers, images, volumes, and Docker Compose deployments through natural language commands.-
- AlicenseAqualityDmaintenanceEnables managing Docker containers (run, list, stop, remove, view logs) through Claude Desktop using natural language commands.5101 npmMIT
- FlicenseNot gradedqualityDmaintenanceProvides Docker management tools for Claude Code, enabling container, image, network, and volume operations.-