Amazon S3 · Capability

Amazon S3 Tables API — Tables

Amazon S3 Tables API — Tables. 7 operations. Lead operation: Amazon S3 List Tables. Self-contained Naftiko capability covering one Amazon S3 business surface.

Run with Naftiko Amazon S3Tables

What You Can Do

GET
Listtables — Amazon S3 List Tables
/v1/tables/{tablebucketarn}/{namespace}
PUT
Createtable — Amazon S3 Create Table
/v1/tables/{tablebucketarn}/{namespace}
GET
Gettable — Amazon S3 Get Table
/v1/tables/{tablebucketarn}/{namespace}/{name}
DELETE
Deletetable — Amazon S3 Delete Table
/v1/tables/{tablebucketarn}/{namespace}/{name}
POST
Renametable — Amazon S3 Rename Table
/v1/tables/{tablebucketarn}/{namespace}/{name}
GET
Gettablemetadatalocation — Amazon S3 Get Table Metadata Location
/v1/tables/{tablebucketarn}/{namespace}/{name}/metadata-location
PUT
Updatetablemetadatalocation — Amazon S3 Update Table Metadata Location
/v1/tables/{tablebucketarn}/{namespace}/{name}/metadata-location

MCP Tools

amazon-s3-list-tables

Amazon S3 List Tables

read-only idempotent
amazon-s3-create-table

Amazon S3 Create Table

idempotent
amazon-s3-get-table

Amazon S3 Get Table

read-only idempotent
amazon-s3-delete-table

Amazon S3 Delete Table

idempotent
amazon-s3-rename-table

Amazon S3 Rename Table

amazon-s3-get-table-metadata

Amazon S3 Get Table Metadata Location

read-only idempotent
amazon-s3-update-table-metadata

Amazon S3 Update Table Metadata Location

idempotent

Capability Spec

tables-tables.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Amazon S3 Tables API — Tables
  description: 'Amazon S3 Tables API — Tables. 7 operations. Lead operation: Amazon S3 List Tables. Self-contained Naftiko
    capability covering one Amazon S3 business surface.'
  tags:
  - Amazon S3
  - Tables
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    AMAZON_S3_API_KEY: AMAZON_S3_API_KEY
capability:
  consumes:
  - type: http
    namespace: tables-tables
    baseUri: https://s3tables.{region}.amazonaws.com
    description: Amazon S3 Tables API — Tables business capability. Self-contained, no shared references.
    resources:
    - name: tables-tableBucketARN-namespace
      path: /tables/{tableBucketARN}/{namespace}
      operations:
      - name: listtables
        method: GET
        description: Amazon S3 List Tables
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: prefix
          in: query
          type: string
          description: The prefix of the table names.
        - name: continuationToken
          in: query
          type: string
          description: A continuation token for pagination.
        - name: maxTables
          in: query
          type: integer
          description: The maximum number of tables to return.
      - name: createtable
        method: PUT
        description: Amazon S3 Create Table
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: tables-tableBucketARN-namespace-name
      path: /tables/{tableBucketARN}/{namespace}/{name}
      operations:
      - name: gettable
        method: GET
        description: Amazon S3 Get Table
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: The name of the table.
          required: true
      - name: deletetable
        method: DELETE
        description: Amazon S3 Delete Table
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: The name of the table to delete.
          required: true
        - name: versionToken
          in: query
          type: string
          description: The version token of the table.
      - name: renametable
        method: POST
        description: Amazon S3 Rename Table
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: The current name of the table.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: tables-tableBucketARN-namespace-name-metadata-location
      path: /tables/{tableBucketARN}/{namespace}/{name}/metadata-location
      operations:
      - name: gettablemetadatalocation
        method: GET
        description: Amazon S3 Get Table Metadata Location
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: The name of the table.
          required: true
      - name: updatetablemetadatalocation
        method: PUT
        description: Amazon S3 Update Table Metadata Location
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: The name of the table.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.AMAZON_S3_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: tables-tables-rest
    port: 8080
    description: REST adapter for Amazon S3 Tables API — Tables. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/tables/{tablebucketarn}/{namespace}
      name: tables-tablebucketarn-namespace
      description: REST surface for tables-tableBucketARN-namespace.
      operations:
      - method: GET
        name: listtables
        description: Amazon S3 List Tables
        call: tables-tables.listtables
        with:
          prefix: rest.prefix
          continuationToken: rest.continuationToken
          maxTables: rest.maxTables
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: createtable
        description: Amazon S3 Create Table
        call: tables-tables.createtable
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tables/{tablebucketarn}/{namespace}/{name}
      name: tables-tablebucketarn-namespace-name
      description: REST surface for tables-tableBucketARN-namespace-name.
      operations:
      - method: GET
        name: gettable
        description: Amazon S3 Get Table
        call: tables-tables.gettable
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletetable
        description: Amazon S3 Delete Table
        call: tables-tables.deletetable
        with:
          name: rest.name
          versionToken: rest.versionToken
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: renametable
        description: Amazon S3 Rename Table
        call: tables-tables.renametable
        with:
          name: rest.name
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tables/{tablebucketarn}/{namespace}/{name}/metadata-location
      name: tables-tablebucketarn-namespace-name-metadata-location
      description: REST surface for tables-tableBucketARN-namespace-name-metadata-location.
      operations:
      - method: GET
        name: gettablemetadatalocation
        description: Amazon S3 Get Table Metadata Location
        call: tables-tables.gettablemetadatalocation
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatetablemetadatalocation
        description: Amazon S3 Update Table Metadata Location
        call: tables-tables.updatetablemetadatalocation
        with:
          name: rest.name
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: tables-tables-mcp
    port: 9090
    transport: http
    description: MCP adapter for Amazon S3 Tables API — Tables. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: amazon-s3-list-tables
      description: Amazon S3 List Tables
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: tables-tables.listtables
      with:
        prefix: tools.prefix
        continuationToken: tools.continuationToken
        maxTables: tools.maxTables
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-s3-create-table
      description: Amazon S3 Create Table
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: tables-tables.createtable
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-s3-get-table
      description: Amazon S3 Get Table
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: tables-tables.gettable
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-s3-delete-table
      description: Amazon S3 Delete Table
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: tables-tables.deletetable
      with:
        name: tools.name
        versionToken: tools.versionToken
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-s3-rename-table
      description: Amazon S3 Rename Table
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: tables-tables.renametable
      with:
        name: tools.name
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-s3-get-table-metadata
      description: Amazon S3 Get Table Metadata Location
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: tables-tables.gettablemetadatalocation
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-s3-update-table-metadata
      description: Amazon S3 Update Table Metadata Location
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: tables-tables.updatetablemetadatalocation
      with:
        name: tools.name
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.