Viam · Capability

Viam Fleet Management — Machines

Manage Viam machines (robots) and their parts (viam-server processes).

Viam Fleet Management — Machines 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 2 read-only operations and 3 state-changing operations. Lead operation: List machines. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Viam, Fleet, and Machines.

Run with Naftiko ViamFleetMachines

MCP Tools

viam-list-machines

List machines.

read-only idempotent
viam-get-machine

Get a machine.

read-only idempotent
viam-create-machine

Create a machine.

viam-delete-machine

Delete a machine.

idempotent
viam-restart-machine-part

Schedule a restart for a machine part.

Capability Spec

fleet-machines.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Viam Fleet Management — Machines
  description: Manage Viam machines (robots) and their parts (viam-server processes).
  tags: [Viam, Fleet, Machines]
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    VIAM_API_KEY: VIAM_API_KEY
capability:
  consumes:
  - type: http
    namespace: fleet-machines
    baseUri: https://app.viam.com
    description: Viam AppService — machine operations.
    resources:
    - name: list-robots
      path: /viam.app.v1.AppService/ListRobots
      operations:
      - { name: listRobots, method: POST, description: List machines in a location., outputRawFormat: json, inputParameters: [{ name: body, in: body, type: object, required: true }] }
    - name: get-robot
      path: /viam.app.v1.AppService/GetRobot
      operations:
      - { name: getRobot, method: POST, description: Retrieve a machine by id., outputRawFormat: json, inputParameters: [{ name: body, in: body, type: object, required: true }] }
    - name: new-robot
      path: /viam.app.v1.AppService/NewRobot
      operations:
      - { name: newRobot, method: POST, description: Create a new machine., outputRawFormat: json, inputParameters: [{ name: body, in: body, type: object, required: true }] }
    - name: update-robot
      path: /viam.app.v1.AppService/UpdateRobot
      operations:
      - { name: updateRobot, method: POST, description: Update a machine., outputRawFormat: json, inputParameters: [{ name: body, in: body, type: object, required: true }] }
    - name: delete-robot
      path: /viam.app.v1.AppService/DeleteRobot
      operations:
      - { name: deleteRobot, method: POST, description: Delete a machine., outputRawFormat: json, inputParameters: [{ name: body, in: body, type: object, required: true }] }
    - name: get-robot-parts
      path: /viam.app.v1.AppService/GetRobotParts
      operations:
      - { name: getRobotParts, method: POST, description: List parts for a machine., outputRawFormat: json, inputParameters: [{ name: body, in: body, type: object, required: true }] }
    - name: mark-part-for-restart
      path: /viam.app.v1.AppService/MarkPartForRestart
      operations:
      - { name: markPartForRestart, method: POST, description: Schedule a restart for a machine part., 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: fleet-machines-mcp
    port: 9090
    transport: http
    description: MCP adapter for Viam machine management.
    tools:
    - { name: viam-list-machines, description: List machines., hints: { readOnly: true, destructive: false, idempotent: true }, call: fleet-machines.listRobots, with: { body: tools.body } }
    - { name: viam-get-machine, description: Get a machine., hints: { readOnly: true, destructive: false, idempotent: true }, call: fleet-machines.getRobot, with: { body: tools.body } }
    - { name: viam-create-machine, description: Create a machine., hints: { readOnly: false, destructive: false, idempotent: false }, call: fleet-machines.newRobot, with: { body: tools.body } }
    - { name: viam-delete-machine, description: Delete a machine., hints: { readOnly: false, destructive: true, idempotent: true }, call: fleet-machines.deleteRobot, with: { body: tools.body } }
    - { name: viam-restart-machine-part, description: Schedule a restart for a machine part., hints: { readOnly: false, destructive: false, idempotent: false }, call: fleet-machines.markPartForRestart, with: { body: tools.body } }