Viam · Capability

Viam Machine Management — Sessions

Manage viam-server client sessions and safety-timeout heartbeats.

Viam Machine Management — Sessions is a Naftiko capability published by Viam, one of 27 capabilities the APIs.io network indexes for this provider. It bundles 3 operations.

The capability includes 1 read-only operation and 2 state-changing operations. Lead operation: Start a session. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Viam, Machine, and Sessions.

Run with Naftiko ViamMachineSessions

MCP Tools

viam-start-session

Start a session.

viam-session-heartbeat

Send a heartbeat.

idempotent
viam-get-sessions

List sessions.

read-only idempotent

Capability Spec

machine-sessions.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Viam Machine Management — Sessions
  description: Manage viam-server client sessions and safety-timeout heartbeats.
  tags: [Viam, Machine, Sessions]
  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: machine-sessions
    baseUri: '{{env.VIAM_MACHINE_ADDRESS}}'
    description: Viam RobotService — session operations.
    resources:
    - name: start-session
      path: /viam.robot.v1.RobotService/StartSession
      operations:
      - { name: startSession, method: POST, description: Open a session with the machine., outputRawFormat: json, inputParameters: [{ name: body, in: body, type: object, required: true }] }
    - name: send-session-heartbeat
      path: /viam.robot.v1.RobotService/SendSessionHeartbeat
      operations:
      - { name: sendSessionHeartbeat, method: POST, description: Send a session heartbeat., outputRawFormat: json, inputParameters: [{ name: body, in: body, type: object, required: true }] }
    - name: get-sessions
      path: /viam.robot.v1.RobotService/GetSessions
      operations:
      - { name: getSessions, method: POST, description: List active sessions., 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: machine-sessions-mcp
    port: 9090
    transport: http
    description: MCP adapter for viam-server sessions.
    tools:
    - { name: viam-start-session, description: Start a session., hints: { readOnly: false, destructive: false, idempotent: false }, call: machine-sessions.startSession, with: { body: tools.body } }
    - { name: viam-session-heartbeat, description: Send a heartbeat., hints: { readOnly: false, destructive: false, idempotent: true }, call: machine-sessions.sendSessionHeartbeat, with: { body: tools.body } }
    - { name: viam-get-sessions, description: List sessions., hints: { readOnly: true, destructive: false, idempotent: true }, call: machine-sessions.getSessions, with: { body: tools.body } }