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