Skip to content

Krelborn/docker-compose-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Installation

  1. Install dependencies:
npm install
  1. Build the TypeScript code:
npm run build

Configuration 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:

  1. Stopping running containers (docker compose down)
  2. Pulling latest images (docker compose pull)
  3. Starting containers (docker compose up -d)

Parameters:

  • compose_file (string, required): Absolute path to the docker-compose.yml file
  • detached (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 file
  • command (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 dev

Troubleshooting

"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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published