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 } }