linode · Capability

Linode API v4 — Linode Instances

Linode API v4 — Linode Instances. 17 operations. Lead operation: List Linodes. Self-contained Naftiko capability covering one Linode business surface.

Run with Naftiko LinodeLinode Instances

What You Can Do

GET
Getlinodeinstances — List Linodes
/v1/linode/instances
POST
Createlinodeinstance — Create a Linode
/v1/linode/instances
GET
Getlinodeinstance — Get a Linode
/v1/linode/instances/{linodeid}
PUT
Updatelinodeinstance — Update a Linode
/v1/linode/instances/{linodeid}
DELETE
Deletelinodeinstance — Delete a Linode
/v1/linode/instances/{linodeid}
GET
Getbackups — List backups
/v1/linode/instances/{linodeid}/backups
POST
Bootlinodeinstance — Boot a Linode
/v1/linode/instances/{linodeid}/boot
POST
Clonelinodeinstance — Clone a Linode
/v1/linode/instances/{linodeid}/clone
GET
Getlinodeconfigs — List configuration profiles
/v1/linode/instances/{linodeid}/configs
GET
Getlinodedisks — List disks
/v1/linode/instances/{linodeid}/disks
GET
Getlinodeips — Get networking information
/v1/linode/instances/{linodeid}/ips
POST
Rebootlinodeinstance — Reboot a Linode
/v1/linode/instances/{linodeid}/reboot
POST
Rebuildlinodeinstance — Rebuild a Linode
/v1/linode/instances/{linodeid}/rebuild
POST
Resizelinodeinstance — Resize a Linode
/v1/linode/instances/{linodeid}/resize
POST
Shutdownlinodeinstance — Shut down a Linode
/v1/linode/instances/{linodeid}/shutdown
GET
Getkernels — List kernels
/v1/linode/kernels
GET
Getlinodetypes — List types
/v1/linode/types

MCP Tools

list-linodes

List Linodes

read-only idempotent
create-linode

Create a Linode

get-linode

Get a Linode

read-only idempotent
update-linode

Update a Linode

idempotent
delete-linode

Delete a Linode

idempotent
list-backups

List backups

read-only idempotent
boot-linode

Boot a Linode

clone-linode

Clone a Linode

list-configuration-profiles

List configuration profiles

read-only idempotent
list-disks

List disks

read-only idempotent
get-networking-information

Get networking information

read-only idempotent
reboot-linode

Reboot a Linode

rebuild-linode

Rebuild a Linode

resize-linode

Resize a Linode

shut-down-linode

Shut down a Linode

list-kernels

List kernels

read-only idempotent
list-types

List types

read-only idempotent

Capability Spec

api-v4-linode-instances.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Linode API v4 — Linode Instances
  description: 'Linode API v4 — Linode Instances. 17 operations. Lead operation: List Linodes. Self-contained Naftiko capability
    covering one Linode business surface.'
  tags:
  - Linode
  - Linode Instances
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    LINODE_API_KEY: LINODE_API_KEY
capability:
  consumes:
  - type: http
    namespace: api-v4-linode-instances
    baseUri: https://api.linode.com/v4
    description: Linode API v4 — Linode Instances business capability. Self-contained, no shared references.
    resources:
    - name: linode-instances
      path: /linode/instances
      operations:
      - name: getlinodeinstances
        method: GET
        description: List Linodes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createlinodeinstance
        method: POST
        description: Create a Linode
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: linode-instances-linodeId
      path: /linode/instances/{linodeId}
      operations:
      - name: getlinodeinstance
        method: GET
        description: Get a Linode
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatelinodeinstance
        method: PUT
        description: Update a Linode
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletelinodeinstance
        method: DELETE
        description: Delete a Linode
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: linode-instances-linodeId-backups
      path: /linode/instances/{linodeId}/backups
      operations:
      - name: getbackups
        method: GET
        description: List backups
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: linode-instances-linodeId-boot
      path: /linode/instances/{linodeId}/boot
      operations:
      - name: bootlinodeinstance
        method: POST
        description: Boot a Linode
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: linode-instances-linodeId-clone
      path: /linode/instances/{linodeId}/clone
      operations:
      - name: clonelinodeinstance
        method: POST
        description: Clone a Linode
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: linode-instances-linodeId-configs
      path: /linode/instances/{linodeId}/configs
      operations:
      - name: getlinodeconfigs
        method: GET
        description: List configuration profiles
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: linode-instances-linodeId-disks
      path: /linode/instances/{linodeId}/disks
      operations:
      - name: getlinodedisks
        method: GET
        description: List disks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: linode-instances-linodeId-ips
      path: /linode/instances/{linodeId}/ips
      operations:
      - name: getlinodeips
        method: GET
        description: Get networking information
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: linode-instances-linodeId-reboot
      path: /linode/instances/{linodeId}/reboot
      operations:
      - name: rebootlinodeinstance
        method: POST
        description: Reboot a Linode
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: linode-instances-linodeId-rebuild
      path: /linode/instances/{linodeId}/rebuild
      operations:
      - name: rebuildlinodeinstance
        method: POST
        description: Rebuild a Linode
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: linode-instances-linodeId-resize
      path: /linode/instances/{linodeId}/resize
      operations:
      - name: resizelinodeinstance
        method: POST
        description: Resize a Linode
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: linode-instances-linodeId-shutdown
      path: /linode/instances/{linodeId}/shutdown
      operations:
      - name: shutdownlinodeinstance
        method: POST
        description: Shut down a Linode
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: linode-kernels
      path: /linode/kernels
      operations:
      - name: getkernels
        method: GET
        description: List kernels
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: linode-types
      path: /linode/types
      operations:
      - name: getlinodetypes
        method: GET
        description: List types
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      token: '{{env.LINODE_API_KEY}}'
  exposes:
  - type: rest
    namespace: api-v4-linode-instances-rest
    port: 8080
    description: REST adapter for Linode API v4 — Linode Instances. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/linode/instances
      name: linode-instances
      description: REST surface for linode-instances.
      operations:
      - method: GET
        name: getlinodeinstances
        description: List Linodes
        call: api-v4-linode-instances.getlinodeinstances
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createlinodeinstance
        description: Create a Linode
        call: api-v4-linode-instances.createlinodeinstance
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/linode/instances/{linodeid}
      name: linode-instances-linodeid
      description: REST surface for linode-instances-linodeId.
      operations:
      - method: GET
        name: getlinodeinstance
        description: Get a Linode
        call: api-v4-linode-instances.getlinodeinstance
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatelinodeinstance
        description: Update a Linode
        call: api-v4-linode-instances.updatelinodeinstance
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletelinodeinstance
        description: Delete a Linode
        call: api-v4-linode-instances.deletelinodeinstance
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/linode/instances/{linodeid}/backups
      name: linode-instances-linodeid-backups
      description: REST surface for linode-instances-linodeId-backups.
      operations:
      - method: GET
        name: getbackups
        description: List backups
        call: api-v4-linode-instances.getbackups
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/linode/instances/{linodeid}/boot
      name: linode-instances-linodeid-boot
      description: REST surface for linode-instances-linodeId-boot.
      operations:
      - method: POST
        name: bootlinodeinstance
        description: Boot a Linode
        call: api-v4-linode-instances.bootlinodeinstance
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/linode/instances/{linodeid}/clone
      name: linode-instances-linodeid-clone
      description: REST surface for linode-instances-linodeId-clone.
      operations:
      - method: POST
        name: clonelinodeinstance
        description: Clone a Linode
        call: api-v4-linode-instances.clonelinodeinstance
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/linode/instances/{linodeid}/configs
      name: linode-instances-linodeid-configs
      description: REST surface for linode-instances-linodeId-configs.
      operations:
      - method: GET
        name: getlinodeconfigs
        description: List configuration profiles
        call: api-v4-linode-instances.getlinodeconfigs
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/linode/instances/{linodeid}/disks
      name: linode-instances-linodeid-disks
      description: REST surface for linode-instances-linodeId-disks.
      operations:
      - method: GET
        name: getlinodedisks
        description: List disks
        call: api-v4-linode-instances.getlinodedisks
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/linode/instances/{linodeid}/ips
      name: linode-instances-linodeid-ips
      description: REST surface for linode-instances-linodeId-ips.
      operations:
      - method: GET
        name: getlinodeips
        description: Get networking information
        call: api-v4-linode-instances.getlinodeips
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/linode/instances/{linodeid}/reboot
      name: linode-instances-linodeid-reboot
      description: REST surface for linode-instances-linodeId-reboot.
      operations:
      - method: POST
        name: rebootlinodeinstance
        description: Reboot a Linode
        call: api-v4-linode-instances.rebootlinodeinstance
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/linode/instances/{linodeid}/rebuild
      name: linode-instances-linodeid-rebuild
      description: REST surface for linode-instances-linodeId-rebuild.
      operations:
      - method: POST
        name: rebuildlinodeinstance
        description: Rebuild a Linode
        call: api-v4-linode-instances.rebuildlinodeinstance
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/linode/instances/{linodeid}/resize
      name: linode-instances-linodeid-resize
      description: REST surface for linode-instances-linodeId-resize.
      operations:
      - method: POST
        name: resizelinodeinstance
        description: Resize a Linode
        call: api-v4-linode-instances.resizelinodeinstance
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/linode/instances/{linodeid}/shutdown
      name: linode-instances-linodeid-shutdown
      description: REST surface for linode-instances-linodeId-shutdown.
      operations:
      - method: POST
        name: shutdownlinodeinstance
        description: Shut down a Linode
        call: api-v4-linode-instances.shutdownlinodeinstance
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/linode/kernels
      name: linode-kernels
      description: REST surface for linode-kernels.
      operations:
      - method: GET
        name: getkernels
        description: List kernels
        call: api-v4-linode-instances.getkernels
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/linode/types
      name: linode-types
      description: REST surface for linode-types.
      operations:
      - method: GET
        name: getlinodetypes
        description: List types
        call: api-v4-linode-instances.getlinodetypes
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: api-v4-linode-instances-mcp
    port: 9090
    transport: http
    description: MCP adapter for Linode API v4 — Linode Instances. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: list-linodes
      description: List Linodes
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-v4-linode-instances.getlinodeinstances
      outputParameters:
      - type: object
        mapping: $.
    - name: create-linode
      description: Create a Linode
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: api-v4-linode-instances.createlinodeinstance
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-linode
      description: Get a Linode
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-v4-linode-instances.getlinodeinstance
      outputParameters:
      - type: object
        mapping: $.
    - name: update-linode
      description: Update a Linode
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: api-v4-linode-instances.updatelinodeinstance
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-linode
      description: Delete a Linode
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: api-v4-linode-instances.deletelinodeinstance
      outputParameters:
      - type: object
        mapping: $.
    - name: list-backups
      description: List backups
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-v4-linode-instances.getbackups
      outputParameters:
      - type: object
        mapping: $.
    - name: boot-linode
      description: Boot a Linode
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: api-v4-linode-instances.bootlinodeinstance
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: clone-linode
      description: Clone a Linode
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: api-v4-linode-instances.clonelinodeinstance
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-configuration-profiles
      description: List configuration profiles
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-v4-linode-instances.getlinodeconfigs
      outputParameters:
      - type: object
        mapping: $.
    - name: list-disks
      description: List disks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-v4-linode-instances.getlinodedisks
      outputParameters:
      - type: object
        mapping: $.
    - name: get-networking-information
      description: Get networking information
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-v4-linode-instances.getlinodeips
      outputParameters:
      - type: object
        mapping: $.
    - name: reboot-linode
      description: Reboot a Linode
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: api-v4-linode-instances.rebootlinodeinstance
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: rebuild-linode
      description: Rebuild a Linode
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: api-v4-linode-instances.rebuildlinodeinstance
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: resize-linode
      description: Resize a Linode
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: api-v4-linode-instances.resizelinodeinstance
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: shut-down-linode
      description: Shut down a Linode
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: api-v4-linode-instances.shutdownlinodeinstance
      outputParameters:
      - type: object
        mapping: $.
    - name: list-kernels
      description: List kernels
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-v4-linode-instances.getkernels
      outputParameters:
      - type: object
        mapping: $.
    - name: list-types
      description: List types
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-v4-linode-instances.getlinodetypes
      outputParameters:
      - type: object
        mapping: $.