Viam · Capability

Viam Data Pipelines

Scheduled MQL data pipelines that aggregate captured data into the Viam hot data store.

Viam Data Pipelines is a Naftiko capability published by Viam, one of 27 capabilities the APIs.io network indexes for this provider. It bundles 7 operations.

The capability includes 3 read-only operations and 4 state-changing operations. Lead operation: List pipelines. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Viam, Data, and Pipelines.

Run with Naftiko ViamDataPipelines

MCP Tools

viam-list-pipelines

List pipelines.

read-only idempotent
viam-get-pipeline

Get a pipeline.

read-only idempotent
viam-create-pipeline

Create a pipeline.

viam-enable-pipeline

Enable a pipeline.

idempotent
viam-disable-pipeline

Disable a pipeline.

idempotent
viam-delete-pipeline

Delete a pipeline.

idempotent
viam-list-pipeline-runs

List pipeline runs.

read-only idempotent

Capability Spec

data-pipelines.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Viam Data Pipelines
  description: Scheduled MQL data pipelines that aggregate captured data into the Viam hot data store.
  tags: [Viam, Data, Pipelines]
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    VIAM_API_KEY: VIAM_API_KEY
capability:
  consumes:
  - type: http
    namespace: data-pipelines
    baseUri: https://app.viam.com
    description: Viam DataPipelinesService.
    resources:
    - name: list-data-pipelines
      path: /viam.app.datapipelines.v1.DataPipelinesService/ListDataPipelines
      operations:
      - { name: listDataPipelines, method: POST, description: List pipelines for an org., outputRawFormat: json, inputParameters: [{ name: body, in: body, type: object, required: true }] }
    - name: get-data-pipeline
      path: /viam.app.datapipelines.v1.DataPipelinesService/GetDataPipeline
      operations:
      - { name: getDataPipeline, method: POST, description: Get a pipeline by id., outputRawFormat: json, inputParameters: [{ name: body, in: body, type: object, required: true }] }
    - name: create-data-pipeline
      path: /viam.app.datapipelines.v1.DataPipelinesService/CreateDataPipeline
      operations:
      - { name: createDataPipeline, method: POST, description: Create a pipeline., outputRawFormat: json, inputParameters: [{ name: body, in: body, type: object, required: true }] }
    - name: enable-data-pipeline
      path: /viam.app.datapipelines.v1.DataPipelinesService/EnableDataPipeline
      operations:
      - { name: enableDataPipeline, method: POST, description: Enable a pipeline., outputRawFormat: json, inputParameters: [{ name: body, in: body, type: object, required: true }] }
    - name: disable-data-pipeline
      path: /viam.app.datapipelines.v1.DataPipelinesService/DisableDataPipeline
      operations:
      - { name: disableDataPipeline, method: POST, description: Disable a pipeline., outputRawFormat: json, inputParameters: [{ name: body, in: body, type: object, required: true }] }
    - name: delete-data-pipeline
      path: /viam.app.datapipelines.v1.DataPipelinesService/DeleteDataPipeline
      operations:
      - { name: deleteDataPipeline, method: POST, description: Delete a pipeline., outputRawFormat: json, inputParameters: [{ name: body, in: body, type: object, required: true }] }
    - name: list-data-pipeline-runs
      path: /viam.app.datapipelines.v1.DataPipelinesService/ListDataPipelineRuns
      operations:
      - { name: listDataPipelineRuns, method: POST, description: List pipeline runs., outputRawFormat: json, inputParameters: [{ name: body, in: body, type: object, required: true }] }
    authentication:
      type: apikey
      key: key
      value: '{{env.VIAM_API_KEY}}'
      placement: header
  exposes:
  - type: mcp
    namespace: data-pipelines-mcp
    port: 9090
    transport: http
    description: MCP adapter for data pipelines.
    tools:
    - { name: viam-list-pipelines, description: List pipelines., hints: { readOnly: true, destructive: false, idempotent: true }, call: data-pipelines.listDataPipelines, with: { body: tools.body } }
    - { name: viam-get-pipeline, description: Get a pipeline., hints: { readOnly: true, destructive: false, idempotent: true }, call: data-pipelines.getDataPipeline, with: { body: tools.body } }
    - { name: viam-create-pipeline, description: Create a pipeline., hints: { readOnly: false, destructive: false, idempotent: false }, call: data-pipelines.createDataPipeline, with: { body: tools.body } }
    - { name: viam-enable-pipeline, description: Enable a pipeline., hints: { readOnly: false, destructive: false, idempotent: true }, call: data-pipelines.enableDataPipeline, with: { body: tools.body } }
    - { name: viam-disable-pipeline, description: Disable a pipeline., hints: { readOnly: false, destructive: false, idempotent: true }, call: data-pipelines.disableDataPipeline, with: { body: tools.body } }
    - { name: viam-delete-pipeline, description: Delete a pipeline., hints: { readOnly: false, destructive: true, idempotent: true }, call: data-pipelines.deleteDataPipeline, with: { body: tools.body } }
    - { name: viam-list-pipeline-runs, description: List pipeline runs., hints: { readOnly: true, destructive: false, idempotent: true }, call: data-pipelines.listDataPipelineRuns, with: { body: tools.body } }