For the complete documentation index, see llms.txt. This page is also available as Markdown.

Servers and orders

Order dedicated machines, follow progress and manage power and replacement.

Order dedicated machines, follow progress and manage power and replacement.

These are action names. In default compact mode, call the indicated group tool with {"action":"<action-name>","params":{...}}; the arguments below go inside params. In ?mode=all, call the action name directly with those arguments. browse_github and read_docs are direct tools in both modes. Expand each schema for nested fields, enum values and validation constraints. Successful results are JSON in both text content and structuredContent; failures use isError and structuredContent.error.

Use name as the server display label and address as its stable identifier. A caller-defined name takes precedence. Rented marketplace machines otherwise use hardware, Kinesis region and an address suffix, for example H100 80GB in US West #a1b2. Their hostname, csp, region, zone and instanceType are null; use kcRegion for the Kinesis region.

list_servers

List the organization's servers, those it rents, and pending orders. A shared grid's servers count as usable

Group: servers · Behavior: Read

Compact tool: servers · Action: list_servers

MCP annotations: readOnlyHint: true · destructiveHint: false · idempotentHint: true · openWorldHint: false

Permissions and REST equivalents

Operation
REST
Required scopes

servers.list

GET /servers

pools:read

Arguments

Argument
Type
Required
Description

limit

integer

No

Items per page, 1 to 200 (default 50)

cursor

string

No

nextCursor from the previous page; omit for the first page

org

string

No

Slug of the organization to act in (see orgs.list); needed when the caller reaches more than one

Complete input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "description": "Items per page, 1 to 200 (default 50)"
    },
    "cursor": {
      "type": "string",
      "minLength": 1,
      "maxLength": 512,
      "description": "nextCursor from the previous page; omit for the first page"
    },
    "org": {
      "description": "Slug of the organization to act in (see orgs.list); needed when the caller reaches more than one",
      "type": "string",
      "minLength": 3,
      "maxLength": 39
    }
  },
  "additionalProperties": false
}

Result

  • servers (array<object>): One page of servers, by address

  • nextCursor (string or null): Pass as cursor to fetch the next page; null on the last page

  • pending (array<object>): Provisioning orders that have not produced a server yet; complete on every page

Response schema: servers.list

Operation-specific errors: 400 org_required, 403 key_project_restricted.

get_server

Get one server: specs, utilization, apps, grids and provisioning order. Its own organization also sees its public address

Group: servers · Behavior: Read

Compact tool: servers · Action: get_server

MCP annotations: readOnlyHint: true · destructiveHint: false · idempotentHint: true · openWorldHint: false

Permissions and REST equivalents

Operation
REST
Required scopes

servers.get

GET /servers/{address}

pools:read

Arguments

Argument
Type
Required
Description

address

string

Yes

Server address

org

string

No

Slug of the organization to act in (see orgs.list); needed when the caller reaches more than one

Complete input schema

Result

  • address (string): Server (node) address

  • name (string or null): Display name: the caller's own name for the server when set; else, for a server rented from the marketplace, its hardware and Kinesis region; else the hostname

  • hostname (string or null): Null for servers rented from the marketplace

  • csp (string or null): Cloud provider; null for servers rented from the marketplace

  • region (string or null): Provider region; null for servers rented from the marketplace

  • zone (string or null): Provider zone; null for servers rented from the marketplace

  • instanceType (string or null): Provider instance type; null for servers rented from the marketplace

  • kcRegion (string or null): Kinesis region the server serves, e.g. us-west

  • owned (boolean): The organization owns this server (false for servers seen through a shared grid)

  • ownerName (string or null): The organization that owns it; null for rented servers

  • state (string): See the complete response schema below.

  • hibernation (string): active, hibernated, hibernating or waking

  • lastPulseAt (string or null): See the complete response schema below.

  • specs (object): See the complete response schema below.

  • utilization (object): Percentages from the last pulse

  • runningApps (integer): See the complete response schema below.

  • lease (object or null): Spot lease, for servers rented from the marketplace

  • provisionStatus (string or null): Provisioning order status while the server is being created

  • createdAt (string or null): See the complete response schema below.

  • ipAddress (string or null): Public address; null unless the server belongs to the selected organization

  • version (string or null): Agent version the server runs

  • countryCode (string or null): See the complete response schema below.

  • autoWakeup (boolean): The platform wakes the server when an app needs it

  • gridIds (array<string>): Grids the server belongs to, among those the caller can see

  • apps (array<object>): Apps placed on the server and their container state there

  • order (object or null): The provisioning order behind a Kinesis-provisioned server; null for an attached machine

Response schema: servers.get

Operation-specific errors: 400 org_required, 403 key_project_restricted.

get_server_logs

Read the newest lines of a server's own logs. Agent, runtime health, installation and GPU setup, for one of the organization's servers. Narrow the window with since and until; lines come back oldest to newest.

Group: servers · Behavior: Read

Compact tool: servers · Action: get_server_logs

MCP annotations: readOnlyHint: true · destructiveHint: false · idempotentHint: true · openWorldHint: false

Permissions and REST equivalents

Operation
REST
Required scopes

servers.logs

GET /servers/{address}/logs

monitoring:read

Arguments

Argument
Type
Required
Description

address

string

Yes

Server address

since

string

No

Earliest line to include; omit for no lower bound

until

string

No

Latest line to include; omit for now

limit

integer

No

Newest lines to return within the window, 500 by default

org

string

No

Slug of the organization to act in (see orgs.list); needed when the caller reaches more than one

Complete input schema

Result

  • logs (array<object>): Oldest to newest; the last line is the most recent

  • truncated (boolean): The window holds more lines than limit; the oldest were dropped (pass until to read further back)

Response schema: servers.logs

Operation-specific errors: 400 org_required, 403 key_project_restricted.

provision_servers

Order dedicated servers from a cloud provider. Billing starts once they come up. Checks the quota and the balance first. Set dryRun to get the cost estimate without ordering; use browse_catalog for the region and instance type ids. Returns an order; poll get_provision_order until done.

Group: servers · Behavior: Write

Compact tool: servers_write · Action: provision_servers

MCP annotations: readOnlyHint: false · destructiveHint: false · idempotentHint: false · openWorldHint: false

Permissions and REST equivalents

Operation
REST
Required scopes

servers.provision

POST /servers/provision

pools:write, compute:spend

Arguments

Argument
Type
Required
Description

csp

"kinesis" / "aws" / "azure"

Yes

Cloud provider

region

string

Yes

Provider region id (see catalog.regions)

zone

string

No

Availability zone; omit to let the provider choose

instanceType

string

Yes

Instance type id (see catalog.instanceTypes)

count

integer

No

Servers to order, 1 to 10 (default 1)

storageSizeGb

integer

No

Disk per server in GB, 50 to 10000; required unless useEphemeralSsd is set

useEphemeralSsd

boolean

No

Use the bundled local SSD instead of a network volume (supported non-hibernatable Kinesis compute configurations only)

gridIds

array<string>

No

Grids the servers join once they register

dryRun

boolean

No

Run every check and return the estimate without ordering

idempotencyKey

string

No

Unique string without whitespace; send the same one with the same arguments when retrying after a timeout, and the original result comes back instead of acting twice

org

string

No

Slug of the organization to act in (see orgs.list); needed when the caller reaches more than one

Complete input schema

Result

  • dryRun (boolean): See the complete response schema below.

  • csp (string): See the complete response schema below.

  • region (string): See the complete response schema below.

  • instanceType (string): See the complete response schema below.

  • count (integer): See the complete response schema below.

  • estimate (object): See the complete response schema below.

  • orders (array<object>): Empty for a dry run

Response schema: servers.provision

Operation-specific errors: 402 insufficient_balance, 403 provision_quota, 400 no_provider_for_region, 400 ephemeral_ssd_unavailable, 400 org_required, 403 key_project_restricted.

deprovision_servers

Destroy dedicated servers. They leave every grid first. Irreversible.

Group: servers · Behavior: Write

Compact tool: servers_write · Action: deprovision_servers

MCP annotations: readOnlyHint: false · destructiveHint: true · idempotentHint: false · openWorldHint: false

Requires confirm: true for this irreversible action.

Permissions and REST equivalents

Operation
REST
Required scopes

servers.deprovision

POST /servers/deprovision

pools:write

Arguments

Argument
Type
Required
Description

addresses

array<string>

Yes

Server addresses, at most 50

confirm

true

Yes

Must be true: this action cannot be undone

org

string

No

Slug of the organization to act in (see orgs.list); needed when the caller reaches more than one

Complete input schema

Result

  • results (array<object>): One entry per requested server

Response schema: servers.deprovision

Operation-specific errors: 400 org_required, 403 key_project_restricted.

power_servers

Change the power state of the organization’s servers (admins). hibernate stops the machine and its compute billing but keeps its disk; wake starts a hibernated machine again (fails with out_of_stock when the provider has no capacity; retry later); reboot restarts a running machine.

Group: servers · Behavior: Write

Compact tool: servers_write · Action: power_servers

MCP annotations: readOnlyHint: false · destructiveHint: true · idempotentHint: false · openWorldHint: false

Permissions and REST equivalents

Operation
REST
Required scopes

servers.hibernate

POST /servers/hibernate

pools:write

servers.wake

POST /servers/wake

pools:write, compute:spend

servers.reboot

POST /servers/reboot

pools:write

Arguments

Argument
Type
Required
Description

action

"hibernate" / "wake" / "reboot"

Yes

Power action to apply

addresses

array<string>

Yes

Server addresses, at most 50

org

string

No

Slug of the organization to act in (see orgs.list); needed when the caller reaches more than one

Complete input schema

Result

servers.hibernate

  • results (array<object>): One entry per requested server; ok means the request was accepted, the state change is asynchronous

Response schema: servers.hibernate

Operation-specific errors: 400 org_required, 403 key_project_restricted. servers.wake

  • results (array<object>): One entry per requested server; ok means the request was accepted, the state change is asynchronous

Response schema: servers.wake

Operation-specific errors: 400 org_required, 403 key_project_restricted. servers.reboot

  • results (array<object>): One entry per requested server

Response schema: servers.reboot

Operation-specific errors: 400 org_required, 403 key_project_restricted.

replace_server

Provision an identical server and retire this one once the new one is up. The retired server's disk is not kept. Poll servers.orders.get with the returned order id to follow the replacement.

Group: servers · Behavior: Write

Compact tool: servers_write · Action: replace_server

MCP annotations: readOnlyHint: false · destructiveHint: true · idempotentHint: false · openWorldHint: false

Requires confirm: true for this irreversible action.

Permissions and REST equivalents

Operation
REST
Required scopes

servers.replace

POST /servers/{address}/replace

pools:write, compute:spend

Arguments

Argument
Type
Required
Description

address

string

Yes

Address of the server to replace

confirm

true

Yes

Must be true: this action cannot be undone

idempotencyKey

string

No

Unique string without whitespace; send the same one with the same arguments when retrying after a timeout, and the original result comes back instead of acting twice

org

string

No

Slug of the organization to act in (see orgs.list); needed when the caller reaches more than one

Complete input schema

Result

  • order (object or null): The resulting order, when the backend returned one

Response schema: servers.replace

Operation-specific errors: 400 org_required, 403 key_project_restricted.

get_provision_order

Get a provisioning order the caller placed and the machines it has produced. Completed, replacement and dismissed orders are readable too. Poll this after servers.provision or servers.replace until done.

Group: servers · Behavior: Read

Compact tool: servers · Action: get_provision_order

MCP annotations: readOnlyHint: true · destructiveHint: false · idempotentHint: true · openWorldHint: false

Permissions and REST equivalents

Operation
REST
Required scopes

servers.orders.get

GET /servers/orders/{orderId}

pools:read

Arguments

Argument
Type
Required
Description

orderId

string

Yes

Provisioning order id

org

string

No

Slug of the organization to act in (see orgs.list); needed when the caller reaches more than one

Complete input schema

Result

  • order (object): See the complete response schema below.

  • instances (array<object>): One entry per machine in the order; address is set once the machine has registered

  • done (boolean): The order reached a terminal state: complete, failed or cancelled

Response schema: servers.orders.get

Operation-specific errors: 400 org_required, 403 key_project_restricted.

manage_provision_order

Retry a failed provisioning order, or dismiss one. retry re-runs a failed order (see get_provision_order, or list_servers under pending); dismiss cancels an in-flight order or hides a finished one from the pending list.

Group: servers · Behavior: Write

Compact tool: servers_write · Action: manage_provision_order

MCP annotations: readOnlyHint: false · destructiveHint: true · idempotentHint: false · openWorldHint: false

Permissions and REST equivalents

Operation
REST
Required scopes

servers.orders.retry

POST /servers/orders/{orderId}/retry

pools:write, compute:spend

servers.orders.dismiss

POST /servers/orders/{orderId}/dismiss

pools:write

Arguments

Argument
Type
Required
Description

action

"retry" / "dismiss"

Yes

What to do with the order

orderId

string

Yes

Provisioning order id

org

string

No

Slug of the organization to act in (see orgs.list); needed when the caller reaches more than one

Complete input schema

Result

servers.orders.retry

  • order (object or null): The resulting order, when the backend returned one

Response schema: servers.orders.retry

Operation-specific errors: 409 provision_order_failed, 400 org_required, 403 key_project_restricted. servers.orders.dismiss

  • orderId (string): See the complete response schema below.

  • dismissed (true): See the complete response schema below.

Response schema: servers.orders.dismiss

Operation-specific errors: 409 provision_order_failed, 400 org_required, 403 key_project_restricted.

Was this helpful?