Model Context Protocol server for Komodo Container Manager
Komodo MCP server demonstrates solid definition quality with consistent tool naming, comprehensive input schemas, and clear parameter descriptions. All 6 tools follow verb_noun naming convention (komodo_server_*). Input schemas are well-structured with type definitions and parameter descriptions present. However, output schemas are not explicitly documented in the source, and descriptions vary in depth. The server targets container management operations (list, query, configure, delete, cleanup) with appropriate risk labels (READ_ONLY, WRITE, DESTRUCTIVE). Error handling and recovery guidance are minimal. Tool composition is clean, each tool has a single responsibility, though some tools (e.g., komodo_server_action) combine multiple related operations into a single enum-based dispatcher.
Host-level operations on a Komodo server: batch container lifecycle (start/restart/pause/unpause/stop all), Docker resource pruning (containers, images, volumes, networks, system, builders, buildx), or deletion of named networks/images/volumes. Destructive — frees disk space or stops workloads.
Create or update a Komodo Server (PATCH-style; safe to call repeatedly). action="create": new server. Required: name. Periphery agent must be reachable at config.address. action="update": existing server (`server` required). Only fields in `config` change.
Delete (unregister) a server
Get detailed information about a specific server
List all servers registered in Komodo. Shows server name, ID, status (healthy/unhealthy/disabled), Periphery version, and region.
Output schemas not documented. Source code shows input schemas but no explicit documentation of what fields/structure each tool returns. LLMs cannot plan downstream calls without knowing response structure (e.g., what fields does komodo_server_list return? Does it include status, version, region as the description claims?).
komodo_server_action combines 14 distinct operations (start/restart/pause/unpause/stop containers, prune 6 Docker resource types, delete named resources) into a single tool via enum dispatcher. This violates single-responsibility principle and forces LLMs to reason about which enum value to pass rather than invoking semantically distinct tools. Consider splitting into focused tools: komodo_container_start_all, komodo_prune_containers, komodo_delete_image, etc.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 73 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Get server health status and state. Returns whether the Periphery agent is reachable and the server is healthy. For detailed system metrics, use komodo_server_info.
komodo_server_delete and komodo_server_action (destructive operations) lack dry-run or confirmation mechanism. Agents make mistakes, irreversible operations should support a confirm_before_execute pattern to prevent accidental data loss.
komodo_server_info parameter 'inline_full' lacks clarity. Description says 'Include full resource payload inline' but does not explain what happens when false, or when this parameter is useful. LLMs cannot reason about whether to set it without more context.
komodo_server_apply 'config' parameter is typed as generic object with minimal description ('Server configuration (partial update)'). LLMs cannot know what keys/structure the config object accepts. This invites hallucinated config fields. Should either enumerate accepted keys (nested object schema) or provide examples of valid config payloads.
No error handling guidance. Tool descriptions do not explain what errors are possible or how LLMs should recover (e.g., 'If server not found, call komodo_server_list() first'). Missing error classification (retryable, user-fixable, fatal) forces agents to guess.
komodo_server_apply description does not clearly explain PATCH semantics. It says 'safe to call repeatedly' (idempotent) and 'only fields in config change' (partial update), but does not state whether omitted fields are left unchanged or reset to defaults. Agents need explicit idempotency guarantees.
komodo_server_action parameter 'name' is only required for 3 of 14 enum values (delete_network, delete_image, delete_volume) but the schema description does not make this dependency explicit. Undocumented parameter relationships cause silent misuse.