productivity
Contabo CLI for AI Agents
Use the Contabo CLI from KosmoKrator to call Contabo tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.Contabo CLI Setup
Contabo can be configured headlessly with `kosmokrator integrations:configure contabo`.
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash
# Configure and verify this integration.
kosmokrator integrations:configure contabo --set access_token="$CONTABO_ACCESS_TOKEN" --enable --read allow --write ask --json
kosmokrator integrations:doctor contabo --json
kosmokrator integrations:status --json Credentials
Authentication type: Bearer token bearer_token. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
| Key | Env var | Type | Required | Label |
|---|---|---|---|---|
access_token | CONTABO_ACCESS_TOKEN | Secret secret | yes | Access Token |
url | CONTABO_URL | URL url | no | API Base URL |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call contabo.contabo_list_instances '{"page":1,"per_page":1}' --json kosmo integrations:contabo contabo_list_instances '{"page":1,"per_page":1}' --json Discovery
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs contabo --json
kosmo integrations:docs contabo.contabo_list_instances --json
kosmo integrations:schema contabo.contabo_list_instances --json
kosmo integrations:search "Contabo" --json
kosmo integrations:list --json Automation Contexts
The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.
CLI Functions
Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.
contabo.contabo_list_instances
List all compute instances (VPS) in the Contabo account. Returns IDs, names, status, region, and IP addresses.
read - Parameters
- page, per_page
kosmo integrations:call contabo.contabo_list_instances '{"page":1,"per_page":1}' --json kosmo integrations:contabo contabo_list_instances '{"page":1,"per_page":1}' --json contabo.contabo_get_instance
Get details for a specific Contabo compute instance (VPS) by ID. Returns full instance information including IP addresses, region, and configuration.
read - Parameters
- id
kosmo integrations:call contabo.contabo_get_instance '{"id":1}' --json kosmo integrations:contabo contabo_get_instance '{"id":1}' --json contabo.contabo_list_snapshots
List all snapshots in the Contabo account. Returns snapshot IDs, names, instance IDs, and creation dates.
read - Parameters
- page, per_page
kosmo integrations:call contabo.contabo_list_snapshots '{"page":1,"per_page":1}' --json kosmo integrations:contabo contabo_list_snapshots '{"page":1,"per_page":1}' --json contabo.contabo_list_images
List all custom images in the Contabo account. Returns image IDs, names, OS type, and size.
read - Parameters
- page, per_page
kosmo integrations:call contabo.contabo_list_images '{"page":1,"per_page":1}' --json kosmo integrations:contabo contabo_list_images '{"page":1,"per_page":1}' --json contabo.contabo_list_networks
List all private networks in the Contabo account. Returns network IDs, names, regions, and CIDR ranges.
read - Parameters
- page, per_page
kosmo integrations:call contabo.contabo_list_networks '{"page":1,"per_page":1}' --json kosmo integrations:contabo contabo_list_networks '{"page":1,"per_page":1}' --json contabo.contabo_list_ssh_keys
List all registered SSH keys in the Contabo account. Returns key IDs, names, and fingerprints.
read - Parameters
- none
kosmo integrations:call contabo.contabo_list_ssh_keys '{}' --json kosmo integrations:contabo contabo_list_ssh_keys '{}' --json contabo.contabo_get_current_user
Get information about the current authenticated Contabo account, including email, tenant, and user ID.
read - Parameters
- none
kosmo integrations:call contabo.contabo_get_current_user '{}' --json kosmo integrations:contabo contabo_get_current_user '{}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
contabo.contabo_list_instances 2 parameters
kosmo integrations:schema contabo.contabo_list_instances --json | Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | no | Page number for pagination (default: 1). |
per_page | integer | no | Number of instances per page (default: 20). |
contabo.contabo_get_instance 1 parameters
kosmo integrations:schema contabo.contabo_get_instance --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | yes | The instance ID. |
contabo.contabo_list_snapshots 2 parameters
kosmo integrations:schema contabo.contabo_list_snapshots --json | Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | no | Page number for pagination (default: 1). |
per_page | integer | no | Number of snapshots per page (default: 20). |
contabo.contabo_list_images 2 parameters
kosmo integrations:schema contabo.contabo_list_images --json | Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | no | Page number for pagination (default: 1). |
per_page | integer | no | Number of images per page (default: 20). |
contabo.contabo_list_networks 2 parameters
kosmo integrations:schema contabo.contabo_list_networks --json | Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | no | Page number for pagination (default: 1). |
per_page | integer | no | Number of networks per page (default: 20). |
contabo.contabo_list_ssh_keys 0 parameters
kosmo integrations:schema contabo.contabo_list_ssh_keys --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
contabo.contabo_get_current_user 0 parameters
kosmo integrations:schema contabo.contabo_get_current_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults with
integrations:configure. Add --force only for trusted automation that should bypass that policy.