naftiko: 1.0.0-alpha2 info: label: Docker Engine API — Volume description: 'Docker Engine API — Volume. 6 operations. Lead operation: List volumes. Self-contained Naftiko capability covering one Docker business surface.' tags: - Docker - Volume created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: DOCKER_API_KEY: DOCKER_API_KEY capability: consumes: - type: http namespace: docker-volume baseUri: '' description: Docker Engine API — Volume 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 - 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: volumeConfig in: body type: string description: Volume configuration required: true - name: volumes-prune path: /volumes/prune operations: - name: volumeprune method: POST description: Delete unused volumes 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: volumes-name path: /volumes/{name} operations: - name: volumeinspect method: GET description: Inspect a volume outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Volume name or ID required: true - name: volumeupdate method: PUT description: '"Update a volume. Valid only for Swarm cluster volumes"' 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: body in: body type: object description: The spec of the volume to update. Currently, only Availability may - name: version in: query type: integer description: The version number of the volume being updated. This is required to required: true - name: volumedelete method: DELETE description: Remove a volume outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Volume name or ID required: true - name: force in: query type: boolean description: Force the removal of the volume exposes: - type: rest namespace: docker-volume-rest port: 8080 description: REST adapter for Docker Engine API — Volume. 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: docker-volume.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: docker-volume.volumecreate with: volumeConfig: rest.volumeConfig outputParameters: - type: object mapping: $. - path: /v1/volumes/prune name: volumes-prune description: REST surface for volumes-prune. operations: - method: POST name: volumeprune description: Delete unused volumes call: docker-volume.volumeprune with: filters: rest.filters outputParameters: - type: object mapping: $. - path: /v1/volumes/{name} name: volumes-name description: REST surface for volumes-name. operations: - method: GET name: volumeinspect description: Inspect a volume call: docker-volume.volumeinspect with: name: rest.name outputParameters: - type: object mapping: $. - method: PUT name: volumeupdate description: '"Update a volume. Valid only for Swarm cluster volumes"' call: docker-volume.volumeupdate with: name: rest.name body: rest.body version: rest.version outputParameters: - type: object mapping: $. - method: DELETE name: volumedelete description: Remove a volume call: docker-volume.volumedelete with: name: rest.name force: rest.force outputParameters: - type: object mapping: $. - type: mcp namespace: docker-volume-mcp port: 9090 transport: http description: MCP adapter for Docker Engine API — Volume. 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: docker-volume.volumelist with: filters: tools.filters outputParameters: - type: object mapping: $. - name: create-volume description: Create a volume hints: readOnly: false destructive: false idempotent: false call: docker-volume.volumecreate with: volumeConfig: tools.volumeConfig outputParameters: - type: object mapping: $. - name: delete-unused-volumes description: Delete unused volumes hints: readOnly: false destructive: false idempotent: false call: docker-volume.volumeprune with: filters: tools.filters outputParameters: - type: object mapping: $. - name: inspect-volume description: Inspect a volume hints: readOnly: true destructive: false idempotent: true call: docker-volume.volumeinspect with: name: tools.name outputParameters: - type: object mapping: $. - name: update-volume-valid-only-swarm description: '"Update a volume. Valid only for Swarm cluster volumes"' hints: readOnly: false destructive: false idempotent: true call: docker-volume.volumeupdate with: name: tools.name body: tools.body version: tools.version outputParameters: - type: object mapping: $. - name: remove-volume description: Remove a volume hints: readOnly: false destructive: true idempotent: true call: docker-volume.volumedelete with: name: tools.name force: tools.force outputParameters: - type: object mapping: $.