Incus · Capability

Incus external REST API — server

Incus external REST API — server. 7 operations. Lead operation: Get the supported API endpoints. Self-contained Naftiko capability covering one Incus business surface.

Run with Naftiko Incusserver

What You Can Do

GET
Apiget — Get the supported API endpoints
/v1
GET
Serverget — Get the server environment and configuration
/v1/1-0
PATCH
Serverpatch — Partially update the server configuration
/v1/1-0
PUT
Serverput — Update the server configuration
/v1/1-0
GET
Eventsget — Get the event stream
/v1/1-0/events
GET
Resourcesget — Get system resources information
/v1/1-0/resources
GET
Servergetuntrusted — Get the server environment
/v1/1-0-public

MCP Tools

get-supported-api-endpoints

Get the supported API endpoints

read-only idempotent
get-server-environment-and-configuration

Get the server environment and configuration

read-only idempotent
partially-update-server-configuration

Partially update the server configuration

idempotent
update-server-configuration

Update the server configuration

idempotent
get-event-stream

Get the event stream

read-only idempotent
get-system-resources-information

Get system resources information

read-only idempotent
get-server-environment

Get the server environment

read-only idempotent

Capability Spec

incus-server.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Incus external REST API — server
  description: 'Incus external REST API — server. 7 operations. Lead operation: Get the supported API endpoints. Self-contained
    Naftiko capability covering one Incus business surface.'
  tags:
  - Incus
  - server
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    INCUS_API_KEY: INCUS_API_KEY
capability:
  consumes:
  - type: http
    namespace: incus-server
    baseUri: ''
    description: Incus external REST API — server business capability. Self-contained, no shared references.
    resources:
    - name: root
      path: /
      operations:
      - name: apiget
        method: GET
        description: Get the supported API endpoints
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: '1.0'
      path: /1.0
      operations:
      - name: serverget
        method: GET
        description: Get the server environment and configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: target
          in: query
          type: string
          description: Cluster member name
        - name: project
          in: query
          type: string
          description: Project name
      - name: serverpatch
        method: PATCH
        description: Partially update the server configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: target
          in: query
          type: string
          description: Cluster member name
        - name: server
          in: body
          type: string
          description: Server configuration
          required: true
      - name: serverput
        method: PUT
        description: Update the server configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: target
          in: query
          type: string
          description: Cluster member name
        - name: server
          in: body
          type: string
          description: Server configuration
          required: true
    - name: 1.0-events
      path: /1.0/events
      operations:
      - name: eventsget
        method: GET
        description: Get the event stream
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: project
          in: query
          type: string
          description: Project name
        - name: type
          in: query
          type: string
          description: Event type(s), comma separated (valid types are logging, operation or lifecycle)
        - name: all-projects
          in: query
          type: boolean
          description: Retrieve instances from all projects
    - name: 1.0-resources
      path: /1.0/resources
      operations:
      - name: resourcesget
        method: GET
        description: Get system resources information
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: target
          in: query
          type: string
          description: Cluster member name
    - name: 1.0?public
      path: /1.0?public
      operations:
      - name: servergetuntrusted
        method: GET
        description: Get the server environment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    namespace: incus-server-rest
    port: 8080
    description: REST adapter for Incus external REST API — server. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1
      name: root
      description: REST surface for root.
      operations:
      - method: GET
        name: apiget
        description: Get the supported API endpoints
        call: incus-server.apiget
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/1-0
      name: 1-0
      description: REST surface for 1.0.
      operations:
      - method: GET
        name: serverget
        description: Get the server environment and configuration
        call: incus-server.serverget
        with:
          target: rest.target
          project: rest.project
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: serverpatch
        description: Partially update the server configuration
        call: incus-server.serverpatch
        with:
          target: rest.target
          server: rest.server
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: serverput
        description: Update the server configuration
        call: incus-server.serverput
        with:
          target: rest.target
          server: rest.server
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/1-0/events
      name: 1-0-events
      description: REST surface for 1.0-events.
      operations:
      - method: GET
        name: eventsget
        description: Get the event stream
        call: incus-server.eventsget
        with:
          project: rest.project
          type: rest.type
          all-projects: rest.all-projects
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/1-0/resources
      name: 1-0-resources
      description: REST surface for 1.0-resources.
      operations:
      - method: GET
        name: resourcesget
        description: Get system resources information
        call: incus-server.resourcesget
        with:
          target: rest.target
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/1-0-public
      name: 1-0-public
      description: REST surface for 1.0?public.
      operations:
      - method: GET
        name: servergetuntrusted
        description: Get the server environment
        call: incus-server.servergetuntrusted
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: incus-server-mcp
    port: 9090
    transport: http
    description: MCP adapter for Incus external REST API — server. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: get-supported-api-endpoints
      description: Get the supported API endpoints
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: incus-server.apiget
      outputParameters:
      - type: object
        mapping: $.
    - name: get-server-environment-and-configuration
      description: Get the server environment and configuration
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: incus-server.serverget
      with:
        target: tools.target
        project: tools.project
      outputParameters:
      - type: object
        mapping: $.
    - name: partially-update-server-configuration
      description: Partially update the server configuration
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: incus-server.serverpatch
      with:
        target: tools.target
        server: tools.server
      outputParameters:
      - type: object
        mapping: $.
    - name: update-server-configuration
      description: Update the server configuration
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: incus-server.serverput
      with:
        target: tools.target
        server: tools.server
      outputParameters:
      - type: object
        mapping: $.
    - name: get-event-stream
      description: Get the event stream
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: incus-server.eventsget
      with:
        project: tools.project
        type: tools.type
        all-projects: tools.all-projects
      outputParameters:
      - type: object
        mapping: $.
    - name: get-system-resources-information
      description: Get system resources information
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: incus-server.resourcesget
      with:
        target: tools.target
      outputParameters:
      - type: object
        mapping: $.
    - name: get-server-environment
      description: Get the server environment
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: incus-server.servergetuntrusted
      outputParameters:
      - type: object
        mapping: $.