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 } }