Skip to content

Latest commit

 

History

History
543 lines (427 loc) · 23.5 KB

File metadata and controls

543 lines (427 loc) · 23.5 KB

Docker Developer Tools Logo

Docker Developer Tools

Expert Docker workflows for Cursor, Claude Code, and any MCP-compatible editor.

Version Release npm License Docs

CI Validate CodeQL

Stars Issues Downloads

17 skills • 10 rules • 150 MCP tools


Compatibility

This project works with any AI coding tool that supports skills, rules, or MCP:

Component Cursor Claude Code (terminal) Claude Code in Cursor Other MCP clients
CLAUDE.md context Yes Yes Yes -
17 Skills (SKILL.md) Yes Yes Yes -
10 Rules (.mdc) Yes Via CLAUDE.md Yes -
150 MCP tools Yes Yes Yes Yes

Claude Code reads CLAUDE.md automatically and can reference skills. The MCP server works with any client that supports the MCP stdio transport.

Quick Start

Install the plugin, then ask anything about Docker:

"Write a production Dockerfile for my Node.js app with multi-stage builds"
"My container keeps restarting - help me debug it"
"Set up a docker-compose stack with Postgres, Redis, and my API"

How It Works

flowchart LR
    A[User asks Docker question] --> B[AI loads a Skill]
    B --> C[Skill guides the response]
    C --> D[MCP tools fetch live Docker data]
    D --> E[User gets expert help]
Loading

17 Skills - on-demand Docker expertise

 

Category Skill Description
Core dockerfile-best-practices Multi-stage builds, layer caching, base image selection
Core docker-compose-helper Service definitions, networking, volumes, environment config
Core docker-troubleshooting Diagnose crashes, restarts, network failures, and permission issues
Optimization image-optimization Reduce image size, speed up builds, minimize attack surface
Optimization docker-resource-management CPU/memory limits, resource monitoring, OOM prevention
Networking & Storage docker-networking Bridge, overlay, host networking, DNS resolution, port mapping
Networking & Storage docker-volumes Named volumes, bind mounts, tmpfs, backup and restore strategies
Security docker-security Image scanning, rootless containers, secrets management, hardening
DevOps docker-ci-cd GitHub Actions, GitLab CI, build caching, registry push workflows
DevOps docker-registry Private registries, image tagging strategies, cleanup policies
DevOps docker-development-env Dev containers, hot reload, debugger attachment, local stacks
Debugging container-debugging Exec into containers, log analysis, health checks, process inspection
Advanced docker-advanced-workflows Multi-stage pipelines, sidecar patterns, healthchecks, signal handling
Advanced docker-multi-platform Multi-arch builds, buildx configuration, manifest lists, platform targeting
Advanced docker-context-management Remote Docker hosts, SSH/TLS contexts, multi-host workflows
Orchestration docker-swarm Swarm cluster management, service deployment, scaling, node administration
Security docker-image-signing Docker Content Trust, image signing, verification, key management
10 Rules - automatic best-practice enforcement

 

Rule Scope What It Does
dockerfile-lint **/Dockerfile* Flag antipatterns - unpinned bases, root user, ADD misuse, missing cleanup
docker-secrets Global (always active) Flag hardcoded passwords, tokens, and registry credentials
compose-validation Compose files Flag missing healthchecks, privileged mode, host networking
docker-resource-limits Docker-related files Flag missing memory and CPU limits
docker-image-pinning Dockerfiles, compose files Flag unpinned image tags (:latest or no tag)
docker-port-conflicts Dockerfiles, compose files Flag commonly conflicting port mappings
docker-logging Dockerfiles, compose files Flag missing logging drivers and log rotation
buildx-best-practices Dockerfiles, compose files Flag multi-platform build issues, missing cache config, arch hardcoding
compose-scaling Compose files Flag scaling blockers: container_name, fixed host ports, missing limits
swarm-security Docker-related files Flag missing autolock, unrotated certs, unencrypted overlays, exposed ports

Companion: Docker MCP Server

The MCP server gives your AI assistant live access to your local Docker environment. Works with Cursor, Claude Code, and any MCP-compatible client.

npm version npm downloads

Add to your Cursor MCP config (.cursor/mcp.json):

{
  "mcpServers": {
    "docker": {
      "command": "node",
      "args": ["./mcp-server/dist/index.js"],
      "cwd": "<path-to>/Docker-Developer-Tools"
    }
  }
}
150 MCP Tools - full tool reference

 

Read / Inspect (10)

Tool What It Does
docker_listContainers List running and stopped containers with status, ports, and names
docker_inspectContainer Get detailed config, state, and networking for a specific container
docker_containerLogs Retrieve stdout/stderr logs with optional tail and timestamp filters
docker_listImages List local images with tags, sizes, and creation dates
docker_inspectImage Get layer history, environment variables, and labels for an image
docker_listVolumes List Docker volumes with driver and mount point info
docker_listNetworks List Docker networks with driver, scope, and connected containers
docker_diskUsage Show disk space used by images, containers, volumes, and build cache
docker_systemInfo Return Docker daemon version, OS, storage driver, and runtime info
docker_searchHub Search Docker Hub for images by name with filtering options

Container Lifecycle (10)

Tool What It Does
docker_run Create and start a container from an image (ports, env, volumes, network)
docker_create Create a container without starting it
docker_start Start a stopped container
docker_stop Stop a running container with optional grace period
docker_restart Restart a container with optional grace period
docker_kill Send a signal to a running container (default: SIGKILL)
docker_rm Remove a container (with optional force and volume removal)
docker_pause Pause all processes in a running container
docker_unpause Unpause a paused container
docker_exec Execute a command in a running container

Image and Build (8)

Tool What It Does
docker_pull Pull an image or repository from a registry
docker_push Push an image or repository to a registry
docker_build Build an image from a Dockerfile and context directory
docker_tag Create a tag that refers to a source image
docker_rmi Remove one or more images
docker_commit Create a new image from a container's changes
docker_save Save one or more images to a tar archive
docker_load Load images from a tar archive

Compose (24)

Tool What It Does
docker_composeUp Create and start Compose services (detached, build, profiles)
docker_composeDown Stop and remove containers, networks, volumes, and images
docker_composePs List containers for a Compose project
docker_composeLogs View logs for Compose services
docker_composeBuild Build or rebuild Compose service images
docker_composeRestart Restart Compose services
docker_composePull Pull images for Compose services
docker_composeExec Execute a command in a running Compose service container
docker_composeConfig Validate, resolve, and render a Compose file in canonical format
docker_composeCp Copy files between a Compose service container and local filesystem
docker_composeCreate Create service containers without starting them
docker_composeEvents Receive real-time events from Compose containers
docker_composeImages List images used by Compose service containers
docker_composeKill Force stop Compose service containers
docker_composeLs List running Compose projects
docker_composePause Pause Compose services
docker_composeUnpause Unpause Compose services
docker_composePort Print the public port for a Compose service port binding
docker_composeRm Remove stopped Compose service containers
docker_composeRun Run a one-off command on a Compose service
docker_composeScale Scale Compose services to a specified replica count
docker_composeStart Start existing Compose service containers
docker_composeStop Stop Compose services without removing containers
docker_composeTop Display running processes in Compose service containers

Volume Management (4)

Tool What It Does
docker_volumeCreate Create a named volume with optional driver and labels
docker_volumeRm Remove one or more volumes
docker_volumeInspect Display detailed volume information
docker_volumePrune Remove all unused volumes

Network Management (6)

Tool What It Does
docker_networkCreate Create a network (bridge, overlay, macvlan)
docker_networkRm Remove one or more networks
docker_networkConnect Connect a container to a network
docker_networkDisconnect Disconnect a container from a network
docker_networkInspect Display detailed network information
docker_networkPrune Remove all unused networks

Cleanup / Prune (3)

Tool What It Does
docker_systemPrune Remove unused containers, networks, images, and optionally volumes
docker_containerPrune Remove all stopped containers
docker_imagePrune Remove dangling or unused images

Advanced / Observability (6)

Tool What It Does
docker_cp Copy files or directories between a container and the local filesystem
docker_stats Show live resource usage statistics (CPU, memory, network I/O)
docker_top Show running processes in a container
docker_events Stream real-time events from the Docker daemon
docker_update Update container resource configuration (CPU, memory, restart policy)
docker_wait Block until a container stops and return its exit code

Buildx (8)

Tool What It Does
docker_buildxBuild Multi-platform builds with buildx (cache export, provenance, push/load)
docker_buildxLs List buildx builder instances
docker_buildxCreate Create a new buildx builder instance
docker_buildxRm Remove a buildx builder instance
docker_buildxInspect Inspect a buildx builder instance
docker_buildxUse Set the default buildx builder
docker_buildxImagetools Inspect or create multi-platform manifest lists via buildx
docker_builderPrune Remove buildx build cache

Manifest (5)

Tool What It Does
docker_manifestCreate Create a local manifest list for multi-architecture images
docker_manifestInspect Display an image manifest or manifest list
docker_manifestAnnotate Add platform information to a manifest list entry
docker_manifestPush Push a manifest list to a registry
docker_manifestRm Remove local manifest lists

Container Gaps (4)

Tool What It Does
docker_diff Inspect filesystem changes in a container (added, changed, deleted files)
docker_export Export a container's filesystem as a tar archive
docker_port List port mappings or a specific mapping for a container
docker_rename Rename a Docker container

Image Gaps (2)

Tool What It Does
docker_imageHistory Show layer history of an image (commands, sizes, timestamps)
docker_import Import a tarball to create a Docker filesystem image

Context Management (6)

Tool What It Does
docker_contextCreate Create a Docker context for connecting to remote hosts
docker_contextLs List available Docker contexts
docker_contextInspect Display detailed information on a Docker context
docker_contextRm Remove one or more Docker contexts
docker_contextUse Set the current active Docker context
docker_contextShow Print the name of the current Docker context

Registry Authentication (2)

Tool What It Does
docker_login Authenticate to a Docker container registry
docker_logout Log out from a Docker container registry

Swarm Cluster (8)

Tool What It Does
docker_swarmInit Initialize a new Docker Swarm cluster
docker_swarmJoin Join an existing Swarm as worker or manager
docker_swarmLeave Leave the Docker Swarm
docker_swarmJoinToken Display or rotate join tokens
docker_swarmUpdate Update Swarm configuration
docker_swarmUnlock Unlock a locked Swarm manager
docker_swarmUnlockKey Display or rotate the unlock key
docker_swarmCa Display and rotate the root CA certificate

Swarm Services (9)

Tool What It Does
docker_serviceCreate Create a replicated or global Swarm service
docker_serviceUpdate Update a service (image, replicas, env, resources)
docker_serviceRm Remove Swarm services
docker_serviceLs List Swarm services
docker_serviceInspect Inspect detailed service configuration
docker_serviceLogs Fetch service or task logs
docker_servicePs List tasks of a service
docker_serviceScale Scale services to target replica count
docker_serviceRollback Revert a service to its previous version

Swarm Nodes (7)

Tool What It Does
docker_nodeLs List nodes in the Swarm
docker_nodeInspect Inspect detailed node information
docker_nodePs List tasks running on a node
docker_nodeRm Remove nodes from the Swarm
docker_nodeUpdate Update node availability, role, or labels
docker_nodePromote Promote workers to managers
docker_nodeDemote Demote managers to workers

Swarm Stacks (6)

Tool What It Does
docker_stackDeploy Deploy or update a stack from a compose file
docker_stackRm Remove Swarm stacks
docker_stackLs List Swarm stacks
docker_stackPs List tasks in a stack
docker_stackServices List services in a stack
docker_stackConfig Output merged stack configuration

Swarm Configs (4)

Tool What It Does
docker_configCreate Create a Swarm config from a file
docker_configInspect Inspect a Swarm config
docker_configLs List Swarm configs
docker_configRm Remove Swarm configs

Swarm Secrets (4)

Tool What It Does
docker_secretCreate Create a Swarm secret from a file
docker_secretInspect Inspect a Swarm secret (metadata only)
docker_secretLs List Swarm secrets
docker_secretRm Remove Swarm secrets

Docker Content Trust (4)

Tool What It Does
docker_trustInspect Inspect trust data for an image
docker_trustSign Sign an image for Docker Content Trust
docker_trustRevoke Revoke trust for an image
docker_trustKey Manage signing keys (generate or load)

Utility (2)

Tool What It Does
docker_version Show Docker client and server version information
docker_composeVersion Show Docker Compose version information

Compose Extras (1)

Tool What It Does
docker_composeWatch Watch build context and auto-rebuild on file changes

Docker Scout (3)

Tool What It Does
docker_scoutQuickview Quick overview of image vulnerabilities
docker_scoutCves List CVEs found in an image with severity filters
docker_scoutRecommendations Get base image update recommendations

Plugin Management (4)

Tool What It Does
docker_pluginLs List installed Docker plugins
docker_pluginInstall Install a Docker plugin from a registry
docker_pluginRm Remove one or more Docker plugins
docker_pluginEnable Enable a disabled Docker plugin

Installation

 

Cursor (plugin + MCP)

Symlink this repo into your Cursor plugins directory:

# Windows (PowerShell - run as admin)
New-Item -ItemType SymbolicLink `
  -Path "$env:USERPROFILE\.cursor\plugins\docker-developer-tools" `
  -Target "<path-to>\Docker-Developer-Tools"
# macOS / Linux
ln -s /path/to/Docker-Developer-Tools ~/.cursor/plugins/docker-developer-tools

Build and configure the MCP server:

cd mcp-server
npm install
npm run build

Then add the JSON config from the MCP Server section to .cursor/mcp.json.

Claude Code (terminal or in Cursor)

Claude Code reads CLAUDE.md automatically when you open this repo. For the MCP server, register it with:

cd mcp-server && npm install && npm run build
claude mcp add docker node ./mcp-server/dist/index.js

Or if installed globally via npm:

npm install -g @tmhs/docker-mcp
claude mcp add docker -- npx @tmhs/docker-mcp

Other MCP clients

Any client supporting MCP stdio transport can use the Docker MCP server. Point it at node ./mcp-server/dist/index.js or the global npx @tmhs/docker-mcp.

Example Prompts - one per skill

 

Skill Try This
dockerfile-best-practices "Write a production Dockerfile for a Python Flask app"
docker-compose-helper "Create a compose file with Nginx, Rails, Postgres, and Redis"
docker-troubleshooting "My container exits with code 137 - what's wrong?"
image-optimization "My Node image is 1.2 GB - help me shrink it"
docker-resource-management "Set memory and CPU limits for my compose services"
docker-networking "Two containers can't talk to each other - fix my networking"
docker-volumes "Back up my Postgres data volume to a tar archive"
docker-security "Audit my Dockerfile for security issues"
docker-ci-cd "Build and push my image in GitHub Actions with layer caching"
docker-registry "Set up a private registry with authentication"
docker-development-env "Create a dev container with hot reload for my Go project"
container-debugging "Show me the logs and processes inside my crashing container"
docker-advanced-workflows "Set up healthchecks and graceful shutdown for my Node.js container"
docker-multi-platform "Build my Go API image for both amd64 and arm64 with buildx"
docker-context-management "Set up a Docker context for my remote staging server via SSH"
docker-swarm "Initialize a Swarm cluster and deploy a 3-replica nginx service"
docker-image-signing "Set up Docker Content Trust and sign our production images"
Roadmap

 

Version Theme MCP Tools Highlights
v0.1.0 Foundation 10 12 skills, 6 rules, 10 read-only MCP tools
v0.2.0 Container Lifecycle +10 run, start, stop, restart, kill, rm, exec, pause
v0.3.0 Image and Build +8 pull, push, build, tag, rmi, commit, save, load
v0.4.0 Compose +8 up, down, ps, logs, build, restart, pull, exec
v0.5.0 Volumes, Networks, Cleanup +12 volume/network CRUD, system/container/image prune
v0.6.0 Advanced and Observability +6 cp, stats, top, events, update, wait
v0.7.0 Buildx, Manifests, Registry +13 Buildx tools, manifest lists, builder management
v0.8.0 Compose Completeness +16 All remaining compose commands (config, cp, kill, scale, etc.)
v0.9.0 Container/Image Gaps, Context, Auth +14 diff, export, port, rename, history, import, contexts, login
v0.10.0 Swarm Orchestration +24 Swarm init/join, services, nodes, scaling, rollback
v0.11.0 Swarm Stacks, Configs, Secrets, Trust +18 Stack deploy, config/secret CRUD, content trust
v0.12.0 Niche, Scout, Extras +10 Version info, Scout CVEs, plugins, compose watch
v1.0.0 Stable +0 Production release (~150 MCP tools)

Contributing

Contributions welcome - see CONTRIBUTING.md. Found a bug? Open an issue.

License

CC-BY-NC-ND-4.0 - Copyright 2026 TM Hospitality Strategies. See LICENSE.

Built by TMHSDigital