Skip to content

0xshariq/docker-mcp-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Docker MCP Server

A comprehensive Model Context Protocol (MCP) server that provides advanced Docker operations through a unified interface. This server combines 16 powerful Docker MCP tools with 25+ convenient CLI aliases to create a complete Docker workflow solution for developers, DevOps engineers, and system administrators.

🌟 What Makes Docker MCP Server Special

Docker MCP Server is not just another Docker wrapper - it's a complete Docker workflow enhancement system designed to make Docker operations more intuitive, secure, and efficient:

🎯 Unified Interface

  • MCP Protocol Integration: Seamlessly works with MCP-compatible tools and IDEs
  • CLI Convenience: 25+ carefully crafted aliases for common Docker workflows
  • Consistent API: All operations follow the same patterns and conventions
  • Cross-Platform: Full support for Linux, macOS, and Windows environments

πŸ”’ Security-First Design

  • Docker-Managed Security: All password operations handled by Docker daemon for maximum security
  • Zero Password Exposure: Passwords never appear in command history, process lists, or arguments
  • Token Authentication Support: Full support for Personal Access Tokens and service accounts
  • Registry Flexibility: Secure login to Docker Hub, AWS ECR, Azure ACR, Google GCR, and custom registries
  • CI/CD Security: Secure stdin password input for automated deployment pipelines
  • Permission Management: Proper handling of Docker daemon permissions and credential storage

πŸš€ Developer Experience

  • Comprehensive Help System: Every command includes detailed documentation with --help
  • Smart Defaults: Sensible default configurations for common use cases
  • Error Prevention: Built-in safety checks and confirmation prompts for destructive operations
  • Rich Output: Formatted, colored output with clear status indicators

πŸ“Š Advanced Operations

  • Complete Container Lifecycle: From build to publish with comprehensive registry support
  • Multi-Container Management: Docker Compose integration with service orchestration
  • Registry Publishing: Advanced image publishing with multi-platform support and automated workflows
  • Network & Volume Management: Advanced networking and storage operations
  • System Maintenance: Intelligent cleanup tools with multiple safety levels
  • Development Workflows: Specialized commands for development environments

πŸ“¦ Installation

Simple Installation (Recommended)

Install Docker MCP Server globally to use it anywhere on your system:

# Install with npm
npm install -g @0xshariq/docker-mcp-server

# Or install with pnpm (faster)
pnpm add -g @0xshariq/docker-mcp-server

# Verify installation works
docker-mcp-server --version
dlist                        # List all available commands

That's it! All 25 CLI aliases are now available system-wide.

For Developers

If you want to contribute or customize the server:

# Clone and setup
git clone https://github.com/0xshariq/docker-mcp-server.git
cd docker-mcp-server
npm install
npm run build

# Test locally
npm link                     # Makes commands available globally
dlist                       # Verify it works

What You Need First

Before installing, make sure you have:

Check if you have them:

node --version              # Should show v18 or higher
docker --version           # Should show Docker version

πŸš€ Quick Start

Try It Out

Once installed, try these commands to see Docker MCP Server in action:

# See all available commands
dlist

# Basic Docker operations
dps                         # List running containers
dimages                     # List Docker images
drun -it ubuntu bash        # Run interactive Ubuntu container

# Advanced operations
dcompose up -d              # Start Docker Compose services
dlogin                      # Login to Docker registries
dpublish myapp:v1.0         # Publish image to registry

πŸ“š Documentation

Learn More:

🎯 What You Get

Basic Commands (8 aliases)

Simple, everyday Docker operations that just work:

  • Container Management: List, run, stop, and inspect containers
  • Image Operations: Pull, build, and manage Docker images
  • Logs & Debugging: View logs and execute commands inside containers

Advanced Commands (14 aliases)

Powerful tools for complex Docker workflows:

  • Multi-Container Apps: Full Docker Compose integration
  • Registry Operations: Secure login and image publishing to Docker Hub, GitHub, AWS, etc.
  • Network & Storage: Advanced networking and volume management
  • System Maintenance: Intelligent cleanup and environment management
  • Development Tools: Specialized workflows for development environments

πŸ”§ MCP Server Setup

For Claude Desktop

  1. Find your Claude config file:

    • Linux: ~/.config/claude-desktop/claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Add this to your config:

    {
      "mcpServers": {
        "docker": {
          "command": "node",
          "args": ["/path/to/docker-mcp-server/dist/index.js"]
        }
      }
    }
  3. Restart Claude Desktop and you'll see Docker tools available!

Universal Startup Script

Use our startup script for automatic setup with any MCP client:

./start-mcp.sh              # Automatic environment setup
./start-mcp.sh --help       # See all options

Compatible with: Claude Desktop, Cursor IDE, Continue (VS Code), Open WebUI, and more!

πŸ—οΈ Project Structure

docker-mcp-server/
β”œβ”€β”€ src/                    # TypeScript source code
β”œβ”€β”€ bin/                    # CLI alias scripts
β”‚   β”œβ”€β”€ basic/             # 8 basic Docker operations
β”‚   └── advanced/          # 14 advanced Docker operations  
β”œβ”€β”€ help/                  # Documentation for all commands
β”œβ”€β”€ start-mcp.sh          # Universal MCP server startup script
β”œβ”€β”€ docker-cli.js         # Main CLI wrapper
└── dist/                 # Compiled JavaScript output

πŸ“š Complete Documentation:

⚑ All Available Commands

Basic Operations (8 commands)

Essential Docker operations for daily use:

  • dimages, dps, dpsa, dpull, drun, dlogs, dexec, dbuild

Advanced Operations (14 commands)

Powerful tools for complex workflows:

  • dcompose, dup, ddown, dnetwork, dvolume, dinspect, dprune
  • dlogin, dlogout, dpublish, dbridge, ddev, dclean, dstop, dreset

Utility Commands (3 commands)

  • docker-mcp-server, dms, dlist

πŸ“– See detailed documentation: Use dlist command or check the README files linked above.

πŸ”§ Development

For Contributors

# Setup development environment
git clone https://github.com/0xshariq/docker-mcp-server.git
cd docker-mcp-server
npm install

# Development commands
npm run dev                 # Build and watch for changes
npm run build              # Build TypeScript
npm run start              # Start MCP server
npm run clean              # Clean build files

πŸ§ͺ Testing

Quick Test

# After installation, test these commands
dlist                      # Should show all 25 commands
dps                        # Should list containers
dimages                    # Should list images

Test MCP Integration

./start-mcp.sh             # Should start without errors

πŸ†˜ Common Issues

"Command not found"

# Make sure npm global bin is in your PATH
echo $PATH | grep $(npm config get prefix)

# If not found, add this to ~/.bashrc or ~/.zshrc:
export PATH="$(npm config get prefix)/bin:$PATH"

"Docker daemon not running"

# Check Docker status
docker info

# Start Docker (Linux)
sudo systemctl start docker

# Start Docker Desktop (macOS/Windows)
# Launch the Docker Desktop app

"Permission denied"

# Add yourself to docker group (Linux)
sudo usermod -aG docker $USER
# Then logout and login again

πŸ“‹ More Help:


πŸ“„ License

ISC License

πŸ‘¨β€πŸ’» Author

Sharique Chaudhary (@0xshariq)

🀝 Contributing

Contributions welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Test your changes
  4. Submit a pull request

πŸ”— Links


✨ Docker MCP Server - Making Docker workflows simple and powerful for everyone!