Tinybird · Capability

Tinybird API — Pipes

Tinybird API — Pipes. 9 operations. Lead operation: List Pipes. Self-contained Naftiko capability covering one Tinybird business surface.

Run with Naftiko TinybirdPipes

What You Can Do

GET
Listpipes — List Pipes
/v1/v0/pipes
POST
Createpipe — Create Pipe
/v1/v0/pipes
GET
Getpipe — Get Pipe
/v1/v0/pipes/{name}
PUT
Updatepipe — Update Pipe
/v1/v0/pipes/{name}
DELETE
Deletepipe — Delete Pipe
/v1/v0/pipes/{name}
GET
Explainpipe — Explain Pipe Query
/v1/v0/pipes/{name}/explain
POST
Createpipenode — Create Pipe Node
/v1/v0/pipes/{name}/nodes
PUT
Updatepipenode — Update Pipe Node
/v1/v0/pipes/{name}/nodes/{nodeid}
DELETE
Deletepipenode — Delete Pipe Node
/v1/v0/pipes/{name}/nodes/{nodeid}

MCP Tools

list-pipes

List Pipes

read-only idempotent
create-pipe

Create Pipe

get-pipe

Get Pipe

read-only idempotent
update-pipe

Update Pipe

idempotent
delete-pipe

Delete Pipe

idempotent
explain-pipe-query

Explain Pipe Query

read-only idempotent
create-pipe-node

Create Pipe Node

update-pipe-node

Update Pipe Node

idempotent
delete-pipe-node

Delete Pipe Node

idempotent

Capability Spec

tinybird-pipes.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Tinybird API — Pipes
  description: 'Tinybird API — Pipes. 9 operations. Lead operation: List Pipes. Self-contained Naftiko capability covering
    one Tinybird business surface.'
  tags:
  - Tinybird
  - Pipes
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    TINYBIRD_API_KEY: TINYBIRD_API_KEY
capability:
  consumes:
  - type: http
    namespace: tinybird-pipes
    baseUri: https://api.tinybird.co
    description: Tinybird API — Pipes business capability. Self-contained, no shared references.
    resources:
    - name: v0-pipes
      path: /v0/pipes/
      operations:
      - name: listpipes
        method: GET
        description: List Pipes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createpipe
        method: POST
        description: Create Pipe
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v0-pipes-name
      path: /v0/pipes/{name}
      operations:
      - name: getpipe
        method: GET
        description: Get Pipe
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
      - name: updatepipe
        method: PUT
        description: Update Pipe
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletepipe
        method: DELETE
        description: Delete Pipe
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
    - name: v0-pipes-name-explain
      path: /v0/pipes/{name}/explain
      operations:
      - name: explainpipe
        method: GET
        description: Explain Pipe Query
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
    - name: v0-pipes-name-nodes
      path: /v0/pipes/{name}/nodes
      operations:
      - name: createpipenode
        method: POST
        description: Create Pipe Node
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v0-pipes-name-nodes-nodeId
      path: /v0/pipes/{name}/nodes/{nodeId}
      operations:
      - name: updatepipenode
        method: PUT
        description: Update Pipe Node
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
        - name: nodeId
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletepipenode
        method: DELETE
        description: Delete Pipe Node
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
        - name: nodeId
          in: path
          type: string
          required: true
    authentication:
      type: bearer
      token: '{{env.TINYBIRD_API_KEY}}'
  exposes:
  - type: rest
    namespace: tinybird-pipes-rest
    port: 8080
    description: REST adapter for Tinybird API — Pipes. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/v0/pipes
      name: v0-pipes
      description: REST surface for v0-pipes.
      operations:
      - method: GET
        name: listpipes
        description: List Pipes
        call: tinybird-pipes.listpipes
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createpipe
        description: Create Pipe
        call: tinybird-pipes.createpipe
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v0/pipes/{name}
      name: v0-pipes-name
      description: REST surface for v0-pipes-name.
      operations:
      - method: GET
        name: getpipe
        description: Get Pipe
        call: tinybird-pipes.getpipe
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatepipe
        description: Update Pipe
        call: tinybird-pipes.updatepipe
        with:
          name: rest.name
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletepipe
        description: Delete Pipe
        call: tinybird-pipes.deletepipe
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v0/pipes/{name}/explain
      name: v0-pipes-name-explain
      description: REST surface for v0-pipes-name-explain.
      operations:
      - method: GET
        name: explainpipe
        description: Explain Pipe Query
        call: tinybird-pipes.explainpipe
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v0/pipes/{name}/nodes
      name: v0-pipes-name-nodes
      description: REST surface for v0-pipes-name-nodes.
      operations:
      - method: POST
        name: createpipenode
        description: Create Pipe Node
        call: tinybird-pipes.createpipenode
        with:
          name: rest.name
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v0/pipes/{name}/nodes/{nodeid}
      name: v0-pipes-name-nodes-nodeid
      description: REST surface for v0-pipes-name-nodes-nodeId.
      operations:
      - method: PUT
        name: updatepipenode
        description: Update Pipe Node
        call: tinybird-pipes.updatepipenode
        with:
          name: rest.name
          nodeId: rest.nodeId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletepipenode
        description: Delete Pipe Node
        call: tinybird-pipes.deletepipenode
        with:
          name: rest.name
          nodeId: rest.nodeId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: tinybird-pipes-mcp
    port: 9090
    transport: http
    description: MCP adapter for Tinybird API — Pipes. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-pipes
      description: List Pipes
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: tinybird-pipes.listpipes
      outputParameters:
      - type: object
        mapping: $.
    - name: create-pipe
      description: Create Pipe
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: tinybird-pipes.createpipe
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-pipe
      description: Get Pipe
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: tinybird-pipes.getpipe
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: update-pipe
      description: Update Pipe
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: tinybird-pipes.updatepipe
      with:
        name: tools.name
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-pipe
      description: Delete Pipe
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: tinybird-pipes.deletepipe
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: explain-pipe-query
      description: Explain Pipe Query
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: tinybird-pipes.explainpipe
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: create-pipe-node
      description: Create Pipe Node
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: tinybird-pipes.createpipenode
      with:
        name: tools.name
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: update-pipe-node
      description: Update Pipe Node
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: tinybird-pipes.updatepipenode
      with:
        name: tools.name
        nodeId: tools.nodeId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-pipe-node
      description: Delete Pipe Node
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: tinybird-pipes.deletepipenode
      with:
        name: tools.name
        nodeId: tools.nodeId
      outputParameters:
      - type: object
        mapping: $.