Argo Workflows · Capability
Argo Workflows — SensorService
Argo Workflows — SensorService. 7 operations. Lead operation: SensorService. Self-contained Naftiko capability covering one Argo Workflows business surface.
What You Can Do
GET
Sensorservicelistsensors
— sensorservicelistsensors
/v1/api/v1/sensors/{namespace}
POST
Sensorservicecreatesensor
— sensorservicecreatesensor
/v1/api/v1/sensors/{namespace}
GET
Sensorservicegetsensor
— sensorservicegetsensor
/v1/api/v1/sensors/{namespace}/{name}
PUT
Sensorserviceupdatesensor
— sensorserviceupdatesensor
/v1/api/v1/sensors/{namespace}/{name}
DELETE
Sensorservicedeletesensor
— sensorservicedeletesensor
/v1/api/v1/sensors/{namespace}/{name}
GET
Sensorservicewatchsensors
— sensorservicewatchsensors
/v1/api/v1/stream/sensors/{namespace}
GET
Sensorservicesensorslogs
— sensorservicesensorslogs
/v1/api/v1/stream/sensors/{namespace}/logs
MCP Tools
sensorservicelistsensors
sensorservicelistsensors
read-only
idempotent
sensorservicecreatesensor
sensorservicecreatesensor
sensorservicegetsensor
sensorservicegetsensor
read-only
idempotent
sensorserviceupdatesensor
sensorserviceupdatesensor
idempotent
sensorservicedeletesensor
sensorservicedeletesensor
idempotent
sensorservicewatchsensors
sensorservicewatchsensors
read-only
idempotent
sensorservicesensorslogs
sensorservicesensorslogs
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Argo Workflows — SensorService
description: 'Argo Workflows — SensorService. 7 operations. Lead operation: SensorService. Self-contained Naftiko capability
covering one Argo Workflows business surface.'
tags:
- Argo Workflows
- SensorService
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
ARGO_WORKFLOWS_API_KEY: ARGO_WORKFLOWS_API_KEY
capability:
consumes:
- type: http
namespace: argo-workflows-sensorservice
baseUri: http://localhost:2746
description: Argo Workflows — SensorService business capability. Self-contained, no shared references.
resources:
- name: api-v1-sensors-namespace
path: /api/v1/sensors/{namespace}
operations:
- name: sensorservicelistsensors
method: GET
description: ''
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: namespace
in: path
type: string
required: true
- name: listOptions.labelSelector
in: query
type: string
description: A selector to restrict the list of returned objects by their labels.
- name: listOptions.fieldSelector
in: query
type: string
description: A selector to restrict the list of returned objects by their fields.
- name: listOptions.watch
in: query
type: boolean
description: Watch for changes to the described resources and return them as a stream of
- name: listOptions.allowWatchBookmarks
in: query
type: boolean
description: allowWatchBookmarks requests watch events with type "BOOKMARK".
- name: listOptions.resourceVersion
in: query
type: string
description: resourceVersion sets a constraint on what resource versions a request may be served from.
- name: listOptions.resourceVersionMatch
in: query
type: string
description: resourceVersionMatch determines how resourceVersion is applied to list calls.
- name: listOptions.timeoutSeconds
in: query
type: string
description: Timeout for the list/watch call.
- name: listOptions.limit
in: query
type: string
description: limit is a maximum number of responses to return for a list call. If more items exist, the
- name: listOptions.continue
in: query
type: string
description: The continue option should be set when retrieving more results from the server. Since this value is
- name: listOptions.sendInitialEvents
in: query
type: boolean
description: '`sendInitialEvents=true` may be set together with `watch=true`.'
- name: sensorservicecreatesensor
method: POST
description: ''
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: namespace
in: path
type: string
required: true
- name: body
in: body
type: string
required: true
- name: api-v1-sensors-namespace-name
path: /api/v1/sensors/{namespace}/{name}
operations:
- name: sensorservicegetsensor
method: GET
description: ''
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: namespace
in: path
type: string
required: true
- name: name
in: path
type: string
required: true
- name: getOptions.resourceVersion
in: query
type: string
description: resourceVersion sets a constraint on what resource versions a request may be served from.
- name: sensorserviceupdatesensor
method: PUT
description: ''
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: namespace
in: path
type: string
required: true
- name: name
in: path
type: string
required: true
- name: body
in: body
type: string
required: true
- name: sensorservicedeletesensor
method: DELETE
description: ''
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: namespace
in: path
type: string
required: true
- name: name
in: path
type: string
required: true
- name: deleteOptions.gracePeriodSeconds
in: query
type: string
description: The duration in seconds before the object should be deleted. Value must be non-negative integer.
- name: deleteOptions.preconditions.uid
in: query
type: string
description: Specifies the target UID.
- name: deleteOptions.preconditions.resourceVersion
in: query
type: string
description: Specifies the target ResourceVersion
- name: deleteOptions.orphanDependents
in: query
type: boolean
description: 'Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7.'
- name: deleteOptions.propagationPolicy
in: query
type: string
description: Whether and how garbage collection will be performed.
- name: deleteOptions.dryRun
in: query
type: array
description: When present, indicates that modifications should not be
- name: deleteOptions.ignoreStoreReadErrorWithClusterBreakingPotential
in: query
type: boolean
description: if set to true, it will trigger an unsafe deletion of the resource in
- name: api-v1-stream-sensors-namespace
path: /api/v1/stream/sensors/{namespace}
operations:
- name: sensorservicewatchsensors
method: GET
description: ''
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: namespace
in: path
type: string
required: true
- name: listOptions.labelSelector
in: query
type: string
description: A selector to restrict the list of returned objects by their labels.
- name: listOptions.fieldSelector
in: query
type: string
description: A selector to restrict the list of returned objects by their fields.
- name: listOptions.watch
in: query
type: boolean
description: Watch for changes to the described resources and return them as a stream of
- name: listOptions.allowWatchBookmarks
in: query
type: boolean
description: allowWatchBookmarks requests watch events with type "BOOKMARK".
- name: listOptions.resourceVersion
in: query
type: string
description: resourceVersion sets a constraint on what resource versions a request may be served from.
- name: listOptions.resourceVersionMatch
in: query
type: string
description: resourceVersionMatch determines how resourceVersion is applied to list calls.
- name: listOptions.timeoutSeconds
in: query
type: string
description: Timeout for the list/watch call.
- name: listOptions.limit
in: query
type: string
description: limit is a maximum number of responses to return for a list call. If more items exist, the
- name: listOptions.continue
in: query
type: string
description: The continue option should be set when retrieving more results from the server. Since this value is
- name: listOptions.sendInitialEvents
in: query
type: boolean
description: '`sendInitialEvents=true` may be set together with `watch=true`.'
- name: api-v1-stream-sensors-namespace-logs
path: /api/v1/stream/sensors/{namespace}/logs
operations:
- name: sensorservicesensorslogs
method: GET
description: ''
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: namespace
in: path
type: string
required: true
- name: name
in: query
type: string
description: optional - only return entries for this sensor name.
- name: triggerName
in: query
type: string
description: optional - only return entries for this trigger.
- name: grep
in: query
type: string
description: option - only return entries where `msg` contains this regular expressions.
- name: podLogOptions.container
in: query
type: string
description: The container for which to stream logs. Defaults to only container if there is one container in the
pod.
- name: podLogOptions.follow
in: query
type: boolean
description: Follow the log stream of the pod. Defaults to false.
- name: podLogOptions.previous
in: query
type: boolean
description: Return previous terminated container logs. Defaults to false.
- name: podLogOptions.sinceSeconds
in: query
type: string
description: A relative time in seconds before the current time from which to show logs. If this value
- name: podLogOptions.sinceTime.seconds
in: query
type: string
description: Represents seconds of UTC time since Unix epoch
- name: podLogOptions.sinceTime.nanos
in: query
type: integer
description: Non-negative fractions of a second at nanosecond resolution. Negative
- name: podLogOptions.timestamps
in: query
type: boolean
description: If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line
- name: podLogOptions.tailLines
in: query
type: string
description: If set, the number of lines from the end of the logs to show. If not specified,
- name: podLogOptions.limitBytes
in: query
type: string
description: If set, the number of bytes to read from the server before terminating the
- name: podLogOptions.insecureSkipTLSVerifyBackend
in: query
type: boolean
description: insecureSkipTLSVerifyBackend indicates that the apiserver should not confirm the validity of the
- name: podLogOptions.stream
in: query
type: string
description: Specify which container log stream to return to the client.
exposes:
- type: rest
namespace: argo-workflows-sensorservice-rest
port: 8080
description: REST adapter for Argo Workflows — SensorService. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/api/v1/sensors/{namespace}
name: api-v1-sensors-namespace
description: REST surface for api-v1-sensors-namespace.
operations:
- method: GET
name: sensorservicelistsensors
description: sensorservicelistsensors
call: argo-workflows-sensorservice.sensorservicelistsensors
with:
namespace: rest.namespace
listOptions.labelSelector: rest.listOptions.labelSelector
listOptions.fieldSelector: rest.listOptions.fieldSelector
listOptions.watch: rest.listOptions.watch
listOptions.allowWatchBookmarks: rest.listOptions.allowWatchBookmarks
listOptions.resourceVersion: rest.listOptions.resourceVersion
listOptions.resourceVersionMatch: rest.listOptions.resourceVersionMatch
listOptions.timeoutSeconds: rest.listOptions.timeoutSeconds
listOptions.limit: rest.listOptions.limit
listOptions.continue: rest.listOptions.continue
listOptions.sendInitialEvents: rest.listOptions.sendInitialEvents
outputParameters:
- type: object
mapping: $.
- method: POST
name: sensorservicecreatesensor
description: sensorservicecreatesensor
call: argo-workflows-sensorservice.sensorservicecreatesensor
with:
namespace: rest.namespace
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/api/v1/sensors/{namespace}/{name}
name: api-v1-sensors-namespace-name
description: REST surface for api-v1-sensors-namespace-name.
operations:
- method: GET
name: sensorservicegetsensor
description: sensorservicegetsensor
call: argo-workflows-sensorservice.sensorservicegetsensor
with:
namespace: rest.namespace
name: rest.name
getOptions.resourceVersion: rest.getOptions.resourceVersion
outputParameters:
- type: object
mapping: $.
- method: PUT
name: sensorserviceupdatesensor
description: sensorserviceupdatesensor
call: argo-workflows-sensorservice.sensorserviceupdatesensor
with:
namespace: rest.namespace
name: rest.name
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: sensorservicedeletesensor
description: sensorservicedeletesensor
call: argo-workflows-sensorservice.sensorservicedeletesensor
with:
namespace: rest.namespace
name: rest.name
deleteOptions.gracePeriodSeconds: rest.deleteOptions.gracePeriodSeconds
deleteOptions.preconditions.uid: rest.deleteOptions.preconditions.uid
deleteOptions.preconditions.resourceVersion: rest.deleteOptions.preconditions.resourceVersion
deleteOptions.orphanDependents: rest.deleteOptions.orphanDependents
deleteOptions.propagationPolicy: rest.deleteOptions.propagationPolicy
deleteOptions.dryRun: rest.deleteOptions.dryRun
deleteOptions.ignoreStoreReadErrorWithClusterBreakingPotential: rest.deleteOptions.ignoreStoreReadErrorWithClusterBreakingPotential
outputParameters:
- type: object
mapping: $.
- path: /v1/api/v1/stream/sensors/{namespace}
name: api-v1-stream-sensors-namespace
description: REST surface for api-v1-stream-sensors-namespace.
operations:
- method: GET
name: sensorservicewatchsensors
description: sensorservicewatchsensors
call: argo-workflows-sensorservice.sensorservicewatchsensors
with:
namespace: rest.namespace
listOptions.labelSelector: rest.listOptions.labelSelector
listOptions.fieldSelector: rest.listOptions.fieldSelector
listOptions.watch: rest.listOptions.watch
listOptions.allowWatchBookmarks: rest.listOptions.allowWatchBookmarks
listOptions.resourceVersion: rest.listOptions.resourceVersion
listOptions.resourceVersionMatch: rest.listOptions.resourceVersionMatch
listOptions.timeoutSeconds: rest.listOptions.timeoutSeconds
listOptions.limit: rest.listOptions.limit
listOptions.continue: rest.listOptions.continue
listOptions.sendInitialEvents: rest.listOptions.sendInitialEvents
outputParameters:
- type: object
mapping: $.
- path: /v1/api/v1/stream/sensors/{namespace}/logs
name: api-v1-stream-sensors-namespace-logs
description: REST surface for api-v1-stream-sensors-namespace-logs.
operations:
- method: GET
name: sensorservicesensorslogs
description: sensorservicesensorslogs
call: argo-workflows-sensorservice.sensorservicesensorslogs
with:
namespace: rest.namespace
name: rest.name
triggerName: rest.triggerName
grep: rest.grep
podLogOptions.container: rest.podLogOptions.container
podLogOptions.follow: rest.podLogOptions.follow
podLogOptions.previous: rest.podLogOptions.previous
podLogOptions.sinceSeconds: rest.podLogOptions.sinceSeconds
podLogOptions.sinceTime.seconds: rest.podLogOptions.sinceTime.seconds
podLogOptions.sinceTime.nanos: rest.podLogOptions.sinceTime.nanos
podLogOptions.timestamps: rest.podLogOptions.timestamps
podLogOptions.tailLines: rest.podLogOptions.tailLines
podLogOptions.limitBytes: rest.podLogOptions.limitBytes
podLogOptions.insecureSkipTLSVerifyBackend: rest.podLogOptions.insecureSkipTLSVerifyBackend
podLogOptions.stream: rest.podLogOptions.stream
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: argo-workflows-sensorservice-mcp
port: 9090
transport: http
description: MCP adapter for Argo Workflows — SensorService. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: sensorservicelistsensors
description: sensorservicelistsensors
hints:
readOnly: true
destructive: false
idempotent: true
call: argo-workflows-sensorservice.sensorservicelistsensors
with:
namespace: tools.namespace
listOptions.labelSelector: tools.listOptions.labelSelector
listOptions.fieldSelector: tools.listOptions.fieldSelector
listOptions.watch: tools.listOptions.watch
listOptions.allowWatchBookmarks: tools.listOptions.allowWatchBookmarks
listOptions.resourceVersion: tools.listOptions.resourceVersion
listOptions.resourceVersionMatch: tools.listOptions.resourceVersionMatch
listOptions.timeoutSeconds: tools.listOptions.timeoutSeconds
listOptions.limit: tools.listOptions.limit
listOptions.continue: tools.listOptions.continue
listOptions.sendInitialEvents: tools.listOptions.sendInitialEvents
outputParameters:
- type: object
mapping: $.
- name: sensorservicecreatesensor
description: sensorservicecreatesensor
hints:
readOnly: false
destructive: false
idempotent: false
call: argo-workflows-sensorservice.sensorservicecreatesensor
with:
namespace: tools.namespace
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: sensorservicegetsensor
description: sensorservicegetsensor
hints:
readOnly: true
destructive: false
idempotent: true
call: argo-workflows-sensorservice.sensorservicegetsensor
with:
namespace: tools.namespace
name: tools.name
getOptions.resourceVersion: tools.getOptions.resourceVersion
outputParameters:
- type: object
mapping: $.
- name: sensorserviceupdatesensor
description: sensorserviceupdatesensor
hints:
readOnly: false
destructive: false
idempotent: true
call: argo-workflows-sensorservice.sensorserviceupdatesensor
with:
namespace: tools.namespace
name: tools.name
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: sensorservicedeletesensor
description: sensorservicedeletesensor
hints:
readOnly: false
destructive: true
idempotent: true
call: argo-workflows-sensorservice.sensorservicedeletesensor
with:
namespace: tools.namespace
name: tools.name
deleteOptions.gracePeriodSeconds: tools.deleteOptions.gracePeriodSeconds
deleteOptions.preconditions.uid: tools.deleteOptions.preconditions.uid
deleteOptions.preconditions.resourceVersion: tools.deleteOptions.preconditions.resourceVersion
deleteOptions.orphanDependents: tools.deleteOptions.orphanDependents
deleteOptions.propagationPolicy: tools.deleteOptions.propagationPolicy
deleteOptions.dryRun: tools.deleteOptions.dryRun
deleteOptions.ignoreStoreReadErrorWithClusterBreakingPotential: tools.deleteOptions.ignoreStoreReadErrorWithClusterBreakingPotential
outputParameters:
- type: object
mapping: $.
- name: sensorservicewatchsensors
description: sensorservicewatchsensors
hints:
readOnly: true
destructive: false
idempotent: true
call: argo-workflows-sensorservice.sensorservicewatchsensors
with:
namespace: tools.namespace
listOptions.labelSelector: tools.listOptions.labelSelector
listOptions.fieldSelector: tools.listOptions.fieldSelector
listOptions.watch: tools.listOptions.watch
listOptions.allowWatchBookmarks: tools.listOptions.allowWatchBookmarks
listOptions.resourceVersion: tools.listOptions.resourceVersion
listOptions.resourceVersionMatch: tools.listOptions.resourceVersionMatch
listOptions.timeoutSeconds: tools.listOptions.timeoutSeconds
listOptions.limit: tools.listOptions.limit
listOptions.continue: tools.listOptions.continue
listOptions.sendInitialEvents: tools.listOptions.sendInitialEvents
outputParameters:
- type: object
mapping: $.
- name: sensorservicesensorslogs
description: sensorservicesensorslogs
hints:
readOnly: true
destructive: false
idempotent: true
call: argo-workflows-sensorservice.sensorservicesensorslogs
with:
namespace: tools.namespace
name: tools.name
triggerName: tools.triggerName
grep: tools.grep
podLogOptions.container: tools.podLogOptions.container
podLogOptions.follow: tools.podLogOptions.follow
podLogOptions.previous: tools.podLogOptions.previous
podLogOptions.sinceSeconds: tools.podLogOptions.sinceSeconds
podLogOptions.sinceTime.seconds: tools.podLogOptions.sinceTime.seconds
podLogOptions.sinceTime.nanos: tools.podLogOptions.sinceTime.nanos
podLogOptions.timestamps: tools.podLogOptions.timestamps
podLogOptions.tailLines: tools.podLogOptions.tailLines
podLogOptions.limitBytes: tools.podLogOptions.limitBytes
podLogOptions.insecureSkipTLSVerifyBackend: tools.podLogOptions.insecureSkipTLSVerifyBackend
podLogOptions.stream: tools.podLogOptions.stream
outputParameters:
- type: object
mapping: $.