Podman · Capability

supports a RESTful API for the Libpod library — networks

supports a RESTful API for the Libpod library — networks. 9 operations. Lead operation: Create network. Self-contained Naftiko capability covering one Podman business surface.

Run with Naftiko Podmannetworks

What You Can Do

POST
Networkcreatelibpod — Create network
/v1/libpod/networks/create
GET
Networklistlibpod — List networks
/v1/libpod/networks/json
POST
Networkprunelibpod — Delete unused networks
/v1/libpod/networks/prune
DELETE
Networkdeletelibpod — Remove a network
/v1/libpod/networks/{name}
POST
Networkconnectlibpod — Connect container to network
/v1/libpod/networks/{name}/connect
POST
Networkdisconnectlibpod — Disconnect container from network
/v1/libpod/networks/{name}/disconnect
GET
Networkexistslibpod — Network exists
/v1/libpod/networks/{name}/exists
GET
Networkinspectlibpod — Inspect a network
/v1/libpod/networks/{name}/json
POST
Networkupdatelibpod — Update existing podman network
/v1/libpod/networks/{name}/update

MCP Tools

create-network

Create network

list-networks

List networks

read-only idempotent
delete-unused-networks

Delete unused networks

remove-network

Remove a network

idempotent
connect-container-network

Connect container to network

disconnect-container-network

Disconnect container from network

network-exists

Network exists

read-only idempotent
inspect-network

Inspect a network

read-only idempotent
update-existing-podman-network

Update existing podman network

Capability Spec

podman-networks.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: supports a RESTful API for the Libpod library — networks
  description: 'supports a RESTful API for the Libpod library — networks. 9 operations. Lead operation: Create network. Self-contained
    Naftiko capability covering one Podman business surface.'
  tags:
  - Podman
  - networks
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    PODMAN_API_KEY: PODMAN_API_KEY
capability:
  consumes:
  - type: http
    namespace: podman-networks
    baseUri: http://podman.io
    description: supports a RESTful API for the Libpod library — networks business capability. Self-contained, no shared references.
    resources:
    - name: libpod-networks-create
      path: /libpod/networks/create
      operations:
      - name: networkcreatelibpod
        method: POST
        description: Create network
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: create
          in: body
          type: string
          description: attributes for creating a network
        - name: ignoreIfExists
          in: query
          type: boolean
          description: Ignore the request if a network with the same name already exists.
    - name: libpod-networks-json
      path: /libpod/networks/json
      operations:
      - name: networklistlibpod
        method: GET
        description: List networks
        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 network list. Available
            filters:'
    - name: libpod-networks-prune
      path: /libpod/networks/prune
      operations:
      - name: networkprunelibpod
        method: POST
        description: Delete unused networks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: filters
          in: query
          type: string
          description: Filters to process on the prune list, encoded as JSON (a `map[string][]string`).
    - name: libpod-networks-name
      path: /libpod/networks/{name}
      operations:
      - name: networkdeletelibpod
        method: DELETE
        description: Remove a network
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name of the network
          required: true
        - name: force
          in: query
          type: boolean
          description: remove containers associated with network
    - name: libpod-networks-name-connect
      path: /libpod/networks/{name}/connect
      operations:
      - name: networkconnectlibpod
        method: POST
        description: Connect container to network
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name of the network
          required: true
        - name: create
          in: body
          type: string
          description: attributes for connecting a container to a network
    - name: libpod-networks-name-disconnect
      path: /libpod/networks/{name}/disconnect
      operations:
      - name: networkdisconnectlibpod
        method: POST
        description: Disconnect container from network
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name of the network
          required: true
        - name: create
          in: body
          type: string
          description: attributes for disconnecting a container from a network
    - name: libpod-networks-name-exists
      path: /libpod/networks/{name}/exists
      operations:
      - name: networkexistslibpod
        method: GET
        description: Network exists
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name or ID of the network
          required: true
    - name: libpod-networks-name-json
      path: /libpod/networks/{name}/json
      operations:
      - name: networkinspectlibpod
        method: GET
        description: Inspect a network
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name of the network
          required: true
    - name: libpod-networks-name-update
      path: /libpod/networks/{name}/update
      operations:
      - name: networkupdatelibpod
        method: POST
        description: Update existing podman network
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name or ID of the network
          required: true
        - name: update
          in: body
          type: string
          description: attributes for updating a netavark network
  exposes:
  - type: rest
    namespace: podman-networks-rest
    port: 8080
    description: REST adapter for supports a RESTful API for the Libpod library — networks. One Spectral-compliant resource
      per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/libpod/networks/create
      name: libpod-networks-create
      description: REST surface for libpod-networks-create.
      operations:
      - method: POST
        name: networkcreatelibpod
        description: Create network
        call: podman-networks.networkcreatelibpod
        with:
          create: rest.create
          ignoreIfExists: rest.ignoreIfExists
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/networks/json
      name: libpod-networks-json
      description: REST surface for libpod-networks-json.
      operations:
      - method: GET
        name: networklistlibpod
        description: List networks
        call: podman-networks.networklistlibpod
        with:
          filters: rest.filters
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/networks/prune
      name: libpod-networks-prune
      description: REST surface for libpod-networks-prune.
      operations:
      - method: POST
        name: networkprunelibpod
        description: Delete unused networks
        call: podman-networks.networkprunelibpod
        with:
          filters: rest.filters
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/networks/{name}
      name: libpod-networks-name
      description: REST surface for libpod-networks-name.
      operations:
      - method: DELETE
        name: networkdeletelibpod
        description: Remove a network
        call: podman-networks.networkdeletelibpod
        with:
          name: rest.name
          force: rest.force
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/networks/{name}/connect
      name: libpod-networks-name-connect
      description: REST surface for libpod-networks-name-connect.
      operations:
      - method: POST
        name: networkconnectlibpod
        description: Connect container to network
        call: podman-networks.networkconnectlibpod
        with:
          name: rest.name
          create: rest.create
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/networks/{name}/disconnect
      name: libpod-networks-name-disconnect
      description: REST surface for libpod-networks-name-disconnect.
      operations:
      - method: POST
        name: networkdisconnectlibpod
        description: Disconnect container from network
        call: podman-networks.networkdisconnectlibpod
        with:
          name: rest.name
          create: rest.create
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/networks/{name}/exists
      name: libpod-networks-name-exists
      description: REST surface for libpod-networks-name-exists.
      operations:
      - method: GET
        name: networkexistslibpod
        description: Network exists
        call: podman-networks.networkexistslibpod
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/networks/{name}/json
      name: libpod-networks-name-json
      description: REST surface for libpod-networks-name-json.
      operations:
      - method: GET
        name: networkinspectlibpod
        description: Inspect a network
        call: podman-networks.networkinspectlibpod
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/networks/{name}/update
      name: libpod-networks-name-update
      description: REST surface for libpod-networks-name-update.
      operations:
      - method: POST
        name: networkupdatelibpod
        description: Update existing podman network
        call: podman-networks.networkupdatelibpod
        with:
          name: rest.name
          update: rest.update
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: podman-networks-mcp
    port: 9090
    transport: http
    description: MCP adapter for supports a RESTful API for the Libpod library — networks. One tool per consumed operation,
      routed inline through this capability's consumes block.
    tools:
    - name: create-network
      description: Create network
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: podman-networks.networkcreatelibpod
      with:
        create: tools.create
        ignoreIfExists: tools.ignoreIfExists
      outputParameters:
      - type: object
        mapping: $.
    - name: list-networks
      description: List networks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podman-networks.networklistlibpod
      with:
        filters: tools.filters
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-unused-networks
      description: Delete unused networks
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: podman-networks.networkprunelibpod
      with:
        filters: tools.filters
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-network
      description: Remove a network
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: podman-networks.networkdeletelibpod
      with:
        name: tools.name
        force: tools.force
      outputParameters:
      - type: object
        mapping: $.
    - name: connect-container-network
      description: Connect container to network
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: podman-networks.networkconnectlibpod
      with:
        name: tools.name
        create: tools.create
      outputParameters:
      - type: object
        mapping: $.
    - name: disconnect-container-network
      description: Disconnect container from network
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: podman-networks.networkdisconnectlibpod
      with:
        name: tools.name
        create: tools.create
      outputParameters:
      - type: object
        mapping: $.
    - name: network-exists
      description: Network exists
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podman-networks.networkexistslibpod
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: inspect-network
      description: Inspect a network
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podman-networks.networkinspectlibpod
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: update-existing-podman-network
      description: Update existing podman network
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: podman-networks.networkupdatelibpod
      with:
        name: tools.name
        update: tools.update
      outputParameters:
      - type: object
        mapping: $.