Skip to content
plugmcp
DirectorySkillsCategoriesBlog
EN/δΈ­ζ–‡
Sign inSign up
Home/Servers/Komodo MCP Server

Komodo MCP Server

I
by io.github.MP-Tool

MCP server for Komodo - manage Docker containers, servers, stacks, and deployments via AI

Power your agent

Add this server

The publisher's own command. Not a PlugMCP endpoint.

Local command
npx -y [email protected]
Credentials from the publisher
  • KOMODO_URL β€” Komodo Core API URL
  • KOMODO_API_KEY β€” API key for key-based authentication (recommended)
  • KOMODO_API_SECRET β€” API secret for key-based authentication (recommended)
  • KOMODO_USERNAME β€” Username for login authentication (alternative to API key)
  • KOMODO_PASSWORD β€” Password for login authentication (alternative to API key)
Provider
Claude Code
KOMODO_URL=<value> KOMODO_API_KEY=<secret> KOMODO_API_SECRET=<secret> KOMODO_USERNAME=<secret> KOMODO_PASSWORD=<secret> claude mcp add io.github.mp-tool-komodo-mcp-server -- npx -y [email protected]

Run in a terminal.

Claude Desktop
{
  "mcpServers": {
    "io.github.mp-tool-komodo-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "KOMODO_URL": "<value>",
        "KOMODO_API_KEY": "<secret>",
        "KOMODO_API_SECRET": "<secret>",
        "KOMODO_USERNAME": "<secret>",
        "KOMODO_PASSWORD": "<secret>"
      }
    }
  }
}

claude_desktop_config.json

Step-by-step: add this in Claude

Remote URL or a command on your machine? How the two installs differ

Run on PlugMCP

Host a copy with our keys and logs.

A new server you create. It is not this listing's official endpoint. Use the publisher install when you want their URL and their credentials.

Launch

Related MCP

View more
  • FirecrawlπŸ”₯ Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
  • N
    NotionToken-auth Notion MCP: pages, databases, blocks, comments, files. Runs headless in CI and agents.
  • Context7Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

Related skills

View all
  • reaReverse engineer anything with agents, from app behavior down to native binaries.
  • rea-changelog-updatePrepare or rewrite REA release changelogs and GitHub release notes from pinned Git history, with verified contributor thanks and Release Please synchronization.
  • rea-tool-designDesign or change REA investigation tools, CLI/MCP contracts, provider capabilities, and Evidence semantics.

MCP server for Komodo - manage Docker containers, servers, stacks, and deployments via AI

🦎 Komodo MCP Server

Model Context Protocol Server for Komodo

Manage your Docker or Podman deployments through Komodo with AI assistants and automation tools.

Komodo MCP Server enables seamless interaction between AI assistants (like Claude, GitHub Copilot) and Komodo (Container Management Platform) for efficient container management, server orchestration, and deployment operations. The MCP-Server gives you the ability to control your Komodo-managed infrastructure by using natural language or automated workflows.

Features β€’ Quick Start β€’ Authentication β€’ Documentation


Features

πŸ› οΈ Complete Infrastructure Control

  • 88 Tools, 20 Categories β€” Full lifecycle management for containers, stacks, deployments, servers, builds, repos, procedures, actions, alerters, Docker Swarms (Komodo v2), variables, resource syncs, update history, Docker image/network/volume introspection, builders, tags and TOML export β€” from listing and inspecting to deploying, building, scaling and destroying.
  • Remote Terminal Access β€” Execute commands on servers, containers, deployments, and stack services with real-time output streaming, exit codes, and progress reporting.
  • Log Search & Analysis β€” Pattern-based log search across containers with configurable tail limits and match counting.

πŸ”Œ Deploy Anywhere

  • Multi-Transport β€” Streamable HTTP (stateful), HTTPS with TLS, legacy SSE, and stdio. Same server, any client.
  • Multi-Platform Docker β€” Production-ready images for amd64, arm64, arm/v7, and arm/v6 (Raspberry Pi). Non-root, multi-stage builds with tini init.
  • Works with Any MCP Client β€” Claude Desktop, VS Code / GitHub Copilot, or any MCP-compatible tool. Runs via Docker, npx, or native Node.js.

πŸ” Security & Authentication

  • Three Auth Methods β€” API Key/Secret (recommended), username/password, or JWT token. All support Docker secrets via *_FILE variants.
  • Auth Enabled by Default β€” Per-user local login in HTTP mode unless explicitly disabled. The global [komodo] connection is configured once at startup (or via env vars) and used only for stdio or auth-disabled deployments.
  • Confirmation for Destructive Actions β€” Deletes, destroys, prunes, and shell execution ask the human operator for explicit approval first (MCP elicitation with a confirm checkbox). Fail-closed on clients that can't prompt; tunable via MCP_CONFIRM_DESTRUCTIVE / MCP_CONFIRM_FALLBACK.
  • Hardened by Default β€” Input validation (Zod), rate limiting, DNS rebinding protection, security headers via Helmet, and central fail-closed secret redaction: every tool result (including exec output and retrieved logs) passes the framework's scrub boundary before it reaches the client transcript β€” see Secret Redaction.

⚑ Reliability & Operations

  • Live Progress & Cancellation β€” Long-running operations (deploy, start, stop) report real-time progress. Cancel any operation mid-flight via AbortSignal.
  • Auto-Reconnection β€” Connection monitoring with automatic recovery and exponential backoff. Auth failures stop retries immediately.
  • Health & Readiness β€” Kubernetes-ready /health and /ready endpoints. komodo_health_check reports server version, connectivity, and auth status.

Built on mcp-server-framework β€” a production-ready TypeScript MCP server framework with structured logging, OpenTelemetry, and session management.

Available Tools (69)

CategoryTools
Configurationkomodo_health_check
Containerskomodo_container_list, komodo_container_inspect, komodo_container_logs, komodo_container_search_logs, komodo_container_action (start/stop/restart/pause/unpause)
Serverskomodo_server_list, komodo_server_info, komodo_server_stats, komodo_server_apply (create/update), komodo_server_delete, komodo_server_action (start_all/restart_all/pause_all/unpause_all/stop_all_containers, prune_*, delete_network/image/volume)
Stackskomodo_stack_list, komodo_stack_info, komodo_stack_apply (create/update), komodo_stack_delete, komodo_stack_action (deploy/pull/start/restart/pause/unpause/stop/destroy)
Deploymentskomodo_deployment_list, komodo_deployment_info, komodo_deployment_apply (create/update), komodo_deployment_delete, komodo_deployment_action (deploy/pull/start/restart/pause/unpause/stop/destroy)
Buildskomodo_build_list, komodo_build_info, komodo_build_action (run/cancel), komodo_build_logs, komodo_build_apply (create/update), komodo_build_delete
Reposkomodo_repo_list, komodo_repo_info, komodo_repo_action (clone/pull/build/cancel_build), komodo_repo_apply (create/update), komodo_repo_delete
Procedureskomodo_procedure_list, komodo_procedure_info, komodo_procedure_action (run), komodo_procedure_apply (create/update), komodo_procedure_delete
Actionskomodo_action_list, komodo_action_info, komodo_action_action (run/cancel), komodo_action_apply (create/update), komodo_action_delete
Alerterskomodo_alerter_list, komodo_alerter_info, komodo_alerter_apply (create/update), komodo_alerter_delete
Swarmskomodo_swarm_list, komodo_swarm_info, komodo_swarm_apply (create/update), komodo_swarm_delete, komodo_swarm_nodes_list, komodo_swarm_services_list, komodo_swarm_action (update_node/remove_nodes/remove_services/remove_stacks)
Resource Syncskomodo_resource_sync_list, komodo_resource_sync_info, komodo_resource_sync_action (run/refresh), komodo_resource_sync_apply (create/update), komodo_resource_sync_delete
Variableskomodo_variable_list, komodo_variable_info, komodo_variable_apply (create/update β€” value/description/is_secret), komodo_variable_delete
Updateskomodo_update_list (filterable, paginated), komodo_update_info
Terminalkomodo_exec (target: server / container / deployment / stack_service)
API Keyskomodo_user_list_api_keys, komodo_user_create_api_key, komodo_user_delete_api_key
Dockerkomodo_docker_image_list, komodo_docker_image_inspect, komodo_docker_image_history, komodo_docker_network_list, komodo_docker_network_inspect, komodo_docker_volume_list, komodo_docker_volume_inspect
Builderskomodo_builder_list, komodo_builder_info, komodo_builder_apply (create/update), komodo_builder_copy, komodo_builder_rename, komodo_builder_delete
Tagskomodo_tag_list, komodo_tag_info, komodo_tag_apply (create/update), komodo_tag_delete
TOML Exportkomodo_toml_export_all, komodo_toml_export_resources

Tip: Every tool carries _meta.category (one of config, container, server, stack, deployment, build, repo, procedure, action, alerter, swarm, resource_sync, variable, update, terminal, user, docker, builder, tag, toml) and a requiredScopes array (komodo:read / komodo:operate / komodo:admin), so MCP clients and gateways can filter or gate tools by category and three-tier RBAC.

Limit the tool surface (server-side). To keep a client's tool list - and its token cost - small, prune what the server registers with three optional env vars: MCP_TOOLS_ALLOWED_CATEGORIES (category allowlist; unset -> all), MCP_TOOLS_EXCLUDED_CATEGORIES (drop whole categories), and MCP_TOOLS_EXCLUDED_TOOLS (drop tools by name, e.g. komodo_exec). Use the exact category strings above. Pruned tools are absent from tools/list and not callable. This is purely subtractive - it never exposes more and never bypasses authentication or the read-only-when-open behavior.

List/info/logs tools support cursor pagination via { cursor, page_size } (1–100, default 25) and emit _meta.page.next_cursor when more items are available. inspect, info, logs, and search_logs responses also include a session-scoped ephemeral://... resource link so large payloads can be fetched out-of-band via resources/read; pass inline_full: true to force inlining.

Quick Start

Docker Compose (Recommended for HTTP)

Deploy as a persistent HTTP server β€” connect from any MCP client.

mkdir komodo-mcp && cd komodo-mcp
curl -O https://raw.githubusercontent.com/MP-Tool/komodo-mcp-server/main/docker/compose.yaml
curl -O https://raw.githubusercontent.com/MP-Tool/komodo-mcp-server/main/docker/docker.env
cp docker.env .env  # Edit with your credentials
docker compose up -d

-> Full Docker Guide

Claude Desktop

Add to your claude_desktop_config.json (Settings -> Developer -> Edit Config):

"komodo-mcp-server": {
  "command": "docker",
  "args": [
    "run", "-i", "--rm",
    "-e", "KOMODO_URL=https://komodo.example.com:9120",
    "-e", "KOMODO_API_KEY=api-key",
    "-e", "KOMODO_API_SECRET=api-secret",
    "ghcr.io/mp-tool/komodo-mcp-server:latest"
  ]
}

-> Full Claude Guide

VS Code / GitHub Copilot

Add to .vscode/mcp.json in your workspace:

{
  "servers": {
    "Komodo MCP Server": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "KOMODO_URL=https://komodo.example.com:9120",
        "-e", "KOMODO_API_KEY=api-key",
        "-e", "KOMODO_API_SECRET=api-secret",
        "ghcr.io/mp-tool/komodo-mcp-server:latest"
      ]
    }
  }
}

-> Full VS Code Guide Β· Node.js / npx (no Docker) Β· All Integrations

Use

Once connected, ask Claude, Copilot, or any MCP-compatible assistant in plain language β€” it picks the tools. The tool each prompt drives is shown on the right:

PromptTool(s) called
"List all my Komodo servers"komodo_server_list
"Show containers on production-server"komodo_container_list
"Start the nginx container"komodo_container_action (start)
"Deploy my-app to staging"komodo_deployment_action (deploy)
"Get stats for dev-server"komodo_server_stats
"Why did the last deploy fail?"komodo_update_list -> komodo_update_info
"Tail the logs for the api container"komodo_container_logs

Testing with MCP Inspector

npx @modelcontextprotocol/inspector --url http://localhost:8000/mcp

Use /mcp for Streamable HTTP or /sse for legacy SSE transport (if enabled). Adjust host and port to match your setup.

Authentication

There are two distinct layers - don't confuse them:

1. Connecting to Komodo - how the server itself talks to Komodo Core. Choose one method:

MethodEnvironment VariablesBest For
API Key (recommended)KOMODO_API_KEY + KOMODO_API_SECRETService accounts, automation
Username / PasswordKOMODO_USERNAME + KOMODO_PASSWORDInteractive users
JWT TokenKOMODO_JWT_TOKENBrowser-based SSO (OIDC, GitHub, Google OAuth)

KOMODO_URL is always required. All credentials also support Docker secrets via *_FILE variants (e.g. KOMODO_API_KEY_FILE). This shared connection is used for stdio and for open (auth-disabled) HTTP mode.

2. Users signing in to the MCP server (HTTP/HTTPS) - on by default since 1.5.0. Each person logs in with their own Komodo username and password and gets their own session with their own permissions. Turn it off with MCP_AUTH_ENABLED=false (an open network server is then read-only); stdio is local and never authenticated.

For the full configuration reference (env vars, config files, Docker secrets), see the Configuration Guide.

Troubleshooting

Connection refused / the server can't reach Komodo. Check KOMODO_URL β€” it needs the scheme, host, and Komodo Core port (e.g. https://komodo.example.com:9120). From inside Docker, localhost points at the container, not the host β€” use the host's IP or a Docker network alias. Confirm nothing (firewall, reverse proxy) blocks the port.

401 Unauthorized when a client connects (HTTP). Since 1.5.0, authentication defaults on for HTTP/HTTPS, so clients must sign in (browser login against your Komodo username/password). Either complete the login, or set MCP_AUTH_ENABLED=false to run without it. A 401 after login usually means the Komodo credentials are wrong or the account is disabled. (stdio is local and never requires this.)

Tools are missing from the list. Two causes, both by design:

  • Read-only mode. If you disabled auth (MCP_AUTH_ENABLED=false) on an HTTP/HTTPS transport, the server is read-only for anonymous callers β€” every write/exec/delete tool (incl. komodo_exec) is hidden and rejected. Enable [auth] (per-user login) to get them back. Startup logs a READ-ONLY notice when this is active.
  • Tool-surface filter. MCP_TOOLS_ALLOWED_CATEGORIES, MCP_TOOLS_EXCLUDED_CATEGORIES, or MCP_TOOLS_EXCLUDED_TOOLS prune the registered set. Unset all three to expose everything. A bad category name is ignored with a startup warning listing the valid categories.

Disclaimer

AI tools (GitHub Copilot, Claude) are used as part of the development workflow β€” for code generation, architecture exploration, and documentation drafting. Every line of code and documentation is manually reviewed to ensure quality, correctness, and compliance with established engineering standards.

This software is provided under the GPL-3.0 License. If you find bugs or have ideas, issues and contributions are always welcome.

Contributing

Contributions are welcome! See our Contributing Guide for details.

  • πŸ› Report bugs
  • πŸ’‘ Request features
  • πŸ”§ Submit PRs

Development

# Clone and install
git clone https://github.com/MP-Tool/komodo-mcp-server.git
cd komodo-mcp-server
npm install

# Build and run
npm run build
npm start

Documentation

GuideDescription
ConfigurationAll environment variables, config file formats, priority chain, Docker secrets
Docker DeploymentDocker Compose setup, health checks, production deployment
Client IntegrationsClaude Desktop, VS Code, Node.js/npx setup guides
ContributingDevelopment setup, coding standards, PR guidelines
SecurityVulnerability reporting, security best practices
ChangelogVersion history and release notes

License

GPL-3.0 License - see LICENSE for details.

Requirements

  • Komodo v2 (Komodo Core 2.x; the server refuses version-sensitive tools like komodo_exec on older cores)
  • Docker (for containerized deployment) or Node.js 22+ (for native installation)
  • Valid Komodo credentials (API Key/Secret, Username/Password, or JWT Token)

Security

Report security vulnerabilities via GitHub's Private Vulnerability Reporting (see SECURITY.md).

Destructive-action confirmation: By default, destructive tools (all *_delete tools, komodo_exec, stack/deployment destroy, server stop_all/prune_*/delete_*, swarm remove_*, and procedure/action/resource-sync run) require the human operator to approve an MCP elicitation prompt β€” "accept" plus a ticked confirm checkbox β€” before anything executes. Clients that cannot prompt (no elicitation support, or stateless HTTP mode) are refused by default. Tune with MCP_CONFIRM_FALLBACK=allow (execute with a warning on such clients) or MCP_CONFIRM_DESTRUCTIVE=false (disable the feature) β€” relevant for stdio setups whose client lacks elicitation support.

Secret redaction: Tool results are persisted to the MCP client transcript and forwarded to the model provider, so every tool result passes the framework's central, fail-closed scrub boundary before it leaves the process β€” structured resource config (env blocks, webhook_secret, passkey), alerter webhook URLs, exec output, and container/build/update logs, for inline payloads and offloaded resource links alike. On top, is_secret variable values are always masked and stacks drop the post-interpolation deployed_config/deployed_contents. Best-effort defence-in-depth: heuristics catch deterministic secret shapes, not arbitrary material. Intended exception: komodo_user_create_api_key returns its one-time secret unredacted. See Secret Redaction.

Best practices:

  • Never commit credentials
  • Use environment variables
  • Keep dependencies updated
  • Run as non-root user (default in Docker)

Links

  • Komodo β€” Container management platform
  • Komodo Docs β€” Official documentation
  • MCP Specification β€” Model Context Protocol
  • MCP Registry β€” MCP server registry

Built with ❀️ for the Komodo community 🦎

Report Bug Β· Request Feature Β· Discussions

How do I install Komodo MCP Server?
Copy the stdio config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does Komodo MCP Server need an API key?
The publisher lists these environment variables: KOMODO_URL, KOMODO_API_KEY, KOMODO_API_SECRET, KOMODO_USERNAME, KOMODO_PASSWORD.
What transport does Komodo MCP Server use?
Komodo MCP Server runs locally over stdio.
When was Komodo MCP Server last checked?
Last checked 2026-10-16. MCP server for Komodo - manage Docker containers, servers, stacks, and deployments via AI

No tool list yet. Remote servers get one after the first health check.

plugmcp

Plug any tool into any agent. MCP servers for people who do not write servers. Gateway for volume, n8n for apps.

  • github.com/TODO
  • x.com/TODO
  • linkedin.com/company/TODO

PlugMCP, 2026

Product
  • Browse
  • Install
  • Host your own
  • Voice mode
  • Browser
Directory
  • All MCP servers
  • Agent skills
  • Categories
  • New
  • Voice
  • Submit a server
Developers
  • Docs
  • Blog
  • What is MCP
  • What is WebMCP
  • Status
Company
  • About
  • Contact
  • Terms
  • Privacy
  • DPA