Viam · Capability

Viam SLAM Service — Mapping

Localization and mapping — GetPosition, GetPointCloudMap, GetInternalState.

Viam SLAM Service — Mapping is a Naftiko capability published by Viam, one of 27 capabilities the APIs.io network indexes for this provider. It bundles 4 operations.

The capability includes 4 read-only operations. Lead operation: Get pose in map. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Viam, SLAM, and Mapping.

Run with Naftiko ViamSLAMMapping

MCP Tools

viam-slam-position

Get pose in map.

read-only idempotent
viam-slam-point-cloud

Stream point cloud.

read-only idempotent
viam-slam-internal-state

Stream internal state.

read-only idempotent
viam-slam-properties

SLAM properties.

read-only idempotent

Capability Spec

slam-mapping.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Viam SLAM Service — Mapping
  description: Localization and mapping — GetPosition, GetPointCloudMap, GetInternalState.
  tags: [Viam, SLAM, Mapping]
  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: slam-mapping
    baseUri: '{{env.VIAM_MACHINE_ADDRESS}}'
    description: Viam SLAMService.
    resources:
    - name: get-position
      path: /viam.service.slam.v1.SLAMService/GetPosition
      operations:
      - { name: getPosition, method: POST, description: Get pose within map., outputRawFormat: json, inputParameters: [{ name: body, in: body, type: object, required: true }] }
    - name: get-point-cloud-map
      path: /viam.service.slam.v1.SLAMService/GetPointCloudMap
      operations:
      - { name: getPointCloudMap, method: POST, description: Stream the SLAM point cloud map., outputRawFormat: json, inputParameters: [{ name: body, in: body, type: object, required: true }] }
    - name: get-internal-state
      path: /viam.service.slam.v1.SLAMService/GetInternalState
      operations:
      - { name: getInternalState, method: POST, description: Stream the SLAM internal state., outputRawFormat: json, inputParameters: [{ name: body, in: body, type: object, required: true }] }
    - name: get-properties
      path: /viam.service.slam.v1.SLAMService/GetProperties
      operations:
      - { name: getProperties, method: POST, description: SLAM service properties., 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: slam-mapping-mcp
    port: 9090
    transport: http
    description: MCP adapter for SLAM.
    tools:
    - { name: viam-slam-position, description: Get pose in map., hints: { readOnly: true, destructive: false, idempotent: true }, call: slam-mapping.getPosition, with: { body: tools.body } }
    - { name: viam-slam-point-cloud, description: Stream point cloud., hints: { readOnly: true, destructive: false, idempotent: true }, call: slam-mapping.getPointCloudMap, with: { body: tools.body } }
    - { name: viam-slam-internal-state, description: Stream internal state., hints: { readOnly: true, destructive: false, idempotent: true }, call: slam-mapping.getInternalState, with: { body: tools.body } }
    - { name: viam-slam-properties, description: SLAM properties., hints: { readOnly: true, destructive: false, idempotent: true }, call: slam-mapping.getProperties, with: { body: tools.body } }