Skip to main content
AllMCPs
BrowseBestCategoriesStackCompareToolsGuidesBlog Log in Submit MCP

Stay in the loop

Get new MCP servers and top picks in your inbox.

AllMCPs

The open directory for discovering and installing Model Context Protocol servers.

Explore

  • Browse servers
  • Best MCP servers
  • Categories
  • MCP clients
  • Agent prompts
  • Stack Builder
  • Compare servers
  • Tags index
  • Submit a server
  • Pricing

Learn

  • Guides hub
  • What is MCP?
  • Install guide
  • Troubleshooting
  • Security
  • Blog
  • Blog RSS

Tools

  • All tools
  • Config generator
  • Config validator
  • MCP playground
  • OpenAPI → MCP
  • Badge generator

For agents

  • API docs
  • Trust & traffic
  • llms.txt ↗ (opens in a new tab)
  • Catalog JSON ↗ (opens in a new tab)
  • Remote MCP ↗ (opens in a new tab)

Company

  • About
  • Contact
  • X (@AllMCPs) ↗ (opens in a new tab)
  • GitHub ↗ (opens in a new tab)
  • Terms
  • Privacy
AllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistAllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on Buildlist
© 2026 Jackalope Digital LLC. All rights reserved.
  1. Home
  2. ☁️ Cloud Platforms
  3. Docker Mcp
D
Health: Not checked yetWe have not completed a health check for this listing yet.Last checked 8/11/2026, 12:24:59 AM

Docker Mcp

Enrichment pendingWe haven’t run our AI enrichment pass on this listing yet, so the overview, use cases, and FAQ below may be sparse or missing. We work through the catalog over time — check back soon.
View Repository

MCP server for managing Docker containers, images, networks, volumes, and registries

Quick Install

Automated & IDE Setup

Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.

Add to CursorAdd to VS Code
Manual Client & Custom JSON ConfigExpand JSON ▾

Install Config Generator

Choose your client
claude_desktop_config.json
{
  "mcpServers": {
    "docker-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "docker-mcp"
      ]
    }
  }
}

💡 Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)

Install Directory Badge Claim listing Alternatives☁️ More in Cloud Platforms

Documentation Overview

Docker MCP Server

Docker MCP Server

Powerful Docker management for AI assistants

npm version License: MIT Node.js Version

A comprehensive Model Context Protocol (MCP) server that empowers AI assistants like Cursor, Claude Desktop, and other MCP-compatible clients to seamlessly manage Docker containers, images, networks, volumes, and registries through natural language interactions.

Why Docker MCP Server?

  • Zero Configuration - Works out of the box with npx, no installation needed
  • Safety First - Two-step confirmation for destructive operations
  • Cross-Platform - Works on Windows, Linux, and macOS with automatic Docker socket detection
  • Comprehensive - Full Docker API coverage including Compose, registries, and system operations
  • AI-Native - Designed specifically for AI assistants with clear, structured responses

Features Features

Container Management

  • Full lifecycle control: Create, start, stop, restart, kill, and remove containers
  • Monitoring: Real-time logs, statistics, and container inspection
  • Advanced operations: Pause/unpause, exec commands, and resource management

Image Management

  • Registry operations: Pull, push, tag, and remove images
  • Build support: Build images from Dockerfiles with full configuration
  • Inspection: Detailed image history, layers, and metadata

Network Management

  • Network operations: Create, remove, and inspect Docker networks
  • Container connectivity: Connect/disconnect containers from networks
  • Network discovery: List and filter networks with advanced options

Volume Management

  • Volume operations: Create, remove, and inspect volumes
  • Data persistence: Manage persistent storage for containers
  • Volume inspection: Detailed volume information and mount points

System Operations

  • System information: Docker daemon info, version, and capabilities
  • Resource cleanup: Prune unused images, containers, volumes, and networks
  • Event monitoring: Real-time Docker event stream

Container Execution

  • Command execution: Run commands in running containers
  • Interactive sessions: Create and manage exec instances
  • Output streaming: Real-time command output and logs

Registry Integration

  • Docker Hub: Search repositories, list tags, authenticate, pull/push images
  • GitHub Container Registry (GHCR): Full authentication and image management
  • Multi-registry support: Seamlessly work with multiple registries

Docker Compose Support

  • Multi-container management: Start, stop, restart compose services
  • Service monitoring: View logs and status of compose services
  • Build operations: Build compose services with dependency management
  • Configuration validation: Parse and validate docker-compose.yml files

Safety Features

  • Two-step confirmation for all destructive operations
  • Resource preview: See what will be deleted before confirmation
  • Dual confirmation methods:
    • Confirm parameter (default): Works everywhere, simple and reliable
    • MCP Elicitation API (advanced): Interactive form-based confirmation for better UX

Installation Installation

Via npx (Recommended)

Terminal
npx @alisaitteke/docker-mcp

Local Installation

Terminal
npm install -g @alisaitteke/docker-mcp

Or install locally in your project:

Terminal
npm install @alisaitteke/docker-mcp

Quick Start Quick Start

With Cursor

  1. Add to your Cursor MCP configuration (usually in .cursor/mcp.json or similar):
config.json
{
  "mcpServers": {
    "docker": {
      "command": "npx",
      "args": ["@alisaitteke/docker-mcp"]
    }
  }
}
  1. Restart Cursor and start managing Docker with AI!

With Claude Desktop

  1. Add to your Claude Desktop configuration:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
config.json
{
  "mcpServers": {
    "docker": {
      "command": "npx",
      "args": ["@alisaitteke/docker-mcp"]
    }
  }
}
  1. Restart Claude Desktop and start managing Docker with AI!

Local Development and Testing

Prerequisites

  • Node.js 18.0.0 or higher
  • Docker daemon running
  • npm or yarn

Setup

  1. Clone the repository:
bash
git clone <repository-url>
cd docker-mcp
  1. Install dependencies:
Terminal
npm install
  1. Build the project:
Terminal
npm run build

Running Locally

Method 1: Using npm start (after build)

bash
# Build first
npm run build

# Run the server
npm start

Method 2: Using npm run dev (development mode with tsx)

Terminal
npm run dev

This uses tsx to run TypeScript directly without building.

Method 3: Direct execution

bash
# Build first
npm run build

# Run directly with node
node dist/index.js

Method 4: Using the binary

bash
# Build first
npm run build

# Make sure the binary is executable
chmod +x bin/docker-mcp-server.js

# Run the binary
./bin/docker-mcp-server.js

Development Workflow

  1. Make changes to source files in src/
  2. Build the project:
Terminal
npm run build
  1. Test the changes:
Terminal
npm start
# or
npm run dev
  1. Check for TypeScript errors:
Terminal
npm run typecheck
  1. Lint the code:
Terminal
npm run lint

Troubleshooting

Docker connection issues:

  • Ensure Docker daemon is running: docker ps
  • Linux/macOS: Check Docker socket permissions: ls -la /var/run/docker.sock
  • Windows: Ensure Docker Desktop is running and named pipe is accessible
  • For remote Docker, set environment variables: DOCKER_HOST, DOCKER_CERT_PATH, etc.
  • macOS: If /var/run/docker.sock doesn't exist, try ~/.docker/run/docker.sock (Docker Desktop 4.0+)

Build errors:

  • Clear node_modules and reinstall: rm -rf node_modules && npm install
  • Check TypeScript version compatibility
  • Ensure all dependencies are installed: npm install

Runtime errors:

  • Check that Docker is accessible: docker version
  • Verify the build was successful: ls -la dist/
  • Check server logs (errors are written to stderr)

Configuration Configuration

The server automatically detects the operating system and uses the appropriate Docker socket path:

Platform-Specific Defaults

  • Linux: /var/run/docker.sock (Unix socket)
  • macOS: /var/run/docker.sock or ~/.docker/run/docker.sock (Docker Desktop 4.0+)
  • Windows: //./pipe/docker_engine (Named pipe)

Connection Methods (in order of priority)

  1. Environment variables (highest priority):

    • DOCKER_HOST - Docker daemon host (e.g., tcp://localhost:2376, npipe:////./pipe/docker_engine)
    • DOCKER_PORT - Docker daemon port
    • DOCKER_PROTOCOL - Protocol (http or https)
    • DOCKER_SOCKET_PATH - Path to Docker socket (overrides platform default)
    • DOCKER_CERT_PATH - Path to Docker certificates directory
    • DOCKER_TLS_VERIFY - Enable TLS verification (1 or 0)
  2. Platform-specific defaults (automatic detection):

    • Linux: /var/run/docker.sock
    • macOS: /var/run/docker.sock (or ~/.docker/run/docker.sock if available)
    • Windows: //./pipe/docker_engine

Windows Configuration

On Windows, Docker Desktop uses named pipes. The server automatically detects Windows and uses the correct path. You can also explicitly set:

bash
# Using environment variable
set DOCKER_SOCKET_PATH=//./pipe/docker_engine

# Or using DOCKER_HOST
set DOCKER_HOST=npipe:////./pipe/docker_engine

Remote Docker Host

To connect to a remote Docker host:

server.ts
# Linux/macOS
export DOCKER_HOST=tcp://192.168.1.100:2376
export DOCKER_TLS_VERIFY=1
export DOCKER_CERT_PATH=/path/to/certs

# Windows
set DOCKER_HOST=tcp://192.168.1.100:2376
set DOCKER_TLS_VERIFY=1
set DOCKER_CERT_PATH=C:\path\to\certs

Available Tools Available Tools

Container Tools

  • docker_list_containers - List all containers
  • docker_create_container - Create a new container
  • docker_start_container - Start a container
  • docker_stop_container - Stop a container
  • docker_restart_container - Restart a container
  • docker_kill_container - Kill a container
  • docker_remove_container - Remove a container
  • docker_inspect_container - Get container details
  • docker_container_logs - Get container logs
  • docker_container_stats - Get container statistics
  • docker_pause_container - Pause a container
  • docker_unpause_container - Unpause a container

Image Tools

  • docker_list_images - List all images
  • docker_pull_image - Pull an image from registry
  • docker_push_image - Push an image to registry
  • docker_tag_image - Tag an image
  • docker_remove_image - Remove an image
  • docker_inspect_image - Get image details
  • docker_image_history - Get image history

Network Tools

  • docker_list_networks - List all networks
  • docker_create_network - Create a network
  • docker_remove_network - Remove a network
  • docker_inspect_network - Get network details
  • docker_connect_container - Connect container to network
  • docker_disconnect_container - Disconnect container from network

Volume Tools

  • docker_list_volumes - List all volumes
  • docker_create_volume - Create a volume
  • docker_remove_volume - Remove a volume
  • docker_inspect_volume - Get volume details

System Tools

  • docker_system_info - Get Docker system information
  • docker_version - Get Docker version
  • docker_prune_system - Prune all unused resources
  • docker_prune_images - Prune unused images
  • docker_prune_containers - Prune stopped containers
  • docker_prune_volumes - Prune unused volumes
  • docker_prune_networks - Prune unused networks

Exec Tools

  • docker_exec - Execute a command in a container
  • docker_inspect_exec - Get exec instance details

Compose Tools

  • docker_compose_up - Start Docker Compose services
  • docker_compose_down - Stop and remove Docker Compose services
  • docker_compose_ps - List Docker Compose services
  • docker_compose_logs - View output from Docker Compose services
  • docker_compose_config - Parse and validate docker-compose.yml file
  • docker_compose_build - Build Docker Compose services
  • docker_compose_restart - Restart Docker Compose services
  • docker_compose_stop - Stop Docker Compose services
  • docker_compose_start - Start Docker Compose services

Registry Tools

  • dockerhub_search - Search Docker Hub
  • dockerhub_get_tags - Get repository tags from Docker Hub
  • dockerhub_authenticate - Authenticate with Docker Hub
  • dockerhub_pull - Pull from Docker Hub
  • dockerhub_push - Push to Docker Hub
  • ghcr_authenticate - Authenticate with GitHub Container Registry
  • ghcr_pull - Pull from GHCR
  • ghcr_push - Push to GHCR

Examples Examples

List running containers

config.json
{
  "name": "docker_list_containers",
  "arguments": {
    "all": false
  }
}

Create and start a container

config.json
{
  "name": "docker_create_container",
  "arguments": {
    "image": "nginx:latest",
    "name": "my-nginx",
    "ports": {"80/tcp": {}}
  }
}

Then start it:

config.json
{
  "name": "docker_start_container",
  "arguments": {
    "id": "my-nginx"
  }
}

Pull an image from Docker Hub

config.json
{
  "name": "docker_pull_image",
  "arguments": {
    "name": "ubuntu:20.04"
  }
}

Search Docker Hub

config.json
{
  "name": "dockerhub_search",
  "arguments": {
    "query": "node",
    "limit": 10
  }
}

Execute a command in a container

config.json
{
  "name": "docker_exec",
  "arguments": {
    "containerId": "my-container",
    "cmd": ["ls", "-la"],
    "tty": false
  }
}

Start Docker Compose services

config.json
{
  "name": "docker_compose_up",
  "arguments": {
    "projectDir": "/path/to/compose/project",
    "detach": true,
    "build": true
  }
}

View Compose logs

config.json
{
  "name": "docker_compose_logs",
  "arguments": {
    "projectDir": "/path/to/compose/project",
    "follow": false,
    "tail": 100
  }
}

Removing Resources with Confirmation

All destructive operations (remove, kill, prune) support two confirmation methods:

Method 1: Confirm Parameter (Default - Works Everywhere)

Step 1: Preview (without confirm)

config.json
{
  "name": "docker_remove_volume",
  "arguments": {
    "name": "my-volume"
  }
}

This returns volume details and a warning message.

Step 2: Confirm (with confirm=true)

config.json
{
  "name": "docker_remove_volume",
  "arguments": {
    "name": "my-volume",
    "confirm": true
  }
}

This actually removes the volume.

Method 2: MCP Elicitation API (Advanced - Better UX)

If your MCP client (Cursor, Claude Desktop) supports Elicitation API, you can use interactive confirmation:

config.json
{
  "name": "docker_remove_volume",
  "arguments": {
    "name": "my-volume",
    "useElicitation": true
  }
}

This will show an interactive confirmation dialog in the client (if supported). The client will display a form asking for confirmation, and the operation proceeds only if the user accepts.

Note: Elicitation API support depends on the MCP client. If the client doesn't support it, the server automatically falls back to the confirm parameter method.

Operations requiring confirmation:

  • docker_remove_volume - Remove volumes
  • docker_remove_container - Remove containers
  • docker_kill_container - Kill containers
  • docker_remove_image - Remove images
  • docker_remove_network - Remove networks
  • docker_prune_system - Prune all unused resources
  • docker_prune_images - Prune unused images
  • docker_prune_containers - Prune stopped containers
  • docker_prune_volumes - Prune unused volumes
  • docker_prune_networks - Prune unused networks

Testing the Server

Quick Test

  1. Build the project:
Terminal
npm run build
  1. Use the test script:
bash
./test-server.sh

Or test manually:

  1. Test Docker connection:
bash
# The server will exit with error if Docker is not accessible
node dist/index.js

If Docker is running, you should see:

Code
Docker MCP Server running on stdio
  1. Test with a simple MCP request (using jq for JSON formatting):
bash
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | node dist/index.js | jq

Note: The server communicates via stdio, so it will wait for JSON-RPC requests. Press Ctrl+C to exit.

Manual Testing Steps

  1. Start the server:
Terminal
npm run build
npm start
  1. In another terminal, test with curl (if using HTTP transport) or use an MCP client

  2. Verify Docker operations work:

    • List containers: Use docker_list_containers tool
    • Check system info: Use docker_system_info tool

Integration Testing

For full integration testing, you'll need an MCP client. The server communicates via stdio (standard input/output), so it's designed to work with MCP-compatible clients like:

  • Cursor IDE
  • Claude Desktop
  • Custom MCP clients

Debugging

Enable verbose logging by checking stderr output. The server writes errors and status messages to stderr:

bash
# Run and capture stderr
node dist/index.js 2> debug.log

Requirements Requirements

  • Node.js 18.0.0 or higher
  • Docker daemon running and accessible
  • Supported Platforms:
    • Linux (x64, ARM64)
    • macOS (Intel, Apple Silicon)
    • Windows (x64, ARM64)
  • For remote Docker: Proper network access and TLS certificates (if using TLS)

Platform-Specific Notes

  • Linux: Requires Docker daemon with Unix socket at /var/run/docker.sock
  • macOS: Works with Docker Desktop. Automatically detects socket location.
  • Windows: Works with Docker Desktop. Uses named pipe //./pipe/docker_engine

Quick Start (Local Development)

bash
# Clone and setup
git clone <repository-url>
cd docker-mcp
npm install

# Build
npm run build

# Test
./test-server.sh

# Run
npm start
# or for development
npm run dev

License

MIT

Testing with MCP Clients

Testing with Cursor (Local Development)

If you're developing locally and want to test with Cursor:

  1. Build the project:
Terminal
npm run build
  1. Add to Cursor MCP configuration (usually in .cursor/mcp.json or similar):
config.json
{
  "mcpServers": {
    "docker": {
      "command": "node",
      "args": ["/absolute/path/to/docker-mcp/dist/index.js"]
    }
  }
}

Or if using the binary:

config.json
{
  "mcpServers": {
    "docker": {
      "command": "/absolute/path/to/docker-mcp/bin/docker-mcp-server.js"
    }
  }
}

Testing with Claude Desktop (Local Development)

If you're developing locally and want to test with Claude Desktop:

  1. Build the project:
Terminal
npm run build
  1. Add to Claude Desktop configuration:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
config.json
{
  "mcpServers": {
    "docker": {
      "command": "node",
      "args": ["/absolute/path/to/docker-mcp/dist/index.js"]
    }
  }
}

Testing with MCP Inspector (CLI)

You can test the server using MCP Inspector or any MCP client:

bash
# Build first
npm run build

# The server communicates via stdio, so you can pipe commands to it
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | node dist/index.js

Contributing Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Related MCP Servers

View all in Cloud Platforms View all alternatives
  • O
    Oriel

    Safety-gated AI control of Docker and Colima: containers, images, volumes, networks, Compose.

    ☁️ Cloud Platforms0 views
    Compare vs Oriel →
  • U
    Unraid RMCP

    Rust MCP server and CLI for Unraid GraphQL operations across NAS, Docker, VM, and storage workflows.

    ☁️ Cloud Platforms0 views
    Compare vs Unraid RMCP →
  • Mcp Server Kubernetes logoMcp Server Kubernetes

    /🏠 - Typescript implementation of Kubernetes cluster operations for pods, deployments, services.

    ☁️ Cloud Platforms0 views
    Compare vs Mcp Server Kubernetes →
  • Arcane RMCP logoArcane RMCP

    Rust MCP server and CLI for Arcane Docker and container management.

    ☁️ Cloud Platforms0 views
    Compare vs Arcane RMCP →

Frequently Asked Questions about Docker Mcp

Add the following block to your claude_desktop_config.json under mcpServers: "mcpServers": { "docker-mcp": { "command": "npx", "args": ["-y", "docker-mcp"] } }

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewDocker Mcp AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/docker-mcp?style=directory)](https://allmcps.com/mcp/docker-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/docker-mcp"><img src="https://allmcps.com/api/badge/docker-mcp?style=directory" alt="Docker Mcp on AllMCPs" /></a>

Technical Specs & Signals

Category☁️Cloud Platforms
More technical detailsExpand ▾
TransportSTDIO
RuntimeDocker
Views0
Unique ViewsTotal visits recorded for this listing page on AllMCPs.
Installs0
Installs & Copy ActionsTotal times users copied install commands or configuration snippets for this server.
27Quality signal: Emerging · 27/100How this signal is calculated ▾
Server availabilityNot measured

Not scored for repo-hosted servers — we can't reach the running server, only its GitHub page. Hosted MCP endpoints are health-checked live.

Verified ownership8/20
Documentation & tools11/30
Adoption & activity1/15
Community engagement0/10

A guidance signal from public completeness & health data — not a user rating. New listings start lower and rise as they add docs, get verified, and grow adoption. Signals we can't observe for a listing are skipped, not counted against it.

★ FeaturedMoxie Docs MCP logo

Moxie Docs MCP

MCP & Agent Skills for Automated Documentation, and codebase conventions + context

Explore Server →

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to get the verified badge and attach your website.

Free dofollow backlink: after claiming, verify your product site and place a dofollow AllMCPs badge — we recheck it stays live.

Claim & get free dofollow

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.

Explore more

More in ☁️ Cloud Platforms →Best MCP servers for Cloud Platforms →Alternatives to Docker Mcp →Install in Claude DesktopInstall in CursorInstall in VS Code