Komodo MCP Server

io.github.Samik081由 GitHub 账号 Samik081 发布v0.9.1更新于 Oct 25, 2026

Manage Komodo through AI assistants

概览

AI 生成的概览

一个 MCP 服务器,让 AI 助手读取并操作 Komodo DevOps 平台:服务器、堆栈、部署、构建、仓库和用户。

可以做什么
列出并查看服务器、堆栈、部署、构建、仓库、构建器、告警器、资源同步和操作历史,包括日志、统计信息以及容器、镜像、网络和卷的 Docker inspect 输出。部署、拉取、启动、停止、重启、暂停、销毁或清理堆栈、部署和 Docker 资源,并运行构建、流程、动作和 GitOps 同步。创建、更新和删除 Komodo 资源,并管理用户、服务用户、API 密钥和权限。
适用场景
适合已经运行 Komodo、希望通过聊天助手而非 Komodo 界面查看基础设施状态、读取日志和统计信息,或触发部署和生命周期操作的场景。只读层级可用于安全地探索 Komodo 实例。
运行要求
通过 npx 以 Node.js 本地运行,或以 Docker 镜像运行;当 MCP_TRANSPORT 设为 http 时也可作为远程 HTTP 端点运行。需要可访问的 Komodo Core 实例地址(KOMODO_URL),以及在 Komodo 界面生成的 API 密钥和密钥(KOMODO_API_KEY 和 KOMODO_API_SECRET)。面向 Komodo 1.19.5 构建。
安装前请注意
默认访问层级为 full,包含部署、销毁、清理、删除用户和 API 密钥、创建或删除任意资源等破坏性工具;可将 KOMODO_ACCESS_TIER 设为 read-only 或 read-execute 加以限制。启用 show_env_values 时 inspect 工具会返回明文环境变量值,且脱敏仅覆盖 Env 数组,标签、命令和挂载信息不会被脱敏。用户相关工具需要管理员 API 密钥。API 密钥通过明文环境变量传递。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Komodo MCP Server,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[npm version] [Docker image] [License: MIT] [Node.js Version]

MCP Komodo

MCP server for the Komodo DevOps platform. Manage servers, stacks, deployments, builds, and more through natural language in Cursor, Claude Code, and Claude Desktop.

Features

  • 63 tools across 14 categories covering the complete Komodo DevOps API
  • Three access tiers (read-only, read-execute, full) for granular control
  • Category filtering via KOMODO_CATEGORIES to expose only the tools you need
  • Zero HTTP dependencies -- lightweight native-fetch client, no SDK required
  • Docker images for linux/amd64 and linux/arm64 on GHCR
  • Remote MCP via HTTP transport (MCP_TRANSPORT=http) using the Streamable HTTP protocol
  • TypeScript/ESM with full type safety

API Compatibility

Built for Komodo 1.19.5.

Quick Start

Run the server directly with npx:

bash
KOMODO_URL="https://komodo.example.com" \KOMODO_API_KEY="your-api-key" \KOMODO_API_SECRET="your-api-secret" \npx -y @samik081/mcp-komodo

The server validates your Komodo connection on startup and fails immediately with a clear error if credentials are missing or invalid.

Docker

Run with Docker (stdio transport, same as npx):

bash
docker run --rm -i \  -e KOMODO_URL=https://komodo.example.com \  -e KOMODO_API_KEY=your-api-key \  -e KOMODO_API_SECRET=your-api-secret \  ghcr.io/samik081/mcp-komodo

To run as a remote MCP server with HTTP transport:

bash
docker run -d -p 3000:3000 \  -e MCP_TRANSPORT=http \  -e KOMODO_URL=https://komodo.example.com \  -e KOMODO_API_KEY=your-api-key \  -e KOMODO_API_SECRET=your-api-secret \  ghcr.io/samik081/mcp-komodo

The MCP endpoint is available at http://localhost:3000 and a health check at http://localhost:3000/health.

Configuration

Claude Code CLI (recommended):

bash
# Using npxclaude mcp add --transport stdio komodo \  --env KOMODO_URL=https://komodo.example.com \  --env KOMODO_API_KEY=your-api-key \  --env KOMODO_API_SECRET=your-api-secret \  -- npx -y @samik081/mcp-komodo
# Using Dockerclaude mcp add --transport stdio komodo \  --env KOMODO_URL=https://komodo.example.com \  --env KOMODO_API_KEY=your-api-key \  --env KOMODO_API_SECRET=your-api-secret \  -- docker run --rm -i ghcr.io/samik081/mcp-komodo
# Using remote HTTP (connect to a running Docker container or HTTP server)claude mcp add --transport http komodo http://localhost:3000

JSON config (works with Claude Code .mcp.json, Claude Desktop claude_desktop_config.json, Cursor .cursor/mcp.json):

json
{  "mcpServers": {    "komodo": {      "command": "npx",      "args": ["-y", "@samik081/mcp-komodo"],      "env": {        "KOMODO_URL": "https://komodo.example.com",        "KOMODO_API_KEY": "your-api-key",        "KOMODO_API_SECRET": "your-api-secret"      }    }  }}

Docker (stdio):

json
{  "mcpServers": {    "komodo": {      "command": "docker",      "args": ["run", "--rm", "-i",        "-e", "KOMODO_URL=https://komodo.example.com",        "-e", "KOMODO_API_KEY=your-api-key",        "-e", "KOMODO_API_SECRET=your-api-secret",        "ghcr.io/samik081/mcp-komodo"      ]    }  }}

Remote MCP (connect to a running Docker container or HTTP server):

json
{  "mcpServers": {    "komodo": {      "type": "streamable-http",      "url": "http://localhost:3000"    }  }}

Access Tiers

Control which tools are available using the KOMODO_ACCESS_TIER environment variable:

TierToolsDescription
full (default)63Read, execute, and write -- full control
read-execute55Read and execute -- no resource creation/deletion, no user administration
read-only39Read only -- safe for exploration, no state changes

Tier details:

  • full: All 63 tools. Includes komodo_write_resource for creating, updating, and deleting Komodo resources, plus the user administration tools (service users, API keys, permissions).
  • read-execute: 55 tools. All read tools plus execute tools (deploy, pull, lifecycle, run, etc.). The komodo_write_resource tool and the user administration write tools are hidden.
  • read-only: 39 tools. List, get, logs, inspect, stats, summaries, operation history, and user/permission reads only. All execute and write tools are hidden.

Tools that are not available in your tier are not registered with the MCP server. They will not appear in your AI tool's tool list, keeping the context clean.

Set KOMODO_ACCESS_TIER to read-only, read-execute, or full (default: full).

Environment Variables

VariableRequiredDefaultDescription
KOMODO_URLYes--URL of your Komodo Core instance
KOMODO_API_KEYYes--API key for authentication
KOMODO_API_SECRETYes--API secret for authentication
KOMODO_ACCESS_TIERNofullAccess tier: read-only, read-execute, or full
KOMODO_CATEGORIESNo(all)Comma-separated category allowlist (e.g., servers,stacks,builds)
KOMODO_TOOL_BLACKLISTNo(none)Comma-separated list of tool names to exclude (e.g., komodo_destroy_stack)
KOMODO_TOOL_WHITELISTNo(none)Comma-separated list of tool names to force-include, bypassing access tier and category filters
KOMODO_ALLOW_ENV_VALUESNo(tier-based)Whether inspect tools may return plaintext env values via show_env_values: true. Defaults to allowed on read-execute/full and refused on read-only; set true or false to override
DEBUGNofalseEnable debug logging to stderr
MCP_TRANSPORTNostdioTransport mode: stdio (default) or http
MCP_PORTNo3000HTTP server port (only used when MCP_TRANSPORT=http)
MCP_HOSTNo0.0.0.0HTTP server bind address (only used when MCP_TRANSPORT=http)
MCP_SESSION_IDLE_TIMEOUTNo1800Seconds of inactivity after which an HTTP session is closed and its memory released (sessions with a connected SSE stream are never closed). 0 disables. Only used when MCP_TRANSPORT=http
MCP_EXCLUDE_TOOL_TITLESNofalseSet true to omit tool titles from registration (saves tokens)

Generate API keys in the Komodo UI under Settings > API Keys.

Available Categories

servers, stacks, deployments, containers, builds, repos, procedures, actions, builders, alerters, resource-syncs, updates, users, write

Tools

mcp-komodo provides 63 tools organized by category. Each tool's Access column shows the minimum tier required: read-only (available in all tiers), read-execute (requires read-execute or full), or full (requires full tier only). The Hints column shows tool behavior: read-only (no state changes), destructive (modifies existing state), idempotent (same result if called twice).

All 16 execute tools wait for the operation to complete and report its real outcome by default; pass wait: false for fire-and-forget, or wait_timeout_seconds to bound the wait (default 45s).

Servers (10 tools)
ToolDescriptionAccessHints
komodo_list_serversList all servers with status and regionread-onlyread-only, idempotent
komodo_get_serverGet server configuration, status, and action stateread-onlyread-only, idempotent
komodo_get_server_statsGet CPU, memory, disk usage, and load averagesread-onlyread-only, idempotent
komodo_get_server_infoGet OS details, hardware info, and running processesread-onlyread-only, idempotent
komodo_inspect_docker_containerInspect a Docker container (docker inspect payload); env values render as sha256:<12-hex> digests unless show_env_values: true (refused on the read-only tier unless KOMODO_ALLOW_ENV_VALUES=true) -- redaction covers Env arrays only, so labels, cmd, and mounts are returned unredactedread-onlyread-only, idempotent
komodo_inspect_docker_imageInspect a Docker image (docker image inspect payload); baked-in env values render as sha256:<12-hex> digests unless show_env_values: true (refused on the read-only tier unless KOMODO_ALLOW_ENV_VALUES=true) -- redaction covers Env arrays only, so labels, cmd, and layers are returned unredactedread-onlyread-only, idempotent
komodo_inspect_docker_networkInspect a Docker network (equivalent to docker network inspect)read-onlyread-only, idempotent
komodo_inspect_docker_volumeInspect a Docker volume (equivalent to docker volume inspect)read-onlyread-only, idempotent
komodo_prune_dockerPrune unused Docker resources on a serverread-executedestructive, idempotent
komodo_delete_docker_resourceDelete a specific Docker image, volume, or networkread-executedestructive
Stacks (10 tools)
ToolDescriptionAccessHints
komodo_list_stacksList all stacks with state, server, and service countread-onlyread-only, idempotent
komodo_get_stackGet stack configuration, services, and action stateread-onlyread-only, idempotent
komodo_list_stack_servicesList services in a stack with image, container state, and update availabilityread-onlyread-only, idempotent
komodo_get_stacks_summaryGet aggregate counts of all stacks by stateread-onlyread-only, idempotent
komodo_get_stack_logGet logs from stack services, with optional searchread-onlyread-only, idempotent
komodo_inspect_stack_containerInspect a container for a specific service in a stack (docker inspect payload); env values render as sha256:<12-hex> digests unless show_env_values: true (refused on the read-only tier unless KOMODO_ALLOW_ENV_VALUES=true) -- redaction covers Env arrays only, so labels, cmd, and mounts are returned unredactedread-onlyread-only, idempotent
komodo_deploy_stackDeploy or redeploy a stackread-executedestructive
komodo_pull_stackPull latest images without redeploying (docker compose pull)read-executeidempotent
komodo_stack_lifecycleStart, stop, restart, pause, or unpause a stack; optionally targets specific servicesread-executedestructive
komodo_destroy_stackPermanently destroy a stackread-executedestructive
Deployments (9 tools)
ToolDescriptionAccessHints
komodo_list_deploymentsList all deployments with state, image, and serverread-onlyread-only, idempotent
komodo_get_deploymentGet deployment configuration, container status, and action stateread-onlyread-only, idempotent
komodo_get_deployments_summaryGet aggregate counts of all deployments by stateread-onlyread-only, idempotent
komodo_get_deployment_logGet container logs, with optional searchread-onlyread-only, idempotent
komodo_inspect_deployment_containerInspect the container for a deployment (docker inspect payload); env values render as sha256:<12-hex> digests unless show_env_values: true (refused on the read-only tier unless KOMODO_ALLOW_ENV_VALUES=true) -- redaction covers Env arrays only, so labels, cmd, and mounts are returned unredactedread-onlyread-only, idempotent
komodo_deploy_deploymentDeploy with latest image and configurationread-executedestructive
komodo_pull_deploymentPull latest image without redeploying (docker pull)read-executeidempotent
komodo_deployment_lifecycleStart, stop, restart, pause, or unpause a deploymentread-executedestructive
komodo_destroy_deploymentPermanently destroy a deploymentread-executedestructive
Containers (1 tool)
ToolDescriptionAccessHints
komodo_get_container_logGet logs from any Docker container on a serverread-onlyread-only, idempotent
Builds (4 tools)
ToolDescriptionAccessHints
komodo_list_buildsList all build configurations with version inforead-onlyread-only, idempotent
komodo_get_buildGet build configuration, builder, and action stateread-onlyread-only, idempotent
komodo_run_buildRun a build to create a Docker imageread-execute—
komodo_cancel_buildCancel a running buildread-executedestructive, idempotent
Repos (3 tools)
ToolDescriptionAccessHints
komodo_list_reposList all repos with URL, server, and stateread-onlyread-only, idempotent
komodo_get_repoGet repo configuration, branch, and action stateread-onlyread-only, idempotent
komodo_repo_clone_pullClone or pull a repo on its target serverread-executedestructive
Procedures (3 tools)
ToolDescriptionAccessHints
komodo_list_proceduresList all procedures with stateread-onlyread-only, idempotent
komodo_get_procedureGet procedure stages, operations, and action stateread-onlyread-only, idempotent
komodo_run_procedureRun a procedure (executes all stages)read-executedestructive
Actions (3 tools)
ToolDescriptionAccessHints
komodo_list_actionsList all actions with stateread-onlyread-only, idempotent
komodo_get_actionGet action configuration and action stateread-onlyread-only, idempotent
komodo_run_actionRun a custom TypeScript/Deno actionread-executedestructive
Builders (2 tools)
ToolDescriptionAccessHints
komodo_list_buildersList all builders with typeread-onlyread-only, idempotent
komodo_get_builderGet builder type, server configuration, and stateread-onlyread-only, idempotent
Alerters (2 tools)
ToolDescriptionAccessHints
komodo_list_alertersList all alerters with typeread-onlyread-only, idempotent
komodo_get_alerterGet alerter endpoint type, configuration, and statusread-onlyread-only, idempotent
Resource Syncs (3 tools)
ToolDescriptionAccessHints
komodo_list_resource_syncsList all resource syncs with state and repo inforead-onlyread-only, idempotent
komodo_get_resource_syncGet sync configuration, managed resources, and stateread-onlyread-only, idempotent
komodo_trigger_syncTrigger a GitOps sync from the Git reporead-executedestructive
Updates (2 tools)
ToolDescriptionAccessHints
komodo_list_updatesList operation history with filters for resource type, target, operation, and successread-onlyread-only, idempotent
komodo_get_updateGet full operation details including logs with stdout/stderr for each stageread-onlyread-only, idempotent
Users (10 tools)

All 10 user tools require a Komodo admin account -- Komodo rejects them for non-admin API keys regardless of the configured access tier.

ToolDescriptionAccessHints
komodo_list_usersList Komodo users, optionally filtering service usersread-onlyread-only, idempotent
komodo_list_api_keys_for_service_userList a service user's API keys (secrets are never returned)read-onlyread-only, idempotent
komodo_list_permissionsList permissions granted to a user or user groupread-onlyread-only, idempotent
komodo_create_service_userCreate a service user for automationfull—
komodo_delete_userDelete a user by ID or usernamefulldestructive
komodo_create_api_key_for_service_userCreate an API key for a service user (the secret is returned once)full—
komodo_delete_api_key_for_service_userDelete a service user's API keyfulldestructive
komodo_update_user_base_permissionsUpdate a user's enabled / create-servers / create-builds flagsfulldestructive, idempotent
komodo_update_permission_on_resource_typeSet a user or group's base permission on all resources of a typefulldestructive, idempotent
komodo_update_permission_on_targetSet a user or group's permission on one specific resourcefulldestructive, idempotent
Write (1 tool)
ToolDescriptionAccessHints
komodo_write_resourceCreate, update, or delete any Komodo resourcefulldestructive

Verify It Works

After configuring your MCP client, ask your AI assistant:

"What servers are connected to Komodo?"

If the connection is working, the assistant will call komodo_list_servers and return your servers with their current state and region.

Usage Examples

Once configured, ask your AI tool questions in natural language:

  • "List all my servers and their status" -- calls komodo_list_servers to show every server with its current state and region.

  • "What's the CPU and memory usage on server prod-01?" -- calls komodo_get_server_stats to show real-time resource utilization.

  • "Show me the logs from the production stack" -- calls komodo_get_stack_log to retrieve recent log output from all services in the stack.

  • "Deploy the frontend stack" -- calls komodo_deploy_stack to redeploy the stack with its current configuration.

  • "Why did the frontend stack deploy fail?" -- calls komodo_list_updates to find the failed deploy, then komodo_get_update to show the full logs with stdout/stderr.

  • "Pull the latest images for the monitoring stack" -- calls komodo_pull_stack to download updated images without redeploying.

  • "Create a new deployment called api-staging with image myapp:latest" -- calls komodo_write_resource to create a new Deployment resource in Komodo.

Troubleshooting

Connection refused

Check that KOMODO_URL is correct and that Komodo Core is reachable from where the MCP server is running. The server validates the connection on startup, so if it started successfully, the URL was valid at that time.

Invalid credentials / 401 Unauthorized

Verify your API key and secret are correct. Check that the key has not been revoked or expired in the Komodo UI under Settings > API Keys.

Tools not showing up

Check your access tier setting. In read-only mode, only 39 tools are registered. In read-execute mode, 55 tools are registered. Use full (or omit KOMODO_ACCESS_TIER) for all 63 tools. Check KOMODO_CATEGORIES -- only tools in listed categories are registered. Also verify the server started without errors by checking stderr output.

Development

bash
# Install dependenciesnpm install
# Build the projectnpm run build
# Run in development mode (auto-reload)npm run dev
# Open the MCP Inspector for interactive testingnpm run inspect

License

MIT

来源:README.md,提交 ce1f080

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v0.9.1最新Sep 29, 2026
  2. v0.8.1Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分