Scaleway · Capability
Kubernetes API — Nodes
Kubernetes API — Nodes. 5 operations. Lead operation: List Nodes in a Cluster. Self-contained Naftiko capability covering one Scaleway business surface.
What You Can Do
GET
Listnodes
— List Nodes in a Cluster
/v1/k8s/v1/regions/{region}/clusters/{cluster-id}/nodes
GET
Getnode
— Get a Node in a Cluster
/v1/k8s/v1/regions/{region}/nodes/{node-id}
DELETE
Deletenode
— Delete a Node in a Cluster
/v1/k8s/v1/regions/{region}/nodes/{node-id}
POST
Rebootnode
— Reboot a Node in a Cluster
/v1/k8s/v1/regions/{region}/nodes/{node-id}/reboot
POST
Createexternalnode
— Create a Kosmos node
/v1/k8s/v1/regions/{region}/pools/{pool-id}/external-nodes
MCP Tools
list-nodes-cluster
List Nodes in a Cluster
read-only
idempotent
get-node-cluster
Get a Node in a Cluster
read-only
idempotent
delete-node-cluster
Delete a Node in a Cluster
idempotent
reboot-node-cluster
Reboot a Node in a Cluster
create-kosmos-node
Create a Kosmos node
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Kubernetes API — Nodes
description: 'Kubernetes API — Nodes. 5 operations. Lead operation: List Nodes in a Cluster. Self-contained Naftiko capability
covering one Scaleway business surface.'
tags:
- Scaleway
- Nodes
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
SCALEWAY_API_KEY: SCALEWAY_API_KEY
capability:
consumes:
- type: http
namespace: kubernetes-nodes
baseUri: https://api.scaleway.com
description: Kubernetes API — Nodes business capability. Self-contained, no shared references.
resources:
- name: k8s-v1-regions-region-clusters-cluster_id-nodes
path: /k8s/v1/regions/{region}/clusters/{cluster_id}/nodes
operations:
- name: listnodes
method: GET
description: List Nodes in a Cluster
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: cluster_id
in: path
type: string
description: Cluster ID from which the nodes will be listed from.
required: true
- name: pool_id
in: query
type: string
description: Pool ID on which to filter the returned nodes.
- name: order_by
in: query
type: string
description: Sort order of the returned nodes.
- name: page
in: query
type: integer
description: Page number for the returned nodes.
- name: page_size
in: query
type: integer
description: Maximum number of nodes per page.
- name: name
in: query
type: string
description: Name to filter on, only nodes containing this substring in their name will be returned.
- name: status
in: query
type: string
description: Status to filter on, only nodes with this status will be returned.
- name: k8s-v1-regions-region-nodes-node_id
path: /k8s/v1/regions/{region}/nodes/{node_id}
operations:
- name: getnode
method: GET
description: Get a Node in a Cluster
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: node_id
in: path
type: string
description: ID of the requested node.
required: true
- name: deletenode
method: DELETE
description: Delete a Node in a Cluster
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: node_id
in: path
type: string
description: ID of the node to replace.
required: true
- name: skip_drain
in: query
type: boolean
description: 'Skip draining node from its workload (Note: this parameter is currently inactive).'
required: true
- name: k8s-v1-regions-region-nodes-node_id-reboot
path: /k8s/v1/regions/{region}/nodes/{node_id}/reboot
operations:
- name: rebootnode
method: POST
description: Reboot a Node in a Cluster
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: node_id
in: path
type: string
description: ID of the node to reboot.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: k8s-v1-regions-region-pools-pool_id-external-nodes
path: /k8s/v1/regions/{region}/pools/{pool_id}/external-nodes
operations:
- name: createexternalnode
method: POST
description: Create a Kosmos node
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: pool_id
in: path
type: string
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
authentication:
type: apikey
key: X-Auth-Token
value: '{{env.SCALEWAY_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: kubernetes-nodes-rest
port: 8080
description: REST adapter for Kubernetes API — Nodes. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/k8s/v1/regions/{region}/clusters/{cluster-id}/nodes
name: k8s-v1-regions-region-clusters-cluster-id-nodes
description: REST surface for k8s-v1-regions-region-clusters-cluster_id-nodes.
operations:
- method: GET
name: listnodes
description: List Nodes in a Cluster
call: kubernetes-nodes.listnodes
with:
region: rest.region
cluster_id: rest.cluster_id
pool_id: rest.pool_id
order_by: rest.order_by
page: rest.page
page_size: rest.page_size
name: rest.name
status: rest.status
outputParameters:
- type: object
mapping: $.
- path: /v1/k8s/v1/regions/{region}/nodes/{node-id}
name: k8s-v1-regions-region-nodes-node-id
description: REST surface for k8s-v1-regions-region-nodes-node_id.
operations:
- method: GET
name: getnode
description: Get a Node in a Cluster
call: kubernetes-nodes.getnode
with:
region: rest.region
node_id: rest.node_id
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletenode
description: Delete a Node in a Cluster
call: kubernetes-nodes.deletenode
with:
region: rest.region
node_id: rest.node_id
skip_drain: rest.skip_drain
outputParameters:
- type: object
mapping: $.
- path: /v1/k8s/v1/regions/{region}/nodes/{node-id}/reboot
name: k8s-v1-regions-region-nodes-node-id-reboot
description: REST surface for k8s-v1-regions-region-nodes-node_id-reboot.
operations:
- method: POST
name: rebootnode
description: Reboot a Node in a Cluster
call: kubernetes-nodes.rebootnode
with:
region: rest.region
node_id: rest.node_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/k8s/v1/regions/{region}/pools/{pool-id}/external-nodes
name: k8s-v1-regions-region-pools-pool-id-external-nodes
description: REST surface for k8s-v1-regions-region-pools-pool_id-external-nodes.
operations:
- method: POST
name: createexternalnode
description: Create a Kosmos node
call: kubernetes-nodes.createexternalnode
with:
region: rest.region
pool_id: rest.pool_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: kubernetes-nodes-mcp
port: 9090
transport: http
description: MCP adapter for Kubernetes API — Nodes. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: list-nodes-cluster
description: List Nodes in a Cluster
hints:
readOnly: true
destructive: false
idempotent: true
call: kubernetes-nodes.listnodes
with:
region: tools.region
cluster_id: tools.cluster_id
pool_id: tools.pool_id
order_by: tools.order_by
page: tools.page
page_size: tools.page_size
name: tools.name
status: tools.status
outputParameters:
- type: object
mapping: $.
- name: get-node-cluster
description: Get a Node in a Cluster
hints:
readOnly: true
destructive: false
idempotent: true
call: kubernetes-nodes.getnode
with:
region: tools.region
node_id: tools.node_id
outputParameters:
- type: object
mapping: $.
- name: delete-node-cluster
description: Delete a Node in a Cluster
hints:
readOnly: false
destructive: true
idempotent: true
call: kubernetes-nodes.deletenode
with:
region: tools.region
node_id: tools.node_id
skip_drain: tools.skip_drain
outputParameters:
- type: object
mapping: $.
- name: reboot-node-cluster
description: Reboot a Node in a Cluster
hints:
readOnly: false
destructive: false
idempotent: false
call: kubernetes-nodes.rebootnode
with:
region: tools.region
node_id: tools.node_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: create-kosmos-node
description: Create a Kosmos node
hints:
readOnly: false
destructive: false
idempotent: false
call: kubernetes-nodes.createexternalnode
with:
region: tools.region
pool_id: tools.pool_id
body: tools.body
outputParameters:
- type: object
mapping: $.