npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@supernova123/docker-mcp-server

v0.2.5

Published

MCP server for Docker — container management, health checks, auto-restart, Compose lifecycle, and log streaming for Claude, Cursor, and AI agents

Downloads

1,398

Readme

@supernova123/docker-mcp-server

npm version npm downloads License: MIT MCP Claude Desktop Glama Glama Score

The Docker MCP server designed for agents that need their containers to stay running.

Without this: Your agent deploys a container, it crashes at 3am, and nobody notices until the user complains. Compose stacks drift. Health checks are manual. Logs are scattered across terminals.

With this: Your agent checks health, watches for readiness, restarts crashed containers, and follows logs, all through a single MCP interface. Containers stay running because your agent knows how to keep them running.

Why This Server?

There are 11+ Docker MCP servers on npm. Most are stale, GPL-licensed, or only cover basic CRUD. This one is different:

| | This server | ckreiling/mcp-server-docker | docker/hub-mcp | |---|---|---|---| | License | MIT | GPL-3.0 | Apache-2.0 | | Last updated | Active | Jun 2025 (stale) | Active | | Health checks | ✅ HTTP/TCP/exec probes | ❌ | ❌ | | Auto-restart | ✅ set_restart_policy | ❌ | ❌ | | Compose lifecycle | ✅ up/down/ps/logs/restart | ❌ | ❌ | | Log streaming | ✅ tail + timestamp filter | Basic | Basic | | Fleet monitoring | ✅ 6 fleet tools (status, stats, events, logs, thresholds, dashboard) | ❌ | ❌ | | Agent positioning | ✅ Built for agents | Generic Docker | Registry API |

Use Cases

Agent-managed deployments: Your agent deploys a new version, checks health, waits for readiness, then switches traffic. If the health check fails, it auto-rolls back.

Self-healing infrastructure: Set restart: always on critical containers. Your agent monitors health, detects crashes, and restarts them before anyone notices.

Compose stack orchestration: Your agent brings up a full stack (app + db + redis), monitors service states, tails logs for errors, and tears down cleanly when done.

Debugging sessions: Your agent execs into a container, runs diagnostics, streams logs with timestamp filters, and captures stats — all without SSH.

Quick Start

One command to run:

npx @supernova123/docker-mcp-server

Claude Desktop / Cursor / VS Code Config

Add to your MCP settings:

{
  "mcpServers": {
    "docker": {
      "command": "npx",
      "args": ["-y", "@supernova123/docker-mcp-server"]
    }
  }
}

Claude Code

claude mcp add docker -- npx -y @supernova123/docker-mcp-server

Tools

Container Lifecycle

| Tool | Description | |------|-------------| | list_containers | List containers with filters (state, label, name) | | inspect_container | Get detailed container config and state | | start_container | Start a stopped container | | stop_container | Stop a running container | | restart_container | Restart a container | | remove_container | Remove a container (with force option) | | recreate_container | Stop, remove, and re-create a container with same config | | run_container | Create + start a container in one call |

Image Management

| Tool | Description | |------|-------------| | list_images | List images with optional filters | | pull_image | Pull an image from a registry | | build_image | Build an image from a Dockerfile | | remove_image | Remove an image |

Docker Compose

| Tool | Description | |------|-------------| | compose_up | Bring up a Compose stack | | compose_down | Tear down a Compose stack | | compose_ps | List service states | | compose_logs | Tail Compose service logs | | compose_restart | Restart Compose services |

Fleet Monitoring

| Tool | Description | |------|-------------| | fleet_status | Health status of all running containers (state, health, uptime, restart count) | | fleet_stats | Resource usage (CPU%, memory%, network I/O) for all running containers | | watch_events | Collect Docker events (start, stop, die, restart, health) over a time window | | search_logs | Search logs across multiple containers with regex/grep pattern | | check_thresholds | Check containers against CPU/memory/restart thresholds, return violations | | monitor_dashboard | Single-call fleet summary: health, top consumers, recent events, violations |

Health & Self-Healing

| Tool | Description | |------|-------------| | check_health | Run a health probe (HTTP, TCP, exec) | | watch_health | Poll health until healthy or timeout | | set_restart_policy | Change restart policy on a running container |

Logs & Observability

| Tool | Description | |------|-------------| | stream_logs | Get container logs with tail/timestamp filtering | | container_stats | CPU, memory, network, block I/O snapshot |

Exec

| Tool | Description | |------|-------------| | exec_in_container | Run a command inside a running container |

Networks & Volumes

| Tool | Description | |------|-------------| | list_networks | List Docker networks | | list_volumes | List Docker volumes |

Requirements

  • Node.js 18+
  • Docker daemon running locally (or remote via DOCKER_HOST)
  • Docker socket accessible at /var/run/docker.sock

Security

This server has full Docker daemon access via the Docker socket. It is designed for local development and trusted environments.

  • Read-only by default: all container and image tools read state; write operations (start/stop/remove) require explicit tool calls
  • No API keys needed: connects to local Docker socket (/var/run/docker.sock), not remote API tokens
  • No network access: all operations are local Docker API calls
  • Input validation: Zod schemas on every tool parameter — command injection, path traversal, and env injection are rejected at the schema level
  • Output sanitization: ANSI escape codes, invisible Unicode, and Docker stream headers are stripped from all tool output
  • Output size caps: log output capped at 100KB, general output at 1MB, to prevent LLM context overflow
  • Parameter bounds: command arrays limited to 50 args, env to 50 vars, log tail to 10K lines, timeouts enforced (600s health, 300s events)
  • MIT License: fully auditable

Threat model: any tool that calls Docker through this server can start any container with any flags, including privileged. The threat model is the same as giving a user shell access to the Docker socket. Do not expose this server to untrusted users.

For vulnerability reports, see SECURITY.md.

License

MIT