Podman · Capability

supports a RESTful API for the Libpod library — volumes (compat)

supports a RESTful API for the Libpod library — volumes (compat). 5 operations. Lead operation: List volumes. Self-contained Naftiko capability covering one Podman business surface.

Run with Naftiko Podmanvolumes (compat)

What You Can Do

GET
Volumelist — List volumes
/v1/volumes
POST
Volumecreate — Create a volume
/v1/volumes/create
POST
Volumeprune — Prune volumes
/v1/volumes/prune
DELETE
Volumedelete — Remove volume
/v1/volumes/{name}
GET
Volumeinspect — Inspect volume
/v1/volumes/{name}

MCP Tools

list-volumes

List volumes

read-only idempotent
create-volume

Create a volume

prune-volumes

Prune volumes

remove-volume

Remove volume

idempotent
inspect-volume

Inspect volume

read-only idempotent

Capability Spec

podman-volumes-compat.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: supports a RESTful API for the Libpod library — volumes (compat)
  description: 'supports a RESTful API for the Libpod library — volumes (compat). 5 operations. Lead operation: List volumes.
    Self-contained Naftiko capability covering one Podman business surface.'
  tags:
  - Podman
  - volumes (compat)
  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-compat
    baseUri: http://podman.io
    description: supports a RESTful API for the Libpod library — volumes (compat) business capability. Self-contained, no
      shared references.
    resources:
    - name: volumes
      path: /volumes
      operations:
      - name: volumelist
        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: volumes-create
      path: /volumes/create
      operations:
      - name: volumecreate
        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: volumes-prune
      path: /volumes/prune
      operations:
      - name: volumeprune
        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). Docker API 1.42+ - by default only anonymous
            (unnamed) unused volumes are pruned; use filter all=true to '
    - name: volumes-name
      path: /volumes/{name}
      operations:
      - name: volumedelete
        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 of the volume. This actually only causes errors due
        - name: timeout
          in: query
          type: integer
          description: timeout before forcibly killing any containers using the volume
      - name: volumeinspect
        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-compat-rest
    port: 8080
    description: REST adapter for supports a RESTful API for the Libpod library — volumes (compat). One Spectral-compliant
      resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/volumes
      name: volumes
      description: REST surface for volumes.
      operations:
      - method: GET
        name: volumelist
        description: List volumes
        call: podman-volumes-compat.volumelist
        with:
          filters: rest.filters
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/volumes/create
      name: volumes-create
      description: REST surface for volumes-create.
      operations:
      - method: POST
        name: volumecreate
        description: Create a volume
        call: podman-volumes-compat.volumecreate
        with:
          create: rest.create
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/volumes/prune
      name: volumes-prune
      description: REST surface for volumes-prune.
      operations:
      - method: POST
        name: volumeprune
        description: Prune volumes
        call: podman-volumes-compat.volumeprune
        with:
          filters: rest.filters
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/volumes/{name}
      name: volumes-name
      description: REST surface for volumes-name.
      operations:
      - method: DELETE
        name: volumedelete
        description: Remove volume
        call: podman-volumes-compat.volumedelete
        with:
          name: rest.name
          force: rest.force
          timeout: rest.timeout
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: volumeinspect
        description: Inspect volume
        call: podman-volumes-compat.volumeinspect
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: podman-volumes-compat-mcp
    port: 9090
    transport: http
    description: MCP adapter for supports a RESTful API for the Libpod library — volumes (compat). One tool per consumed operation,
      routed inline through this capability's consumes block.
    tools:
    - name: list-volumes
      description: List volumes
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podman-volumes-compat.volumelist
      with:
        filters: tools.filters
      outputParameters:
      - type: object
        mapping: $.
    - name: create-volume
      description: Create a volume
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: podman-volumes-compat.volumecreate
      with:
        create: tools.create
      outputParameters:
      - type: object
        mapping: $.
    - name: prune-volumes
      description: Prune volumes
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: podman-volumes-compat.volumeprune
      with:
        filters: tools.filters
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-volume
      description: Remove volume
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: podman-volumes-compat.volumedelete
      with:
        name: tools.name
        force: tools.force
        timeout: tools.timeout
      outputParameters:
      - type: object
        mapping: $.
    - name: inspect-volume
      description: Inspect volume
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podman-volumes-compat.volumeinspect
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.