Back to Browse

Containerport MCP Server

Developer ToolsModerate5.3MCP RegistryLocal
Free

Server data from the Official MCP Registry

Run core Docker container operations: list, run, inspect, logs, images and volumes.

About

Run core Docker container operations: list, run, inspect, logs, images and volumes.

Security Report

5.3
Moderate5.3Moderate Risk

containerport is a small, clean Docker CLI wrapper that builds argument arrays and runs them through spawn without a shell, so image names, env values, and ids cannot be reinterpreted as shell syntax. The main consideration is inherent: anyone able to call run_container can start containers with any image, which is root-equivalent on the host when the user has Docker access, and the server has no auth of its own since it relies on the local stdio trust boundary. Supply chain analysis found 4 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.

8 files analyzed · 10 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

process_spawn

Check that this permission is expected for this type of plugin.

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-cloudcorprecords-containerport": {
      "args": [
        "-y",
        "@reneturcios/containerport"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

containerport

containerport is a small MCP server and CLI for everyday Docker container work. It is a clean-room rebuild of a defined core subset of container operations — ten tools that map directly onto the Docker CLI: list, inspect, run, start, stop and remove containers, list and pull images, read container logs, and list volumes.

It is deliberately not Docker's MCP catalog/toolkit gateway. There is no compose support, no image building, no network or swarm management, no registry authentication, no exec-into-container, and no catalog/gateway tooling — just the container operations an agent reaches for most, executed honestly through the host's docker binary.

Every call is built as an argument array and run with execFile semantics — never a shell string — so image names, environment values and ports cannot be reinterpreted as shell syntax. A command passed to run-container runs through the container's own sh -c, not a host shell. The executor is injectable, which is how the test suite verifies the exact argument arrays with a fake.

The host needs a working docker CLI. When docker is absent, calls fail honestly with the underlying spawn error (ENOENT) instead of a fabricated result. The published container image bundles no docker binary: it expects a host executor (for example a mounted Docker socket workflow) and says so in its Dockerfile.

Install

npx @reneturcios/containerport list-containers --all
docker run -i ghcr.io/cloudcorprecords/containerport

CLI

containerport list-containers [--all]
containerport inspect-container <container_id>
containerport run-container <image> [--name n] [--port 8080:80] [--env KEY=val] [--command "echo hi"]
containerport start-container <container_id>
containerport stop-container <container_id>
containerport remove-container <container_id> [--force]
containerport list-images
containerport pull-image <image>
containerport get-container-logs <container_id> [--tail 100]
containerport list-volumes
containerport --version

Exit codes: 0 success, 1 docker error, 2 usage error.

MCP server

npx -y @reneturcios/containerport mcp
{
  "mcpServers": {
    "containerport": {
      "command": "npx",
      "args": ["-y", "@reneturcios/containerport", "mcp"]
    }
  }
}

Tools

ToolInputWhat it does
list_containersall (boolean, optional)docker ps [--all] --format json, parsed.
inspect_containercontainer_id (required)docker inspect, single document.
run_containerimage (required), name, ports[], env[], commanddocker run -d, returns the new container id.
start_containercontainer_id (required)docker start.
stop_containercontainer_id (required)docker stop.
remove_containercontainer_id (required), forcedocker rm [-f].
list_images—docker images --format json, parsed.
pull_imageimage (required)docker pull.
get_container_logscontainer_id (required), taildocker logs [--tail n].
list_volumes—docker volume ls, parsed driver/name pairs.

Executor failures — a missing docker binary, a daemon error, a nonexistent container — are reported as tool errors carrying the underlying message.

Development

npm install
npm run build
npm test
npm run dev

Tests run entirely on a fake executor: exact argument arrays, output parsing, and error propagation. No live Docker daemon is touched.

License

MIT — see LICENSE.

Reviews

No reviews yet

Be the first to review this server!