Snowflake · Capability

Snowflake Stream API — stream

Snowflake Stream API — stream. 5 operations. Lead operation: List Streams. Self-contained Naftiko capability covering one Snowflake business surface.

Run with Naftiko Snowflakestream

What You Can Do

GET
Liststreams — List Streams
/v1/api/v2/databases/{database}/schemas/{schema}/streams
POST
Createstream — Create a Stream
/v1/api/v2/databases/{database}/schemas/{schema}/streams
GET
Fetchstream — Fetch a Stream
/v1/api/v2/databases/{database}/schemas/{schema}/streams/{name}
DELETE
Deletestream — Delete a Stream
/v1/api/v2/databases/{database}/schemas/{schema}/streams/{name}
POST
Clonestream — Clone a Stream
/v1/api/v2/databases/{database}/schemas/{schema}/streams/name-clone

MCP Tools

list-streams

List Streams

read-only idempotent
create-stream

Create a Stream

fetch-stream

Fetch a Stream

read-only idempotent
delete-stream

Delete a Stream

idempotent
clone-stream

Clone a Stream

Capability Spec

stream-stream.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Snowflake Stream API — stream
  description: 'Snowflake Stream API — stream. 5 operations. Lead operation: List Streams. Self-contained Naftiko capability
    covering one Snowflake business surface.'
  tags:
  - Snowflake
  - stream
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SNOWFLAKE_API_KEY: SNOWFLAKE_API_KEY
capability:
  consumes:
  - type: http
    namespace: stream-stream
    baseUri: https://org-account.snowflakecomputing.com
    description: Snowflake Stream API — stream business capability. Self-contained, no shared references.
    resources:
    - name: api-v2-databases-database-schemas-schema-streams
      path: /api/v2/databases/{database}/schemas/{schema}/streams
      operations:
      - name: liststreams
        method: GET
        description: List Streams
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createstream
        method: POST
        description: Create a Stream
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-databases-database-schemas-schema-streams-name
      path: /api/v2/databases/{database}/schemas/{schema}/streams/{name}
      operations:
      - name: fetchstream
        method: GET
        description: Fetch a Stream
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletestream
        method: DELETE
        description: Delete a Stream
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v2-databases-database-schemas-schema-streams-name}:clone
      path: /api/v2/databases/{database}/schemas/{schema}/streams/{name}:clone
      operations:
      - name: clonestream
        method: POST
        description: Clone a Stream
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: targetDatabase
          in: query
          type: string
          description: Database of the target resource. Defaults to the source's database
          required: true
        - name: targetSchema
          in: query
          type: string
          description: Schema of the target resource. Defaults to the source's schema
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
  exposes:
  - type: rest
    namespace: stream-stream-rest
    port: 8080
    description: REST adapter for Snowflake Stream API — stream. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/api/v2/databases/{database}/schemas/{schema}/streams
      name: api-v2-databases-database-schemas-schema-streams
      description: REST surface for api-v2-databases-database-schemas-schema-streams.
      operations:
      - method: GET
        name: liststreams
        description: List Streams
        call: stream-stream.liststreams
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createstream
        description: Create a Stream
        call: stream-stream.createstream
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/databases/{database}/schemas/{schema}/streams/{name}
      name: api-v2-databases-database-schemas-schema-streams-name
      description: REST surface for api-v2-databases-database-schemas-schema-streams-name.
      operations:
      - method: GET
        name: fetchstream
        description: Fetch a Stream
        call: stream-stream.fetchstream
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletestream
        description: Delete a Stream
        call: stream-stream.deletestream
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/databases/{database}/schemas/{schema}/streams/name-clone
      name: api-v2-databases-database-schemas-schema-streams-name-clone
      description: REST surface for api-v2-databases-database-schemas-schema-streams-name}:clone.
      operations:
      - method: POST
        name: clonestream
        description: Clone a Stream
        call: stream-stream.clonestream
        with:
          targetDatabase: rest.targetDatabase
          targetSchema: rest.targetSchema
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: stream-stream-mcp
    port: 9090
    transport: http
    description: MCP adapter for Snowflake Stream API — stream. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: list-streams
      description: List Streams
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stream-stream.liststreams
      outputParameters:
      - type: object
        mapping: $.
    - name: create-stream
      description: Create a Stream
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: stream-stream.createstream
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fetch-stream
      description: Fetch a Stream
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stream-stream.fetchstream
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-stream
      description: Delete a Stream
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: stream-stream.deletestream
      outputParameters:
      - type: object
        mapping: $.
    - name: clone-stream
      description: Clone a Stream
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: stream-stream.clonestream
      with:
        targetDatabase: tools.targetDatabase
        targetSchema: tools.targetSchema
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.