Viam Component — Base
Control any Viam mobile base component — MoveStraight, Spin, SetPower, SetVelocity, Stop.
Viam Component — Base is a Naftiko capability published by Viam, one of 27 capabilities the APIs.io network indexes for this provider. It bundles 5 operations.
The capability includes 5 state-changing operations. Lead operation: Move straight. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.
Tagged areas include Viam, Component, and Base.
naftiko: 1.0.0-alpha2
info:
label: Viam Component — Base
description: Control any Viam mobile base component — MoveStraight, Spin, SetPower, SetVelocity, Stop.
tags: [Viam, Component, Base]
created: '2026-05-25'
modified: '2026-05-25'
binds:
- namespace: env
keys:
VIAM_API_KEY: VIAM_API_KEY
VIAM_MACHINE_ADDRESS: VIAM_MACHINE_ADDRESS
capability:
consumes:
- type: http
namespace: component-base
baseUri: '{{env.VIAM_MACHINE_ADDRESS}}'
description: Viam BaseService.
resources:
- name: move-straight
path: /viam.component.base.v1.BaseService/MoveStraight
operations:
- { name: moveStraight, method: POST, description: Move straight., outputRawFormat: json, inputParameters: [{ name: body, in: body, type: object, required: true }] }
- name: spin
path: /viam.component.base.v1.BaseService/Spin
operations:
- { name: spin, method: POST, description: Spin in place., outputRawFormat: json, inputParameters: [{ name: body, in: body, type: object, required: true }] }
- name: set-power
path: /viam.component.base.v1.BaseService/SetPower
operations:
- { name: setPower, method: POST, description: Set linear/angular power., outputRawFormat: json, inputParameters: [{ name: body, in: body, type: object, required: true }] }
- name: set-velocity
path: /viam.component.base.v1.BaseService/SetVelocity
operations:
- { name: setVelocity, method: POST, description: Set linear/angular velocity., outputRawFormat: json, inputParameters: [{ name: body, in: body, type: object, required: true }] }
- name: stop
path: /viam.component.base.v1.BaseService/Stop
operations:
- { name: stop, method: POST, description: Stop the base., 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: component-base-mcp
port: 9090
transport: http
description: MCP adapter for base components.
tools:
- { name: viam-base-move-straight, description: Move straight., hints: { readOnly: false, destructive: false, idempotent: false }, call: component-base.moveStraight, with: { body: tools.body } }
- { name: viam-base-spin, description: Spin., hints: { readOnly: false, destructive: false, idempotent: false }, call: component-base.spin, with: { body: tools.body } }
- { name: viam-base-set-power, description: Set base power., hints: { readOnly: false, destructive: false, idempotent: true }, call: component-base.setPower, with: { body: tools.body } }
- { name: viam-base-set-velocity, description: Set base velocity., hints: { readOnly: false, destructive: false, idempotent: true }, call: component-base.setVelocity, with: { body: tools.body } }
- { name: viam-base-stop, description: Stop base., hints: { readOnly: false, destructive: true, idempotent: true }, call: component-base.stop, with: { body: tools.body } }