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