2026-09-07 20:36:39 +00:00
# Komodo MCP Server
2026-09-07 21:10:19 +00:00
MCP server for the [Komodo ](https://komo.do ) build/deploy platform. Exposes 11 tools that map to Komodo's full RPC API surface (~336 endpoints) via the Model Context Protocol.
2026-09-07 20:36:39 +00:00
## Setup
### Prerequisites
- Node.js 22+
- A running Komodo instance with API access
2026-09-07 21:10:19 +00:00
### Authentication
The server supports two authentication methods:
**API Key (Preferred):**
| Variable | Required | Description |
|----------|----------|-------------|
| `KOMODO_BASE_URL` | Yes | Base URL of your Komodo instance |
| `KOMODO_API_KEY` | Yes | API key from Komodo UI Settings |
| `KOMODO_API_SECRET` | Yes | API secret from Komodo UI Settings |
**JWT Login:**
| Variable | Required | Description |
|----------|----------|-------------|
| `KOMODO_BASE_URL` | Yes | Base URL of your Komodo instance |
| `KOMODO_USERNAME` | Yes | Komodo login username |
| `KOMODO_PASSWORD` | Yes | Komodo login password |
2026-09-07 20:36:39 +00:00
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `PORT` | No | `9800` | Port for the HTTP/SSE transport |
`KOMODO_URL` is accepted as a legacy alias for `KOMODO_BASE_URL` .
### Install & Build
```bash
npm install
npm run build
```
### Run
```bash
npm start
```
Or for development with live reload:
```bash
npm run dev
```
The server starts on `http://0.0.0.0:9800/mcp` with a health check at `/health` .
### MCP Client Configuration
Add to your MCP client config (e.g. `mcp.json` or equivalent):
```json
{
"mcpServers" : {
"komodo" : {
"url" : "http://localhost:9800/mcp"
}
}
}
```
## Tools
### `komodo_list`
List or search Komodo resources.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resource_type` | enum | Yes | Resource type (see below) |
| `search` | string | No | Search query — uses Search* endpoint instead of List* |
| `project` | string | No | Filter by project name or ID |
Returns a JSON array of matching resources.
### `komodo_get`
Get a single resource by ID or name.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resource_type` | enum | Yes | Resource type |
| `id` | string | Yes | Resource ID or name |
### `komodo_create`
Create a new resource.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resource_type` | enum | Yes | Resource type |
| `params` | object | No | Fields for the corresponding Create* endpoint |
### `komodo_update`
Update an existing resource by ID.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resource_type` | enum | Yes | Resource type |
| `id` | string | Yes | Resource ID or name |
| `params` | object | No | Fields to update |
### `komodo_delete`
Delete a resource by ID or name.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resource_type` | enum | Yes | Resource type |
| `id` | string | Yes | Resource ID or name |
### `komodo_execute`
2026-09-07 21:10:19 +00:00
Execute a Komodo operation. 100+ operations available.
2026-09-07 20:36:39 +00:00
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
2026-09-07 21:10:19 +00:00
| `operation` | enum | Yes | Operation to run |
2026-09-07 20:36:39 +00:00
| `id` | string | No | Resource ID or name |
| `params` | object | No | Additional operation parameters |
2026-09-07 21:10:19 +00:00
**Operations (100+):**
| Category | Operations |
|----------|------------|
| Build & Deploy | `run_build` , `deploy_stack` , `deploy_stack_service` , `deploy` , `deploy_stack_if_changed` , `destroy_stack` , `destroy_container` , `destroy_deployment` |
| Repo | `build_repo` , `clone_repo` , `pull_repo` , `pull_deployment` , `cancel_repo_build` , `clear_repo_cache` |
| Procedure & Action | `run_procedure` , `run_procedure_stage` , `run_action` , `cancel_action` , `cancel_build` , `cancel_procedure` |
| Stack | `run_stack_refresh_cache` , `run_stack_refresh_content` , `run_stack_pull` , `run_stack_pull_deployment` , `run_stack_stop` , `run_stack_restart` , `run_stack_pause` , `run_stack_unpause` , `run_stack_remove_orphan_containers` , `run_stack_toggle_service_dependencies` , `run_stack_auto_update` , `run_stack_commit` , `start_stack` , `run_resource_sync` , `run_sync_deployment` |
| Container Lifecycle | `start_container` , `stop_container` , `restart_container` , `pause_container` , `unpause_container` , `start_all_containers` , `stop_all_containers` , `restart_all_containers` , `pause_all_containers` , `unpause_all_containers` |
| Deployment Lifecycle | `start_deployment` , `stop_deployment` , `restart_deployment` , `pause_deployment` , `unpause_deployment` |
| Server | `run_server_refresh` , `run_server_refresh_containers` , `run_server_update_periphery` , `run_server_prune_images` , `run_server_prune_containers` , `run_server_prune_networks` , `run_server_stats` , `run_server_run_command` , `run_server_scripts` , `run_server_copy` , `run_server_move` , `rotate_all_server_keys` |
| Docker Cleanup | `prune_buildx` , `prune_docker_builders` , `prune_system` , `prune_volumes` , `delete_image` , `delete_network` , `delete_volume` |
| Swarm | `remove_swarm_nodes` , `remove_swarm_services` , `remove_swarm_configs` , `remove_swarm_secrets` , `remove_swarm_stacks` , `create_swarm_config` , `create_swarm_secret` , `rotate_swarm_config` , `rotate_swarm_secret` , `update_swarm_node` |
| Batch | `batch_run_build` , `batch_deploy_stack` , `batch_deploy_stack_if_changed` , `batch_deploy` , `batch_pull_stack` , `batch_pull_repo` , `batch_build_repo` , `batch_clone_repo` , `batch_run_procedure` , `batch_run_action` , `batch_destroy_deployment` , `batch_destroy_stack` |
| Admin | `global_auto_update` , `backup_core_database` , `rotate_core_keys` , `send_alert` , `test_alerter` , `sleep` , `get_mcp_token` |
2026-09-07 20:36:39 +00:00
### `komodo_logs`
2026-09-07 21:10:19 +00:00
Get logs for a deployment, stack, container, or swarm service.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resource_type` | enum | Yes | `deployment` , `stack` , `container` , or `swarm_service` |
| `id` | string | Yes | Resource ID or name |
| `tail` | number | No | Number of recent log lines |
### `komodo_summary`
Get summary stats for a resource type.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resource_type` | enum | Yes | `build` , `deployment` , `server` , `stack` , `alerter` , `procedure` , `sync_resource` , `repo` , `builder` , `swarm` , `action` |
### `komodo_inspect`
Inspect a Docker object.
2026-09-07 20:36:39 +00:00
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
2026-09-07 21:10:19 +00:00
| `inspect_type` | enum | Yes | `container` , `image` , `network` , `volume` , `swarm` , `swarm_node` , etc. |
| `id` | string | Yes | Object ID or name |
| `server` | string | No | Server name (for server-scoped objects) |
### `komodo_search_logs`
Search logs with a query string.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resource_type` | enum | Yes | `container` , `deployment` , `stack` , `swarm_service` |
2026-09-07 20:36:39 +00:00
| `id` | string | Yes | Resource ID or name |
2026-09-07 21:10:19 +00:00
| `query` | string | Yes | Search query to filter log lines |
2026-09-07 20:36:39 +00:00
| `tail` | number | No | Number of recent log lines |
2026-09-07 21:10:19 +00:00
### `komodo_list_detail`
Extended listing for specific Docker/infrastructure objects.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_type` | enum | Yes | What to list (see below) |
| `server` | string | No | Server name filter |
| `pattern` | string | No | Filter pattern |
**List types:** `containers` , `all_containers` , `images` , `networks` , `volumes` , `system_processes` , `schedules` , `permissions` , `api_keys` , `secrets` , `updates` , `build_versions` , `compose_projects` , `full_stacks` , `full_builds` , `full_servers` , `full_deployments` , `full_procedures` , `full_repos` , `full_builders` , `full_swarms` , `full_actions` , `full_alerters` , `full_resource_syncs`
2026-09-07 20:36:39 +00:00
## Resource Types
All tools that accept `resource_type` support these values:
| Value | Komodo Resource |
|-------|----------------|
| `stack` | Docker Compose stacks |
| `build` | Build configurations |
| `server` | Managed servers |
| `procedure` | Automation procedures |
| `deployment` | Deployments |
| `alerter` | Alert configurations |
| `image_registry_account` | Container registry accounts |
| `sync_resource` | Sync resources |
| `user` | Users |
| `tag` | Tags |
| `execution` | Execution history |
| `access_request` | Access requests |
2026-09-07 21:10:19 +00:00
| `action` | Automation actions |
| `repo` | Git repositories |
| `builder` | Build configurations |
| `swarm` | Docker Swarm clusters |
| `variable` | Environment variables |
| `user_group` | Permission groups |
| `alert` | Alert history |
| `terminal` | Web terminals |
| `git_provider_account` | Git provider connections |
2026-09-07 20:36:39 +00:00
## Architecture
- **Transport:** HTTP/SSE via `StreamableHTTPServerTransport` (MCP protocol)
2026-09-07 21:10:19 +00:00
- **Auth:** API Key headers (preferred) or JWT login with auto-refresh
2026-09-07 20:36:39 +00:00
- **API:** Komodo RPC-style — all calls are `POST /{read|write|execute}/{RequestName}`
2026-09-07 21:10:19 +00:00
- **Coverage:** ~336 of ~336 Komodo API endpoints (100%)
2026-09-07 20:36:39 +00:00
## License
Private — BuzzbeeSCD