](https://www.npmjs.com/package/@samik081/mcp-komodo) ](https://ghcr.io/samik081/mcp-komodo)  ](https://nodejs.org)
MCP科莫多
MCP服务器 科莫多 DevOps平台。通过Cursor、Claude Code和Claude Desktop中的自然语言管理服务器、堆栈、部署、构建等。
特性
- 53工具 穿过 13个类别 涵盖完整的Komodo DevOps API
- 三个访问层 (
read-only,read-execute,full)用于粒度控制 - 类别筛选 通过
KOMODO_CATEGORIES仅公开您需要的工具 - 零HTTP依赖 --使用官方
komodo_client软件开发工具包 - Docker镜像 为了
linux/amd64和linux/arm64上 GHCR - 远程MCP 通过HTTP传输(
MCP_TRANSPORT=http)使用流式HTTP协议 - Types/ESM 具有全类型安全性
API兼容性
专为科莫多打造 1.19.5.
快速开始
使用npx直接运行服务器:
KOMODO_URL="https://komodo.example.com" \
KOMODO_API_KEY="your-api-key" \
KOMODO_API_SECRET="your-api-secret" \
npx -y @samik081/mcp-komodo服务器在启动时验证您的Komodo连接,如果凭据丢失或无效,则立即失败并显示明确的错误。
码头工人
使用Docker运行(stdio传输,与npx相同):
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要作为具有HTTP传输的远程MCP服务器运行:
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-komodoMCP端点位于 http://localhost:3000 健康检查在 http://localhost:3000/health.
配置
Claude Code命令行界面(推荐):
# Using npx
claude 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 Docker
claude 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:3000JSON配置 (与Claude Code合作 .mcp.json,克劳德桌面 claude_desktop_config.json,光标 .cursor/mcp.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(标准操作系统):
{
"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"
]
}
}
}远程MCP (连接到正在运行的Docker容器或HTTP服务器):
{
"mcpServers": {
"komodo": {
"type": "streamable-http",
"url": "http://localhost:3000"
}
}
}访问层
使用控制哪些工具可用 KOMODO_ACCESS_TIER 环境变量:
| 层级 | 工具 | 描述 |
|---|---|---|
full (默认) | 53 | 读取、执行和写入--完全控制 |
read-execute | 52 | 读取并执行——不通过写工具创建/删除资源 |
read-only | 36 | 只读-可安全探索,无状态更改 |
层级详细信息:
- 满的:全部53个工具。包含
komodo_write_resource用于创建、更新和删除Komodo资源。 - 读取执行:52个工具。所有读取工具加上执行工具(部署、拉取、生命周期、运行等)。这
komodo_write_resource工具被隐藏。 - 只读:36个工具。仅列出、获取、记录、检查、统计、摘要和操作历史。所有执行和写入工具都是隐藏的。
您层中不可用的工具未在MCP服务器上注册。它们不会出现在你的人工智能工具的工具列表中,保持上下文干净。
集 KOMODO_ACCESS_TIER 到 read-only, read-execute,或 full (默认值: full).
环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
KOMODO_URL | 是 | -- | 您的Komodo Core实例的URL |
KOMODO_API_KEY | 是 | -- | 用于身份验证的API密钥 |
KOMODO_API_SECRET | 是 | -- | 用于身份验证的API机密 |
KOMODO_ACCESS_TIER | 没有 | full | 访问层: read-only, read-execute,或 full |
KOMODO_CATEGORIES | 没有 | *(全部)* | 逗号分隔的类别列表(例如。, servers,stacks,builds) |
KOMODO_TOOL_BLACKLIST | 没有 | *(无)* | 以逗号分隔的要排除的工具名称列表(例如。, komodo_destroy_stack) |
KOMODO_TOOL_WHITELIST | 没有 | *(无)* | 以逗号分隔的工具名称列表将强制包含,绕过访问层和类别筛选器 |
DEBUG | 没有 | false | 启用stderr的调试日志记录 |
MCP_TRANSPORT | 没有 | stdio | 运输方式: stdio (默认)或 http |
MCP_PORT | 没有 | 3000 | HTTP服务器端口(仅在以下情况下使用 MCP_TRANSPORT=http) |
MCP_HOST | 没有 | 0.0.0.0 | HTTP服务器绑定地址(仅在以下情况下使用 MCP_TRANSPORT=http) |
MCP_EXCLUDE_TOOL_TITLES | 没有 | false | 设置 true 从注册中省略工具标题(保存标记) |
在下面的Komodo UI中生成API密钥 设置>API密钥.
可用类别
servers, stacks, deployments, containers, builds, repos, procedures, actions, builders, alerters, resource-syncs, updates, write
工具
mcp-komodo提供了53个按类别组织的工具。每个工具的“访问”列显示了所需的最低级别: read-only (适用于所有级别), read-execute (要求 read-execute 或 full),或 full (要求 full 仅限级别)。提示列显示工具行为: read-only (无状态变化), destructive (修改现有状态), idempotent (如果调用两次,结果相同)。
Servers (10 tools)
| 工具 | 描述 | 访问 | 提示 |
|---|---|---|---|
komodo_list_servers | 列出状态和区域 | 只读 | 只读、幂等的所有服务器 |
komodo_get_server | 获取服务器配置、状态和操作状态 | 只读 | 只读,幂等 |
komodo_get_server_stats | 获取CPU、内存、磁盘使用率和负载平均值 | 只读 | 只读,幂等 |
komodo_get_server_info | 获取操作系统详细信息、硬件信息和正在运行的进程 | 只读 | 只读,幂等 |
komodo_inspect_docker_container | 检查Docker容器(相当于Docker Inspect) | 只读 | 只读,幂等 |
komodo_inspect_docker_image | 检查Docker镜像(相当于Docker镜像检查) | 只读 | 只读,幂等 |
komodo_inspect_docker_network | 检查Docker网络(相当于Docker网络检查) | 只读 | 只读,幂等 |
komodo_inspect_docker_volume | 检查Docker卷(相当于Docker卷检查) | 只读 | 只读,幂等 |
komodo_prune_docker | 修剪服务器上未使用的Docker资源 | 读取-执行 | 破坏性,幂等 |
komodo_delete_docker_resource | 删除特定的Docker镜像、卷或网络 | 读取-执行 | 破坏性 |
Stacks (10 tools)
| 工具 | 描述 | 访问 | 提示 |
|---|---|---|---|
komodo_list_stacks | 列出所有具有状态、服务器和服务计数 | 只读 | 只读、幂等的堆栈 |
komodo_get_stack | 获取堆栈配置、服务和操作状态 | 只读 | 只读,幂等 |
komodo_list_stack_services | 在堆栈中列出具有映像、容器状态和更新可用性的服务 | 只读 | 只读,幂等 |
komodo_get_stacks_summary | 按状态获取所有堆栈的聚合计数 | 只读 | 只读,幂等 |
komodo_get_stack_log | 从堆栈服务获取日志,可选择搜索 | 只读 | 只读,幂等 |
komodo_inspect_stack_container | 检查容器中堆栈中的特定服务 | 只读 | 只读,幂等 |
komodo_deploy_stack | 部署或重新部署堆栈 | 读取执行 | 破坏性 |
komodo_pull_stack | 无需重新部署即可拉取最新映像(docker compose Pull) | 读取执行 | 幂等 |
komodo_stack_lifecycle | 启动、停止、重新启动、暂停或取消暂停堆栈 | 读取执行 | 破坏性 |
komodo_destroy_stack | 永久销毁堆栈 | 读取执行 | 破坏性 |
Deployments (9 tools)
| 工具 | 描述 | 访问 | 提示 |
|---|---|---|---|
komodo_list_deployments | 列出状态、映像和服务器 | 只读 | 只读、幂等的所有部署 |
komodo_get_deployment | 获取部署配置、容器状态和操作状态 | 只读 | 只读,幂等 |
komodo_get_deployments_summary | 按状态获取所有部署的聚合计数 | 只读 | 只读,幂等 |
komodo_get_deployment_log | 获取容器日志,可选搜索 | 只读 | 只读,幂等 |
komodo_inspect_deployment_container | 检查容器是否部署(相当于docker Inspect) | 只读 | 只读,幂等 |
komodo_deploy_deployment | 使用最新映像和配置进行部署 | 读取执行 | 破坏性 |
komodo_pull_deployment | 不重新部署而拉取最新映像(docker Pull) | 读取执行 | 幂等 |
komodo_deployment_lifecycle | 启动、停止、重新启动、暂停或取消暂停部署 | 读取执行 | 破坏性 |
komodo_destroy_deployment | 永久销毁部署 | 读取执行 | 破坏性 |
Containers (1 tool)
| 工具 | 描述 | 访问 | 提示 |
|---|---|---|---|
komodo_get_container_log | 从服务器上的任何Docker容器获取日志 | 只读 | 只读,幂等 |
Builds (4 tools)
| 工具 | 描述 | 访问 | 提示 |
|---|---|---|---|
komodo_list_builds | 列出所有版本信息为 | 只读 | 只读、幂等的构建配置 |
komodo_get_build | 获取构建配置、构建器和操作状态 | 只读 | 只读,幂等 |
komodo_run_build | 运行构建以创建Docker镜像 | 读取执行 | -- |
komodo_cancel_build | 取消正在运行的构建 | 读取-执行 | 破坏性,幂等 |
Repos (3 tools)
| 工具 | 描述 | 访问 | 提示 |
|---|---|---|---|
komodo_list_repos | 列出所有带有URL、服务器和状态的存储库 | 只读 | 只读,幂等 |
komodo_get_repo | 获取仓库配置、分支和操作状态 | 只读 | 只读,幂等 |
komodo_repo_clone_pull | 在目标服务器上克隆或拉取仓库 | 读取执行 | 破坏性 |
Procedures (3 tools)
| 工具 | 描述 | 访问 | 提示 |
|---|---|---|---|
komodo_list_procedures | 列出所有状态为 | 只读 | 只读、幂等的过程 |
komodo_get_procedure | 获取过程阶段、操作和动作状态 | 只读 | 只读,幂等 |
komodo_run_procedure | 运行一个过程(执行所有阶段) | 读取执行 | 破坏性 |
Actions (3 tools)
| 工具 | 描述 | 访问 | 提示 |
|---|---|---|---|
komodo_list_actions | 列出所有状态为 | 只读 | 只读、幂等的操作 |
komodo_get_action | 获取操作配置和操作状态 | 只读 | 只读,幂等 |
komodo_run_action | 运行自定义Types/Deno操作 | 读取执行 | 破坏性 |
Builders (2 tools)
| 工具 | 描述 | 访问 | 提示 |
|---|---|---|---|
komodo_list_builders | 列出所有类型为 | 只读 | 只读、幂等的构建器 |
komodo_get_builder | 获取构建器类型、服务器配置和状态 | 只读 | 只读,幂等 |
Alerters (2 tools)
| 工具 | 描述 | 访问 | 提示 |
|---|---|---|---|
komodo_list_alerters | 列出所有类型为 | 只读 | 只读、幂等的警报 |
komodo_get_alerter | 获取警报器端点类型、配置和状态 | 只读 | 只读,幂等 |
Resource Syncs (3 tools)
| 工具 | 描述 | 访问 | 提示 |
|---|---|---|---|
komodo_list_resource_syncs | 列出所有具有状态和仓库信息的资源同步 | 只读 | 只读,幂等 |
komodo_get_resource_sync | 获取同步配置、托管资源和状态 | 只读 | 只读、幂等 |
komodo_trigger_sync | 从Git仓库触发GitOps同步 | 读取执行 | 破坏性 |
Updates (2 tools)
| 工具 | 描述 | 访问 | 提示 |
|---|---|---|---|
komodo_list_updates | 列出操作历史记录,其中包含资源类型、目标、操作和成功的筛选器 | 只读 | 只读,幂等 |
komodo_get_update | 获取完整的操作详细信息,包括每个阶段的stdout/stderr日志 | 只读 | 只读,幂等 |
Write (1 tool)
| 工具 | 描述 | 访问 | 提示 |
|---|---|---|---|
komodo_write_resource | 创建、更新或删除任何Komodo资源 | 完全 | 破坏性 |
验证它是否有效
配置完MCP客户端后,询问您的AI助手:
“哪些服务器连接到Komodo?”
如果连接正常,助理会打电话 komodo_list_servers 并返回服务器的当前状态和地区。
用法示例
配置后,用自然语言向您的AI工具提问:
- “列出我的所有服务器及其状态” --电话
komodo_list_servers显示每台服务器的当前状态和区域。
- “服务器prod-01的CPU和内存使用情况如何?” --电话
komodo_get_server_stats以显示实时资源利用率。
- “显示生产堆栈中的日志” --电话
komodo_get_stack_log从堆栈中的所有服务检索最近的日志输出。
- “部署前端堆栈” --电话
komodo_deploy_stack以当前配置重新部署堆栈。
- “为什么前端堆栈部署失败?” --电话
komodo_list_updates要查找失败的部署,请执行以下操作komodo_get_update使用stdout/stderr显示完整日志。
- “提取监控堆栈的最新图像” --电话
komodo_pull_stack下载更新的图像而无需重新部署。
- “使用镜像myapp:latest创建一个名为api staging的新部署” --电话
komodo_write_resource在Komodo中创建新的部署资源。
故障排除
连接被拒绝
检查一下 KOMODO_URL 正确,并且可以从运行MCP服务器的位置访问Komodo Core。服务器在启动时验证连接,因此如果连接成功启动,则URL在当时是有效的。
无效凭据/401未经授权
验证您的API密钥和机密是否正确。在Komodo UI的“设置”>“API密钥”下检查密钥是否未被吊销或过期。
工具未显示
检查您的访问层设置。在 read-only 模式下,仅注册了36个工具。在 read-execute 模式下,注册了52个工具。使用 full (或省略 KOMODO_ACCESS_TIER)适用于所有53种工具。检查 KOMODO_CATEGORIES --仅注册所列类别中的工具。还可以通过检查stderr输出来验证服务器是否已正确启动。
发展
# Install dependencies
npm install
# Build the project
npm run build
# Run in development mode (auto-reload)
npm run dev
# Open the MCP Inspector for interactive testing
npm run inspect