naftiko: 1.0.0-alpha2 info: label: supports a RESTful API for the Libpod library — volumes description: 'supports a RESTful API for the Libpod library — volumes. 8 operations. Lead operation: Create a volume. Self-contained Naftiko capability covering one Podman business surface.' tags: - Podman - volumes created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PODMAN_API_KEY: PODMAN_API_KEY capability: consumes: - type: http namespace: podman-volumes baseUri: http://podman.io description: supports a RESTful API for the Libpod library — volumes business capability. Self-contained, no shared references. resources: - name: libpod-volumes-create path: /libpod/volumes/create operations: - name: volumecreatelibpod method: POST description: Create a volume outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: create in: body type: string description: attributes for creating a volume - name: libpod-volumes-json path: /libpod/volumes/json operations: - name: volumelistlibpod method: GET description: List volumes outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filters in: query type: string description: 'JSON encoded value of the filters (a map[string][]string) to process on the volumes list. Available filters:' - name: libpod-volumes-prune path: /libpod/volumes/prune operations: - name: volumeprunelibpod method: POST description: Prune volumes outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filters in: query type: string description: JSON encoded value of filters (a map[string][]string) to match volumes against before pruning. - name: libpod-volumes-name path: /libpod/volumes/{name} operations: - name: volumedeletelibpod method: DELETE description: Remove volume outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: the name or ID of the volume required: true - name: force in: query type: boolean description: force removal - name: timeout in: query type: integer description: timeout before forcibly killing any containers using the volume - name: libpod-volumes-name-exists path: /libpod/volumes/{name}/exists operations: - name: volumeexistslibpod method: GET description: Volume exists outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: the name of the volume required: true - name: libpod-volumes-name-export path: /libpod/volumes/{name}/export operations: - name: volumeexportlibpod method: GET description: Export a volume outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: the name or ID of the volume required: true - name: libpod-volumes-name-import path: /libpod/volumes/{name}/import operations: - name: volumeimportlibpod method: POST description: Populate a volume by importing provided tar outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: the name or ID of the volume required: true - name: inputStream in: body type: string description: An uncompressed tar archive - name: libpod-volumes-name-json path: /libpod/volumes/{name}/json operations: - name: volumeinspectlibpod method: GET description: Inspect volume outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: the name or ID of the volume required: true exposes: - type: rest namespace: podman-volumes-rest port: 8080 description: REST adapter for supports a RESTful API for the Libpod library — volumes. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/libpod/volumes/create name: libpod-volumes-create description: REST surface for libpod-volumes-create. operations: - method: POST name: volumecreatelibpod description: Create a volume call: podman-volumes.volumecreatelibpod with: create: rest.create outputParameters: - type: object mapping: $. - path: /v1/libpod/volumes/json name: libpod-volumes-json description: REST surface for libpod-volumes-json. operations: - method: GET name: volumelistlibpod description: List volumes call: podman-volumes.volumelistlibpod with: filters: rest.filters outputParameters: - type: object mapping: $. - path: /v1/libpod/volumes/prune name: libpod-volumes-prune description: REST surface for libpod-volumes-prune. operations: - method: POST name: volumeprunelibpod description: Prune volumes call: podman-volumes.volumeprunelibpod with: filters: rest.filters outputParameters: - type: object mapping: $. - path: /v1/libpod/volumes/{name} name: libpod-volumes-name description: REST surface for libpod-volumes-name. operations: - method: DELETE name: volumedeletelibpod description: Remove volume call: podman-volumes.volumedeletelibpod with: name: rest.name force: rest.force timeout: rest.timeout outputParameters: - type: object mapping: $. - path: /v1/libpod/volumes/{name}/exists name: libpod-volumes-name-exists description: REST surface for libpod-volumes-name-exists. operations: - method: GET name: volumeexistslibpod description: Volume exists call: podman-volumes.volumeexistslibpod with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/libpod/volumes/{name}/export name: libpod-volumes-name-export description: REST surface for libpod-volumes-name-export. operations: - method: GET name: volumeexportlibpod description: Export a volume call: podman-volumes.volumeexportlibpod with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/libpod/volumes/{name}/import name: libpod-volumes-name-import description: REST surface for libpod-volumes-name-import. operations: - method: POST name: volumeimportlibpod description: Populate a volume by importing provided tar call: podman-volumes.volumeimportlibpod with: name: rest.name inputStream: rest.inputStream outputParameters: - type: object mapping: $. - path: /v1/libpod/volumes/{name}/json name: libpod-volumes-name-json description: REST surface for libpod-volumes-name-json. operations: - method: GET name: volumeinspectlibpod description: Inspect volume call: podman-volumes.volumeinspectlibpod with: name: rest.name outputParameters: - type: object mapping: $. - type: mcp namespace: podman-volumes-mcp port: 9090 transport: http description: MCP adapter for supports a RESTful API for the Libpod library — volumes. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-volume description: Create a volume hints: readOnly: false destructive: false idempotent: false call: podman-volumes.volumecreatelibpod with: create: tools.create outputParameters: - type: object mapping: $. - name: list-volumes description: List volumes hints: readOnly: true destructive: false idempotent: true call: podman-volumes.volumelistlibpod with: filters: tools.filters outputParameters: - type: object mapping: $. - name: prune-volumes description: Prune volumes hints: readOnly: false destructive: false idempotent: false call: podman-volumes.volumeprunelibpod with: filters: tools.filters outputParameters: - type: object mapping: $. - name: remove-volume description: Remove volume hints: readOnly: false destructive: true idempotent: true call: podman-volumes.volumedeletelibpod with: name: tools.name force: tools.force timeout: tools.timeout outputParameters: - type: object mapping: $. - name: volume-exists description: Volume exists hints: readOnly: true destructive: false idempotent: true call: podman-volumes.volumeexistslibpod with: name: tools.name outputParameters: - type: object mapping: $. - name: export-volume description: Export a volume hints: readOnly: true destructive: false idempotent: true call: podman-volumes.volumeexportlibpod with: name: tools.name outputParameters: - type: object mapping: $. - name: populate-volume-importing-provided-tar description: Populate a volume by importing provided tar hints: readOnly: false destructive: false idempotent: false call: podman-volumes.volumeimportlibpod with: name: tools.name inputStream: tools.inputStream outputParameters: - type: object mapping: $. - name: inspect-volume description: Inspect volume hints: readOnly: true destructive: false idempotent: true call: podman-volumes.volumeinspectlibpod with: name: tools.name outputParameters: - type: object mapping: $.