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: $.