Hetzner · Capability

Hetzner Cloud API — Server Actions

Hetzner Cloud API — Server Actions. 27 operations. Lead operation: List Actions. Self-contained Naftiko capability covering one Hetzner business surface.

Run with Naftiko HetznerServer Actions

What You Can Do

GET
Listserversactions — List Actions
/v1/servers/actions
GET
Getserversaction — Get an Action
/v1/servers/actions/{id}
GET
Listserveractions — List Actions for a Server
/v1/servers/{id}/actions
POST
Addservertoplacementgroup — Add a Server to a Placement Group
/v1/servers/{id}/actions/add-to-placement-group
POST
Attachserveriso — Attach an ISO to a Server
/v1/servers/{id}/actions/attach-iso
POST
Attachservertonetwork — Attach a Server to a Network
/v1/servers/{id}/actions/attach-to-network
POST
Changeserveraliasips — Change alias IPs of a Network
/v1/servers/{id}/actions/change-alias-ips
POST
Changeserverdnsptr — Change reverse DNS entry for this Server
/v1/servers/{id}/actions/change-dns-ptr
POST
Changeserverprotection — Change Server Protection
/v1/servers/{id}/actions/change-protection
POST
Changeservertype — Change the Type of a Server
/v1/servers/{id}/actions/change-type
POST
Createserverimage — Create Image from a Server
/v1/servers/{id}/actions/create-image
POST
Detachserverfromnetwork — Detach a Server from a Network
/v1/servers/{id}/actions/detach-from-network
POST
Detachserveriso — Detach an ISO from a Server
/v1/servers/{id}/actions/detach-iso
POST
Disableserverbackup — Disable Backups for a Server
/v1/servers/{id}/actions/disable-backup
POST
Disableserverrescue — Disable Rescue Mode for a Server
/v1/servers/{id}/actions/disable-rescue
POST
Enableserverbackup — Enable and Configure Backups for a Server
/v1/servers/{id}/actions/enable-backup
POST
Enableserverrescue — Enable Rescue Mode for a Server
/v1/servers/{id}/actions/enable-rescue
POST
Poweroffserver — Power off a Server
/v1/servers/{id}/actions/poweroff
POST
Poweronserver — Power on a Server
/v1/servers/{id}/actions/poweron
POST
Rebootserver — Soft-reboot a Server
/v1/servers/{id}/actions/reboot
POST
Rebuildserver — Rebuild a Server from an Image
/v1/servers/{id}/actions/rebuild
POST
Removeserverfromplacementgroup — Remove from Placement Group
/v1/servers/{id}/actions/remove-from-placement-group
POST
Requestserverconsole — Request Console for a Server
/v1/servers/{id}/actions/request-console
POST
Resetserver — Reset a Server
/v1/servers/{id}/actions/reset
POST
Resetserverpassword — Reset root Password of a Server
/v1/servers/{id}/actions/reset-password
POST
Shutdownserver — Shutdown a Server
/v1/servers/{id}/actions/shutdown
GET
Getserveraction — Get an Action for a Server
/v1/servers/{id}/actions/{action-id}

MCP Tools

list-actions

List Actions

read-only idempotent
get-action

Get an Action

read-only idempotent
list-actions-server

List Actions for a Server

read-only idempotent
add-server-placement-group

Add a Server to a Placement Group

attach-iso-server

Attach an ISO to a Server

attach-server-network

Attach a Server to a Network

change-alias-ips-network

Change alias IPs of a Network

change-reverse-dns-entry-this

Change reverse DNS entry for this Server

change-server-protection

Change Server Protection

change-type-server

Change the Type of a Server

create-image-server

Create Image from a Server

detach-server-network

Detach a Server from a Network

detach-iso-server

Detach an ISO from a Server

disable-backups-server

Disable Backups for a Server

disable-rescue-mode-server

Disable Rescue Mode for a Server

enable-and-configure-backups-server

Enable and Configure Backups for a Server

enable-rescue-mode-server

Enable Rescue Mode for a Server

power-off-server

Power off a Server

power-server

Power on a Server

soft-reboot-server

Soft-reboot a Server

rebuild-server-image

Rebuild a Server from an Image

remove-placement-group

Remove from Placement Group

request-console-server

Request Console for a Server

reset-server

Reset a Server

reset-root-password-server

Reset root Password of a Server

shutdown-server

Shutdown a Server

get-action-server

Get an Action for a Server

read-only idempotent

Capability Spec

hetzner-server-actions.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Hetzner Cloud API — Server Actions
  description: 'Hetzner Cloud API — Server Actions. 27 operations. Lead operation: List Actions. Self-contained Naftiko capability
    covering one Hetzner business surface.'
  tags:
  - Hetzner
  - Server Actions
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    HETZNER_API_KEY: HETZNER_API_KEY
capability:
  consumes:
  - type: http
    namespace: hetzner-server-actions
    baseUri: https://api.hetzner.cloud/v1
    description: Hetzner Cloud API — Server Actions business capability. Self-contained, no shared references.
    resources:
    - name: servers-actions
      path: /servers/actions
      operations:
      - name: listserversactions
        method: GET
        description: List Actions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: query
          type: array
          description: Filter the actions by ID. May be used multiple times.
        - name: sort
          in: query
          type: array
          description: Sort actions by field and direction. May be used multiple times.
        - name: status
          in: query
          type: array
          description: Filter the actions by status. May be used multiple times.
        - name: page
          in: query
          type: integer
          description: Page number to return. For more information, see "[Pagination](#description/pagination)".
        - name: per_page
          in: query
          type: integer
          description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
    - name: servers-actions-id
      path: /servers/actions/{id}
      operations:
      - name: getserversaction
        method: GET
        description: Get an Action
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Action.
          required: true
    - name: servers-id-actions
      path: /servers/{id}/actions
      operations:
      - name: listserveractions
        method: GET
        description: List Actions for a Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
        - name: sort
          in: query
          type: array
          description: Sort actions by field and direction. May be used multiple times.
        - name: status
          in: query
          type: array
          description: Filter the actions by status. May be used multiple times.
        - name: page
          in: query
          type: integer
          description: Page number to return. For more information, see "[Pagination](#description/pagination)".
        - name: per_page
          in: query
          type: integer
          description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
    - name: servers-id-actions-add_to_placement_group
      path: /servers/{id}/actions/add_to_placement_group
      operations:
      - name: addservertoplacementgroup
        method: POST
        description: Add a Server to a Placement Group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: servers-id-actions-attach_iso
      path: /servers/{id}/actions/attach_iso
      operations:
      - name: attachserveriso
        method: POST
        description: Attach an ISO to a Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: servers-id-actions-attach_to_network
      path: /servers/{id}/actions/attach_to_network
      operations:
      - name: attachservertonetwork
        method: POST
        description: Attach a Server to a Network
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: servers-id-actions-change_alias_ips
      path: /servers/{id}/actions/change_alias_ips
      operations:
      - name: changeserveraliasips
        method: POST
        description: Change alias IPs of a Network
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: servers-id-actions-change_dns_ptr
      path: /servers/{id}/actions/change_dns_ptr
      operations:
      - name: changeserverdnsptr
        method: POST
        description: Change reverse DNS entry for this Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: servers-id-actions-change_protection
      path: /servers/{id}/actions/change_protection
      operations:
      - name: changeserverprotection
        method: POST
        description: Change Server Protection
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: servers-id-actions-change_type
      path: /servers/{id}/actions/change_type
      operations:
      - name: changeservertype
        method: POST
        description: Change the Type of a Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: servers-id-actions-create_image
      path: /servers/{id}/actions/create_image
      operations:
      - name: createserverimage
        method: POST
        description: Create Image from a Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: servers-id-actions-detach_from_network
      path: /servers/{id}/actions/detach_from_network
      operations:
      - name: detachserverfromnetwork
        method: POST
        description: Detach a Server from a Network
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: servers-id-actions-detach_iso
      path: /servers/{id}/actions/detach_iso
      operations:
      - name: detachserveriso
        method: POST
        description: Detach an ISO from a Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
    - name: servers-id-actions-disable_backup
      path: /servers/{id}/actions/disable_backup
      operations:
      - name: disableserverbackup
        method: POST
        description: Disable Backups for a Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
    - name: servers-id-actions-disable_rescue
      path: /servers/{id}/actions/disable_rescue
      operations:
      - name: disableserverrescue
        method: POST
        description: Disable Rescue Mode for a Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
    - name: servers-id-actions-enable_backup
      path: /servers/{id}/actions/enable_backup
      operations:
      - name: enableserverbackup
        method: POST
        description: Enable and Configure Backups for a Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
    - name: servers-id-actions-enable_rescue
      path: /servers/{id}/actions/enable_rescue
      operations:
      - name: enableserverrescue
        method: POST
        description: Enable Rescue Mode for a Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: servers-id-actions-poweroff
      path: /servers/{id}/actions/poweroff
      operations:
      - name: poweroffserver
        method: POST
        description: Power off a Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
    - name: servers-id-actions-poweron
      path: /servers/{id}/actions/poweron
      operations:
      - name: poweronserver
        method: POST
        description: Power on a Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
    - name: servers-id-actions-reboot
      path: /servers/{id}/actions/reboot
      operations:
      - name: rebootserver
        method: POST
        description: Soft-reboot a Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
    - name: servers-id-actions-rebuild
      path: /servers/{id}/actions/rebuild
      operations:
      - name: rebuildserver
        method: POST
        description: Rebuild a Server from an Image
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: servers-id-actions-remove_from_placement_group
      path: /servers/{id}/actions/remove_from_placement_group
      operations:
      - name: removeserverfromplacementgroup
        method: POST
        description: Remove from Placement Group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
    - name: servers-id-actions-request_console
      path: /servers/{id}/actions/request_console
      operations:
      - name: requestserverconsole
        method: POST
        description: Request Console for a Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
    - name: servers-id-actions-reset
      path: /servers/{id}/actions/reset
      operations:
      - name: resetserver
        method: POST
        description: Reset a Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
    - name: servers-id-actions-reset_password
      path: /servers/{id}/actions/reset_password
      operations:
      - name: resetserverpassword
        method: POST
        description: Reset root Password of a Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
    - name: servers-id-actions-shutdown
      path: /servers/{id}/actions/shutdown
      operations:
      - name: shutdownserver
        method: POST
        description: Shutdown a Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
    - name: servers-id-actions-action_id
      path: /servers/{id}/actions/{action_id}
      operations:
      - name: getserveraction
        method: GET
        description: Get an Action for a Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the Server.
          required: true
        - name: action_id
          in: path
          type: integer
          description: ID of the Action.
          required: true
    authentication:
      type: bearer
      token: '{{env.HETZNER_API_KEY}}'
  exposes:
  - type: rest
    namespace: hetzner-server-actions-rest
    port: 8080
    description: REST adapter for Hetzner Cloud API — Server Actions. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/servers/actions
      name: servers-actions
      description: REST surface for servers-actions.
      operations:
      - method: GET
        name: listserversactions
        description: List Actions
        call: hetzner-server-actions.listserversactions
        with:
          id: rest.id
          sort: rest.sort
          status: rest.status
          page: rest.page
          per_page: rest.per_page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/actions/{id}
      name: servers-actions-id
      description: REST surface for servers-actions-id.
      operations:
      - method: GET
        name: getserversaction
        description: Get an Action
        call: hetzner-server-actions.getserversaction
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions
      name: servers-id-actions
      description: REST surface for servers-id-actions.
      operations:
      - method: GET
        name: listserveractions
        description: List Actions for a Server
        call: hetzner-server-actions.listserveractions
        with:
          id: rest.id
          sort: rest.sort
          status: rest.status
          page: rest.page
          per_page: rest.per_page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/add-to-placement-group
      name: servers-id-actions-add-to-placement-group
      description: REST surface for servers-id-actions-add_to_placement_group.
      operations:
      - method: POST
        name: addservertoplacementgroup
        description: Add a Server to a Placement Group
        call: hetzner-server-actions.addservertoplacementgroup
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/attach-iso
      name: servers-id-actions-attach-iso
      description: REST surface for servers-id-actions-attach_iso.
      operations:
      - method: POST
        name: attachserveriso
        description: Attach an ISO to a Server
        call: hetzner-server-actions.attachserveriso
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/attach-to-network
      name: servers-id-actions-attach-to-network
      description: REST surface for servers-id-actions-attach_to_network.
      operations:
      - method: POST
        name: attachservertonetwork
        description: Attach a Server to a Network
        call: hetzner-server-actions.attachservertonetwork
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/change-alias-ips
      name: servers-id-actions-change-alias-ips
      description: REST surface for servers-id-actions-change_alias_ips.
      operations:
      - method: POST
        name: changeserveraliasips
        description: Change alias IPs of a Network
        call: hetzner-server-actions.changeserveraliasips
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/change-dns-ptr
      name: servers-id-actions-change-dns-ptr
      description: REST surface for servers-id-actions-change_dns_ptr.
      operations:
      - method: POST
        name: changeserverdnsptr
        description: Change reverse DNS entry for this Server
        call: hetzner-server-actions.changeserverdnsptr
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/change-protection
      name: servers-id-actions-change-protection
      description: REST surface for servers-id-actions-change_protection.
      operations:
      - method: POST
        name: changeserverprotection
        description: Change Server Protection
        call: hetzner-server-actions.changeserverprotection
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/change-type
      name: servers-id-actions-change-type
      description: REST surface for servers-id-actions-change_type.
      operations:
      - method: POST
        name: changeservertype
        description: Change the Type of a Server
        call: hetzner-server-actions.changeservertype
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/create-image
      name: servers-id-actions-create-image
      description: REST surface for servers-id-actions-create_image.
      operations:
      - method: POST
        name: createserverimage
        description: Create Image from a Server
        call: hetzner-server-actions.createserverimage
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/detach-from-network
      name: servers-id-actions-detach-from-network
      description: REST surface for servers-id-actions-detach_from_network.
      operations:
      - method: POST
        name: detachserverfromnetwork
        description: Detach a Server from a Network
        call: hetzner-server-actions.detachserverfromnetwork
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/detach-iso
      name: servers-id-actions-detach-iso
      description: REST surface for servers-id-actions-detach_iso.
      operations:
      - method: POST
        name: detachserveriso
        description: Detach an ISO from a Server
        call: hetzner-server-actions.detachserveriso
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/disable-backup
      name: servers-id-actions-disable-backup
      description: REST surface for servers-id-actions-disable_backup.
      operations:
      - method: POST
        name: disableserverbackup
        description: Disable Backups for a Server
        call: hetzner-server-actions.disableserverbackup
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/disable-rescue
      name: servers-id-actions-disable-rescue
      description: REST surface for servers-id-actions-disable_rescue.
      operations:
      - method: POST
        name: disableserverrescue
        description: Disable Rescue Mode for a Server
        call: hetzner-server-actions.disableserverrescue
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/enable-backup
      name: servers-id-actions-enable-backup
      description: REST surface for servers-id-actions-enable_backup.
      operations:
      - method: POST
        name: enableserverbackup
        description: Enable and Configure Backups for a Server
        call: hetzner-server-actions.enableserverbackup
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/enable-rescue
      name: servers-id-actions-enable-rescue
      description: REST surface for servers-id-actions-enable_rescue.
      operations:
      - method: POST
        name: enableserverrescue
        description: Enable Rescue Mode for a Server
        call: hetzner-server-actions.enableserverrescue
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/poweroff
      name: servers-id-actions-poweroff
      description: REST surface for servers-id-actions-poweroff.
      operations:
      - method: POST
        name: poweroffserver
        description: Power off a Server
        call: hetzner-server-actions.poweroffserver
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/poweron
      name: servers-id-actions-poweron
      description: REST surface for servers-id-actions-poweron.
      operations:
      - method: POST
        name: poweronserver
        description: Power on a Server
        call: hetzner-server-actions.poweronserver
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/reboot
      name: servers-id-actions-reboot
      description: REST surface for servers-id-actions-reboot.
      operations:
      - method: POST
        name: rebootserver
        description: Soft-reboot a Server
        call: hetzner-server-actions.rebootserver
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/rebuild
      name: servers-id-actions-rebuild
      description: REST surface for servers-id-actions-rebuild.
      operations:
      - method: POST
        name: rebuildserver
        description: Rebuild a Server from an Image
        call: hetzner-server-actions.rebuildserver
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/remove-from-placement-group
      name: servers-id-actions-remove-from-placement-group
      description: REST surface for servers-id-actions-remove_from_placement_group.
      operations:
      - method: POST
        name: removeserverfromplacementgroup
        description: Remove from Placement Group
        call: hetzner-server-actions.removeserverfromplacementgroup
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/request-console
      name: servers-id-actions-request-console
      description: REST surface for servers-id-actions-request_console.
      operations:
      - method: POST
        name: requestserverconsole
        description: Request Console for a Server
        call: hetzner-server-actions.requestserverconsole
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/reset
      name: servers-id-actions-reset
      description: REST surface for servers-id-actions-reset.
      operations:
      - method: POST
        name: resetserver
        description: Reset a Server
        call: hetzner-server-actions.resetserver
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/reset-password
      name: servers-id-actions-reset-password
      description: REST surface for servers-id-actions-reset_password.
      operations:
      - method: POST
        name: resetserverpassword
        description: Reset root Password of a Server
        call: hetzner-server-actions.resetserverpassword
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/shutdown
      name: servers-id-actions-shutdown
      description: REST surface for servers-id-actions-shutdown.
      operations:
      - method: POST
        name: shutdownserver
        description: Shutdown a Server
        call: hetzner-server-actions.shutdownserver
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/servers/{id}/actions/{action-id}
      name: servers-id-actions-action-id
      description: REST surface for servers-id-actions-action_id.
      operations:
      - method: GET
        name: getserveraction
        description: Get an Action for a Server
        call: hetzner-server-actions.getserveraction
        with:
          id: rest.id
          action_id: rest.action_id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: hetzner-server-actions-mcp
    port: 9090
    transport: http
    description: MCP adapter for Hetzner Cloud API — Server Actions. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: list-actions
      description: List Actions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: hetzner-server-actions.listserversactions
      with:
        id: tools.id
        sort: tools.sort
        status: tools.status
        page: tools.page
        per_page: tools.per_page
      outputParameters:
      - type: object
        mapping: $.
    - name: get-action
      description: Get an Action
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: hetzner-server-actions.getserversaction
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-actions-server
      description: List Actions for a Server
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: hetzner-server-actions.listserveractions
      with:
        id: tools.id
        sort: tools.sort
        status: tools.status
        page: tools.page
        per_page: tools.per_page
      outputParameters:
      - type: object
        mapping: $.
    - name: add-server-placement-group
      description: Add a Server to a Placement Group
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: hetzner-server-actions.addservertoplacementgroup
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: attach-iso-server
      description: Attach an ISO to a Server
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: hetzner-server-actions.attachserveriso
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: attach-server-network
      description: Attach a Server to a Network
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: hetzner-server-actions.attachservertonetwork
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: change-alias-ips-network
      description: Change alias IPs of a Network
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: hetzner-server-actions.changeserveraliasips
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: change-reverse-dns-entry-this
      description: Change reverse DNS entry for this Server
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: hetzner-server-actions.changeserverdnsptr
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: change-server-protection
      description: Change Server Protecti

# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hetzner/refs/heads/main/capabilities/hetzner-server-actions.yaml