data
Linode CLI for AI Agents
Use the Linode CLI from KosmoKrator to call Linode tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.Linode CLI Setup
Linode can be configured headlessly with `kosmokrator integrations:configure linode`.
# 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 linode --set access_token="$LINODE_ACCESS_TOKEN" --enable --read allow --write ask --json
kosmokrator integrations:doctor linode --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 | LINODE_ACCESS_TOKEN | Secret secret | yes | Access Token |
url | LINODE_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 linode.linode_list_instances '{"page":1,"per_page":1}' --json kosmo integrations:linode linode_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 linode --json
kosmo integrations:docs linode.linode_list_instances --json
kosmo integrations:schema linode.linode_list_instances --json
kosmo integrations:search "Linode" --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.
linode.linode_list_instances
List all Linode instances (virtual machines) in the account. Returns IDs, labels, status, type, region, and IP addresses.
read - Parameters
- page, per_page
kosmo integrations:call linode.linode_list_instances '{"page":1,"per_page":1}' --json kosmo integrations:linode linode_list_instances '{"page":1,"per_page":1}' --json linode.linode_get_instance
Get details for a specific Linode instance by ID. Returns full instance information including specs, networking, and disk config.
read - Parameters
- id
kosmo integrations:call linode.linode_get_instance '{"id":1}' --json kosmo integrations:linode linode_get_instance '{"id":1}' --json linode.linode_list_volumes
List all block storage volumes in the Linode account. Returns IDs, labels, size, status, and attached Linode info.
read - Parameters
- page, per_page
kosmo integrations:call linode.linode_list_volumes '{"page":1,"per_page":1}' --json kosmo integrations:linode linode_list_volumes '{"page":1,"per_page":1}' --json linode.linode_list_domains
List all DNS domains managed in the Linode account. Returns domain IDs, names, status, and SOA records.
read - Parameters
- page, per_page
kosmo integrations:call linode.linode_list_domains '{"page":1,"per_page":1}' --json kosmo integrations:linode linode_list_domains '{"page":1,"per_page":1}' --json linode.linode_get_domain
Get details for a specific DNS domain in Linode, including SOA records, status, and zone information.
read - Parameters
- id
kosmo integrations:call linode.linode_get_domain '{"id":1}' --json kosmo integrations:linode linode_get_domain '{"id":1}' --json linode.linode_list_stackscripts
List all StackScripts (reusable deployment scripts) in the Linode account. Returns IDs, labels, descriptions, and deployment counts.
read - Parameters
- page, per_page
kosmo integrations:call linode.linode_list_stackscripts '{"page":1,"per_page":1}' --json kosmo integrations:linode linode_list_stackscripts '{"page":1,"per_page":1}' --json linode.linode_get_current_user
Get information about the current authenticated Linode user, including username, email, and account status.
read - Parameters
- none
kosmo integrations:call linode.linode_get_current_user '{}' --json kosmo integrations:linode linode_get_current_user '{}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
linode.linode_list_instances 2 parameters
kosmo integrations:schema linode.linode_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: 100, max: 500). |
linode.linode_get_instance 1 parameters
kosmo integrations:schema linode.linode_get_instance --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | yes | The Linode instance ID. |
linode.linode_list_volumes 2 parameters
kosmo integrations:schema linode.linode_list_volumes --json | Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | no | Page number for pagination (default: 1). |
per_page | integer | no | Number of volumes per page (default: 100). |
linode.linode_list_domains 2 parameters
kosmo integrations:schema linode.linode_list_domains --json | Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | no | Page number for pagination (default: 1). |
per_page | integer | no | Number of domains per page (default: 100). |
linode.linode_get_domain 1 parameters
kosmo integrations:schema linode.linode_get_domain --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | yes | The domain ID. |
linode.linode_list_stackscripts 2 parameters
kosmo integrations:schema linode.linode_list_stackscripts --json | Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | no | Page number for pagination (default: 1). |
per_page | integer | no | Number of StackScripts per page (default: 100). |
linode.linode_get_current_user 0 parameters
kosmo integrations:schema linode.linode_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.