naftiko: 1.0.0-alpha2 info: label: Fastly Object Storage — Object description: S3-compatible object operations for Fastly Object Storage including put, get, head, delete, and listing keys within a bucket. tags: - Fastly - Object Storage - S3 Compatible created: '2026-05-22' modified: '2026-05-22' binds: - namespace: env keys: FASTLY_OS_ACCESS_KEY: FASTLY_OS_ACCESS_KEY FASTLY_OS_SECRET_KEY: FASTLY_OS_SECRET_KEY capability: consumes: - type: http namespace: object-storage-object baseUri: https://storage.fastly.com description: Fastly Object Storage S3-compatible object operations. resources: - name: bucket-contents path: /{bucket} operations: - name: listobjects method: GET description: List objects in bucket outputRawFormat: xml outputParameters: - name: result type: object value: $. - name: bucket-key path: /{bucket}/{key} operations: - name: putobject method: PUT description: Put object outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getobject method: GET description: Get object outputRawFormat: binary outputParameters: - name: result type: object value: $. - name: headobject method: HEAD description: Head object metadata outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleteobject method: DELETE description: Delete object outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: sigv4 key: Authorization value: '{{env.FASTLY_OS_ACCESS_KEY}}:{{env.FASTLY_OS_SECRET_KEY}}' placement: header exposes: - type: rest namespace: object-storage-object-rest port: 8080 description: REST adapter for Fastly Object Storage objects. resources: - path: /v1/buckets/{bucket}/objects name: bucket-objects description: REST surface for object listing. operations: - method: GET name: listobjects description: List objects call: object-storage-object.listobjects outputParameters: [ { type: object, mapping: $. } ] - path: /v1/buckets/{bucket}/objects/{key} name: bucket-object description: REST surface for individual object operations. operations: - method: PUT name: putobject description: Put object call: object-storage-object.putobject outputParameters: [ { type: object, mapping: $. } ] - method: GET name: getobject description: Get object call: object-storage-object.getobject outputParameters: [ { type: object, mapping: $. } ] - method: HEAD name: headobject description: Head object call: object-storage-object.headobject outputParameters: [ { type: object, mapping: $. } ] - method: DELETE name: deleteobject description: Delete object call: object-storage-object.deleteobject outputParameters: [ { type: object, mapping: $. } ] - type: mcp namespace: object-storage-object-mcp port: 9090 transport: http description: MCP adapter for Fastly Object Storage objects. tools: - name: list-objects description: List objects in a Fastly Object Storage bucket hints: { readOnly: true, destructive: false, idempotent: true } call: object-storage-object.listobjects outputParameters: [ { type: object, mapping: $. } ] - name: put-object description: Upload an object to Fastly Object Storage hints: { readOnly: false, destructive: false, idempotent: true } call: object-storage-object.putobject outputParameters: [ { type: object, mapping: $. } ] - name: get-object description: Get an object from Fastly Object Storage hints: { readOnly: true, destructive: false, idempotent: true } call: object-storage-object.getobject outputParameters: [ { type: object, mapping: $. } ] - name: head-object description: Head an object's metadata in Fastly Object Storage hints: { readOnly: true, destructive: false, idempotent: true } call: object-storage-object.headobject outputParameters: [ { type: object, mapping: $. } ] - name: delete-object description: Delete an object from Fastly Object Storage hints: { readOnly: false, destructive: true, idempotent: true } call: object-storage-object.deleteobject outputParameters: [ { type: object, mapping: $. } ]