Podman · Capability

supports a RESTful API for the Libpod library — manifests

supports a RESTful API for the Libpod library — manifests. 8 operations. Lead operation: Delete manifest list. Self-contained Naftiko capability covering one Podman business surface.

Run with Naftiko Podmanmanifests

What You Can Do

DELETE
Manifestdeletelibpod — Delete manifest list
/v1/libpod/manifests/{name}
POST
Manifestcreatelibpod — Create
/v1/libpod/manifests/{name}
PUT
Manifestmodifylibpod — Modify manifest list
/v1/libpod/manifests/{name}
POST
Manifestaddlibpod — Add image
/v1/libpod/manifests/{name}/add
GET
Manifestexistslibpod — Exists
/v1/libpod/manifests/{name}/exists
GET
Manifestinspectlibpod — Inspect
/v1/libpod/manifests/{name}/json
POST
Manifestpushv3libpod — Push manifest to registry
/v1/libpod/manifests/{name}/push
POST
Manifestpushlibpod — Push manifest list to registry
/v1/libpod/manifests/{name}/registry/{destination}

MCP Tools

delete-manifest-list

Delete manifest list

idempotent
create

Create

modify-manifest-list

Modify manifest list

idempotent
add-image

Add image

exists

Exists

read-only idempotent
inspect

Inspect

read-only idempotent
push-manifest-registry

Push manifest to registry

push-manifest-list-registry

Push manifest list to registry

read-only

Capability Spec

podman-manifests.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: supports a RESTful API for the Libpod library — manifests
  description: 'supports a RESTful API for the Libpod library — manifests. 8 operations. Lead operation: Delete manifest list.
    Self-contained Naftiko capability covering one Podman business surface.'
  tags:
  - Podman
  - manifests
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    PODMAN_API_KEY: PODMAN_API_KEY
capability:
  consumes:
  - type: http
    namespace: podman-manifests
    baseUri: http://podman.io
    description: supports a RESTful API for the Libpod library — manifests business capability. Self-contained, no shared
      references.
    resources:
    - name: libpod-manifests-name
      path: /libpod/manifests/{name}
      operations:
      - name: manifestdeletelibpod
        method: DELETE
        description: Delete manifest list
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: The name or ID of the  list to be deleted
          required: true
        - name: ignore
          in: query
          type: boolean
          description: Ignore if a specified manifest does not exist and do not throw an error.
      - name: manifestcreatelibpod
        method: POST
        description: Create
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: manifest list or index name to create
          required: true
        - name: images
          in: query
          type: string
          description: One or more names of an image or a manifest list. Repeat parameter as needed.
          required: true
        - name: all
          in: query
          type: boolean
          description: add all contents if given list
        - name: amend
          in: query
          type: boolean
          description: modify an existing list if one with the desired name already exists
        - name: options
          in: body
          type: string
          description: options for new manifest
      - name: manifestmodifylibpod
        method: PUT
        description: Modify manifest list
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name or ID of the manifest
          required: true
        - name: tlsVerify
          in: query
          type: boolean
          description: Require HTTPS and verify signatures when contacting registries.
        - name: options
          in: body
          type: string
          description: options for mutating a manifest
          required: true
    - name: libpod-manifests-name-add
      path: /libpod/manifests/{name}/add
      operations:
      - name: manifestaddlibpod
        method: POST
        description: Add image
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name or ID of the manifest
          required: true
        - name: options
          in: body
          type: string
          description: options for creating a manifest
    - name: libpod-manifests-name-exists
      path: /libpod/manifests/{name}/exists
      operations:
      - name: manifestexistslibpod
        method: GET
        description: Exists
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name or ID of the manifest list
          required: true
    - name: libpod-manifests-name-json
      path: /libpod/manifests/{name}/json
      operations:
      - name: manifestinspectlibpod
        method: GET
        description: Inspect
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name or ID of the manifest list
          required: true
        - name: tlsVerify
          in: query
          type: boolean
          description: Require HTTPS and verify signatures when contacting registries.
    - name: libpod-manifests-name-push
      path: /libpod/manifests/{name}/push
      operations:
      - name: manifestpushv3libpod
        method: POST
        description: Push manifest to registry
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name or ID of the manifest
          required: true
        - name: destination
          in: query
          type: string
          description: the destination for the manifest
          required: true
        - name: all
          in: query
          type: boolean
          description: push all images
    - name: libpod-manifests-name-registry-destination
      path: /libpod/manifests/{name}/registry/{destination}
      operations:
      - name: manifestpushlibpod
        method: POST
        description: Push manifest list to registry
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name or ID of the manifest list
          required: true
        - name: addCompression
          in: query
          type: array
          description: add existing instances with requested compression algorithms to manifest list
        - name: forceCompressionFormat
          in: query
          type: boolean
          description: Enforce compressing the layers with the specified --compression and do not reuse differently compressed
            blobs on the registry.
        - name: destination
          in: path
          type: string
          description: the registry for the manifest list
          required: true
        - name: all
          in: query
          type: boolean
          description: push all images
        - name: tlsVerify
          in: query
          type: boolean
          description: Require HTTPS and verify signatures when contacting registries.
        - name: quiet
          in: query
          type: boolean
          description: silences extra stream data on push
  exposes:
  - type: rest
    namespace: podman-manifests-rest
    port: 8080
    description: REST adapter for supports a RESTful API for the Libpod library — manifests. One Spectral-compliant resource
      per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/libpod/manifests/{name}
      name: libpod-manifests-name
      description: REST surface for libpod-manifests-name.
      operations:
      - method: DELETE
        name: manifestdeletelibpod
        description: Delete manifest list
        call: podman-manifests.manifestdeletelibpod
        with:
          name: rest.name
          ignore: rest.ignore
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: manifestcreatelibpod
        description: Create
        call: podman-manifests.manifestcreatelibpod
        with:
          name: rest.name
          images: rest.images
          all: rest.all
          amend: rest.amend
          options: rest.options
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: manifestmodifylibpod
        description: Modify manifest list
        call: podman-manifests.manifestmodifylibpod
        with:
          name: rest.name
          tlsVerify: rest.tlsVerify
          options: rest.options
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/manifests/{name}/add
      name: libpod-manifests-name-add
      description: REST surface for libpod-manifests-name-add.
      operations:
      - method: POST
        name: manifestaddlibpod
        description: Add image
        call: podman-manifests.manifestaddlibpod
        with:
          name: rest.name
          options: rest.options
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/manifests/{name}/exists
      name: libpod-manifests-name-exists
      description: REST surface for libpod-manifests-name-exists.
      operations:
      - method: GET
        name: manifestexistslibpod
        description: Exists
        call: podman-manifests.manifestexistslibpod
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/manifests/{name}/json
      name: libpod-manifests-name-json
      description: REST surface for libpod-manifests-name-json.
      operations:
      - method: GET
        name: manifestinspectlibpod
        description: Inspect
        call: podman-manifests.manifestinspectlibpod
        with:
          name: rest.name
          tlsVerify: rest.tlsVerify
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/manifests/{name}/push
      name: libpod-manifests-name-push
      description: REST surface for libpod-manifests-name-push.
      operations:
      - method: POST
        name: manifestpushv3libpod
        description: Push manifest to registry
        call: podman-manifests.manifestpushv3libpod
        with:
          name: rest.name
          destination: rest.destination
          all: rest.all
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/manifests/{name}/registry/{destination}
      name: libpod-manifests-name-registry-destination
      description: REST surface for libpod-manifests-name-registry-destination.
      operations:
      - method: POST
        name: manifestpushlibpod
        description: Push manifest list to registry
        call: podman-manifests.manifestpushlibpod
        with:
          name: rest.name
          addCompression: rest.addCompression
          forceCompressionFormat: rest.forceCompressionFormat
          destination: rest.destination
          all: rest.all
          tlsVerify: rest.tlsVerify
          quiet: rest.quiet
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: podman-manifests-mcp
    port: 9090
    transport: http
    description: MCP adapter for supports a RESTful API for the Libpod library — manifests. One tool per consumed operation,
      routed inline through this capability's consumes block.
    tools:
    - name: delete-manifest-list
      description: Delete manifest list
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: podman-manifests.manifestdeletelibpod
      with:
        name: tools.name
        ignore: tools.ignore
      outputParameters:
      - type: object
        mapping: $.
    - name: create
      description: Create
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: podman-manifests.manifestcreatelibpod
      with:
        name: tools.name
        images: tools.images
        all: tools.all
        amend: tools.amend
        options: tools.options
      outputParameters:
      - type: object
        mapping: $.
    - name: modify-manifest-list
      description: Modify manifest list
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: podman-manifests.manifestmodifylibpod
      with:
        name: tools.name
        tlsVerify: tools.tlsVerify
        options: tools.options
      outputParameters:
      - type: object
        mapping: $.
    - name: add-image
      description: Add image
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: podman-manifests.manifestaddlibpod
      with:
        name: tools.name
        options: tools.options
      outputParameters:
      - type: object
        mapping: $.
    - name: exists
      description: Exists
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podman-manifests.manifestexistslibpod
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: inspect
      description: Inspect
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podman-manifests.manifestinspectlibpod
      with:
        name: tools.name
        tlsVerify: tools.tlsVerify
      outputParameters:
      - type: object
        mapping: $.
    - name: push-manifest-registry
      description: Push manifest to registry
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: podman-manifests.manifestpushv3libpod
      with:
        name: tools.name
        destination: tools.destination
        all: tools.all
      outputParameters:
      - type: object
        mapping: $.
    - name: push-manifest-list-registry
      description: Push manifest list to registry
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: podman-manifests.manifestpushlibpod
      with:
        name: tools.name
        addCompression: tools.addCompression
        forceCompressionFormat: tools.forceCompressionFormat
        destination: tools.destination
        all: tools.all
        tlsVerify: tools.tlsVerify
        quiet: tools.quiet
      outputParameters:
      - type: object
        mapping: $.