Azure Blob Storage · Capability

Azure Blob Storage REST API — Containers

Azure Blob Storage REST API — Containers. 10 operations. Lead operation: Azure Blob Storage Create container. Self-contained Naftiko capability covering one Microsoft Azure Blob Storage business surface.

Run with Naftiko Microsoft Azure Blob StorageContainers

What You Can Do

PUT
Createcontainer — Azure Blob Storage Create container
/v1/{container}
GET
Getcontainerproperties — Azure Blob Storage Get container properties
/v1/{container}
DELETE
Deletecontainer — Azure Blob Storage Delete container
/v1/{container}
GET
Getcontaineracl — Azure Blob Storage Get container ACL
/v1/container-restype-container-comp-acl
PUT
Setcontaineracl — Azure Blob Storage Set container ACL
/v1/container-restype-container-comp-acl
PUT
Leasecontainer — Azure Blob Storage Lease container
/v1/container-restype-container-comp-lease
GET
Listblobs — Azure Blob Storage List blobs
/v1/container-restype-container-comp-list
GET
Getcontainermetadata — Azure Blob Storage Get container metadata
/v1/container-restype-container-comp-metadata
PUT
Setcontainermetadata — Azure Blob Storage Set container metadata
/v1/container-restype-container-comp-metadata
PUT
Restorecontainer — Azure Blob Storage Restore container
/v1/container-restype-container-comp-undelete

MCP Tools

azure-blob-storage-create-container

Azure Blob Storage Create container

idempotent
azure-blob-storage-get-container

Azure Blob Storage Get container properties

read-only idempotent
azure-blob-storage-delete-container

Azure Blob Storage Delete container

idempotent
azure-blob-storage-get-container-2

Azure Blob Storage Get container ACL

read-only idempotent
azure-blob-storage-set-container

Azure Blob Storage Set container ACL

idempotent
azure-blob-storage-lease-container

Azure Blob Storage Lease container

idempotent
azure-blob-storage-list-blobs

Azure Blob Storage List blobs

read-only idempotent
azure-blob-storage-get-container-3

Azure Blob Storage Get container metadata

read-only idempotent
azure-blob-storage-set-container-2

Azure Blob Storage Set container metadata

idempotent
azure-blob-storage-restore-container

Azure Blob Storage Restore container

idempotent

Capability Spec

azure-blob-storage-rest-containers.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Azure Blob Storage REST API — Containers
  description: 'Azure Blob Storage REST API — Containers. 10 operations. Lead operation: Azure Blob Storage Create container.
    Self-contained Naftiko capability covering one Microsoft Azure Blob Storage business surface.'
  tags:
  - Microsoft Azure Blob Storage
  - Containers
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    MICROSOFT_AZURE_BLOB_STORAGE_API_KEY: MICROSOFT_AZURE_BLOB_STORAGE_API_KEY
capability:
  consumes:
  - type: http
    namespace: azure-blob-storage-rest-containers
    baseUri: https://{accountName}.blob.core.windows.net
    description: Azure Blob Storage REST API — Containers business capability. Self-contained, no shared references.
    resources:
    - name: container
      path: /{container}
      operations:
      - name: createcontainer
        method: PUT
        description: Azure Blob Storage Create container
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: restype
          in: query
          type: string
          required: true
        - name: x-ms-blob-public-access
          in: header
          type: string
          description: Specifies whether data in the container may be accessed publicly and the level of access.
        - name: x-ms-default-encryption-scope
          in: header
          type: string
          description: The default encryption scope for the container.
      - name: getcontainerproperties
        method: GET
        description: Azure Blob Storage Get container properties
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: restype
          in: query
          type: string
          required: true
      - name: deletecontainer
        method: DELETE
        description: Azure Blob Storage Delete container
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: restype
          in: query
          type: string
          required: true
    - name: container}?restype=container&comp=acl
      path: /{container}?restype=container&comp=acl
      operations:
      - name: getcontaineracl
        method: GET
        description: Azure Blob Storage Get container ACL
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: setcontaineracl
        method: PUT
        description: Azure Blob Storage Set container ACL
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: container}?restype=container&comp=lease
      path: /{container}?restype=container&comp=lease
      operations:
      - name: leasecontainer
        method: PUT
        description: Azure Blob Storage Lease container
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: x-ms-lease-action
          in: header
          type: string
          description: The lease action to perform.
          required: true
        - name: x-ms-lease-duration
          in: header
          type: integer
          description: Duration of the lease in seconds. Set to -1 for an infinite lease, or between 15 and 60 seconds for
            a fixed-duration lease.
        - name: x-ms-proposed-lease-id
          in: header
          type: string
          description: Proposed lease ID in GUID format.
    - name: container}?restype=container&comp=list
      path: /{container}?restype=container&comp=list
      operations:
      - name: listblobs
        method: GET
        description: Azure Blob Storage List blobs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: prefix
          in: query
          type: string
          description: Filters results to return only blobs whose names begin with the specified prefix.
        - name: delimiter
          in: query
          type: string
          description: Delimiter character used to traverse a virtual hierarchy of blobs as though it were a file system.
        - name: marker
          in: query
          type: string
          description: Continuation token for pagination.
        - name: maxresults
          in: query
          type: integer
          description: Maximum number of blobs to return.
        - name: include
          in: query
          type: string
          description: Specifies additional datasets to include such as snapshots, metadata, uncommitted blobs, copy, deleted,
            tags, versions, deletedwithversions, immutabilitypolicy,
    - name: container}?restype=container&comp=metadata
      path: /{container}?restype=container&comp=metadata
      operations:
      - name: getcontainermetadata
        method: GET
        description: Azure Blob Storage Get container metadata
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: setcontainermetadata
        method: PUT
        description: Azure Blob Storage Set container metadata
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: container}?restype=container&comp=undelete
      path: /{container}?restype=container&comp=undelete
      operations:
      - name: restorecontainer
        method: PUT
        description: Azure Blob Storage Restore container
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: x-ms-deleted-container-name
          in: header
          type: string
          description: The name of the deleted container to restore.
          required: true
        - name: x-ms-deleted-container-version
          in: header
          type: string
          description: The version of the deleted container to restore.
          required: true
    authentication:
      type: bearer
      token: '{{env.MICROSOFT_AZURE_BLOB_STORAGE_API_KEY}}'
  exposes:
  - type: rest
    namespace: azure-blob-storage-rest-containers-rest
    port: 8080
    description: REST adapter for Azure Blob Storage REST API — Containers. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/{container}
      name: container
      description: REST surface for container.
      operations:
      - method: PUT
        name: createcontainer
        description: Azure Blob Storage Create container
        call: azure-blob-storage-rest-containers.createcontainer
        with:
          restype: rest.restype
          x-ms-blob-public-access: rest.x-ms-blob-public-access
          x-ms-default-encryption-scope: rest.x-ms-default-encryption-scope
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getcontainerproperties
        description: Azure Blob Storage Get container properties
        call: azure-blob-storage-rest-containers.getcontainerproperties
        with:
          restype: rest.restype
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletecontainer
        description: Azure Blob Storage Delete container
        call: azure-blob-storage-rest-containers.deletecontainer
        with:
          restype: rest.restype
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/container-restype-container-comp-acl
      name: container-restype-container-comp-acl
      description: REST surface for container}?restype=container&comp=acl.
      operations:
      - method: GET
        name: getcontaineracl
        description: Azure Blob Storage Get container ACL
        call: azure-blob-storage-rest-containers.getcontaineracl
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: setcontaineracl
        description: Azure Blob Storage Set container ACL
        call: azure-blob-storage-rest-containers.setcontaineracl
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/container-restype-container-comp-lease
      name: container-restype-container-comp-lease
      description: REST surface for container}?restype=container&comp=lease.
      operations:
      - method: PUT
        name: leasecontainer
        description: Azure Blob Storage Lease container
        call: azure-blob-storage-rest-containers.leasecontainer
        with:
          x-ms-lease-action: rest.x-ms-lease-action
          x-ms-lease-duration: rest.x-ms-lease-duration
          x-ms-proposed-lease-id: rest.x-ms-proposed-lease-id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/container-restype-container-comp-list
      name: container-restype-container-comp-list
      description: REST surface for container}?restype=container&comp=list.
      operations:
      - method: GET
        name: listblobs
        description: Azure Blob Storage List blobs
        call: azure-blob-storage-rest-containers.listblobs
        with:
          prefix: rest.prefix
          delimiter: rest.delimiter
          marker: rest.marker
          maxresults: rest.maxresults
          include: rest.include
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/container-restype-container-comp-metadata
      name: container-restype-container-comp-metadata
      description: REST surface for container}?restype=container&comp=metadata.
      operations:
      - method: GET
        name: getcontainermetadata
        description: Azure Blob Storage Get container metadata
        call: azure-blob-storage-rest-containers.getcontainermetadata
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: setcontainermetadata
        description: Azure Blob Storage Set container metadata
        call: azure-blob-storage-rest-containers.setcontainermetadata
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/container-restype-container-comp-undelete
      name: container-restype-container-comp-undelete
      description: REST surface for container}?restype=container&comp=undelete.
      operations:
      - method: PUT
        name: restorecontainer
        description: Azure Blob Storage Restore container
        call: azure-blob-storage-rest-containers.restorecontainer
        with:
          x-ms-deleted-container-name: rest.x-ms-deleted-container-name
          x-ms-deleted-container-version: rest.x-ms-deleted-container-version
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: azure-blob-storage-rest-containers-mcp
    port: 9090
    transport: http
    description: MCP adapter for Azure Blob Storage REST API — Containers. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: azure-blob-storage-create-container
      description: Azure Blob Storage Create container
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: azure-blob-storage-rest-containers.createcontainer
      with:
        restype: tools.restype
        x-ms-blob-public-access: tools.x-ms-blob-public-access
        x-ms-default-encryption-scope: tools.x-ms-default-encryption-scope
      outputParameters:
      - type: object
        mapping: $.
    - name: azure-blob-storage-get-container
      description: Azure Blob Storage Get container properties
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: azure-blob-storage-rest-containers.getcontainerproperties
      with:
        restype: tools.restype
      outputParameters:
      - type: object
        mapping: $.
    - name: azure-blob-storage-delete-container
      description: Azure Blob Storage Delete container
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: azure-blob-storage-rest-containers.deletecontainer
      with:
        restype: tools.restype
      outputParameters:
      - type: object
        mapping: $.
    - name: azure-blob-storage-get-container-2
      description: Azure Blob Storage Get container ACL
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: azure-blob-storage-rest-containers.getcontaineracl
      outputParameters:
      - type: object
        mapping: $.
    - name: azure-blob-storage-set-container
      description: Azure Blob Storage Set container ACL
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: azure-blob-storage-rest-containers.setcontaineracl
      outputParameters:
      - type: object
        mapping: $.
    - name: azure-blob-storage-lease-container
      description: Azure Blob Storage Lease container
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: azure-blob-storage-rest-containers.leasecontainer
      with:
        x-ms-lease-action: tools.x-ms-lease-action
        x-ms-lease-duration: tools.x-ms-lease-duration
        x-ms-proposed-lease-id: tools.x-ms-proposed-lease-id
      outputParameters:
      - type: object
        mapping: $.
    - name: azure-blob-storage-list-blobs
      description: Azure Blob Storage List blobs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: azure-blob-storage-rest-containers.listblobs
      with:
        prefix: tools.prefix
        delimiter: tools.delimiter
        marker: tools.marker
        maxresults: tools.maxresults
        include: tools.include
      outputParameters:
      - type: object
        mapping: $.
    - name: azure-blob-storage-get-container-3
      description: Azure Blob Storage Get container metadata
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: azure-blob-storage-rest-containers.getcontainermetadata
      outputParameters:
      - type: object
        mapping: $.
    - name: azure-blob-storage-set-container-2
      description: Azure Blob Storage Set container metadata
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: azure-blob-storage-rest-containers.setcontainermetadata
      outputParameters:
      - type: object
        mapping: $.
    - name: azure-blob-storage-restore-container
      description: Azure Blob Storage Restore container
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: azure-blob-storage-rest-containers.restorecontainer
      with:
        x-ms-deleted-container-name: tools.x-ms-deleted-container-name
        x-ms-deleted-container-version: tools.x-ms-deleted-container-version
      outputParameters:
      - type: object
        mapping: $.