naftiko: 1.0.0-alpha2 info: label: Golioth Management API — OTA Firmware description: Golioth Management API — OTA Firmware. Upload firmware artifacts, package them into releases, and roll out updates to devices or cohorts. Self-contained Naftiko capability. tags: - Golioth - OTA - Firmware - Releases created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: GOLIOTH_API_KEY: GOLIOTH_API_KEY capability: consumes: - type: http namespace: management-ota baseUri: https://api.golioth.io description: Golioth Management API — OTA Firmware business capability. resources: - name: v1-artifacts path: /v1/projects/{projectId}/artifacts operations: - name: listArtifacts method: GET description: Golioth List Firmware Artifacts outputRawFormat: json inputParameters: - name: projectId in: path type: string required: true outputParameters: - name: result type: object value: $. - name: v1-artifacts-by-id path: /v1/projects/{projectId}/artifacts/{artifactId} operations: - name: getArtifact method: GET description: Golioth Get Firmware Artifact outputRawFormat: json inputParameters: - name: projectId in: path type: string required: true - name: artifactId in: path type: string required: true outputParameters: - name: result type: object value: $. - name: deleteArtifact method: DELETE description: Golioth Delete Firmware Artifact outputRawFormat: json inputParameters: - name: projectId in: path type: string required: true - name: artifactId in: path type: string required: true outputParameters: - name: result type: object value: $. - name: v1-releases path: /v1/projects/{projectId}/releases operations: - name: listReleases method: GET description: Golioth List Releases outputRawFormat: json inputParameters: - name: projectId in: path type: string required: true outputParameters: - name: result type: object value: $. - name: createRelease method: POST description: Golioth Create Release outputRawFormat: json inputParameters: - name: projectId in: path type: string required: true - name: body in: body type: object required: true outputParameters: - name: result type: object value: $. - name: v1-releases-by-id path: /v1/projects/{projectId}/releases/{releaseId} operations: - name: getRelease method: GET description: Golioth Get Release outputRawFormat: json inputParameters: - name: projectId in: path type: string required: true - name: releaseId in: path type: string required: true outputParameters: - name: result type: object value: $. - name: updateRelease method: PATCH description: Golioth Update Release outputRawFormat: json inputParameters: - name: projectId in: path type: string required: true - name: releaseId in: path type: string required: true - name: body in: body type: object required: true outputParameters: - name: result type: object value: $. - name: deleteRelease method: DELETE description: Golioth Delete Release outputRawFormat: json inputParameters: - name: projectId in: path type: string required: true - name: releaseId in: path type: string required: true outputParameters: - name: result type: object value: $. authentication: type: apikey key: x-api-key value: '{{env.GOLIOTH_API_KEY}}' placement: header exposes: - type: mcp namespace: management-ota-mcp port: 9090 transport: http description: MCP adapter for Golioth OTA Firmware capability. tools: - name: golioth-list-artifacts description: Golioth List Firmware Artifacts hints: readOnly: true destructive: false idempotent: true call: management-ota.listArtifacts with: projectId: tools.projectId outputParameters: - type: object mapping: $. - name: golioth-get-artifact description: Golioth Get Firmware Artifact hints: readOnly: true destructive: false idempotent: true call: management-ota.getArtifact with: projectId: tools.projectId artifactId: tools.artifactId outputParameters: - type: object mapping: $. - name: golioth-delete-artifact description: Golioth Delete Firmware Artifact hints: readOnly: false destructive: true idempotent: true call: management-ota.deleteArtifact with: projectId: tools.projectId artifactId: tools.artifactId outputParameters: - type: object mapping: $. - name: golioth-list-releases description: Golioth List Releases hints: readOnly: true destructive: false idempotent: true call: management-ota.listReleases with: projectId: tools.projectId outputParameters: - type: object mapping: $. - name: golioth-create-release description: Golioth Create Release hints: readOnly: false destructive: false idempotent: false call: management-ota.createRelease with: projectId: tools.projectId body: tools.body outputParameters: - type: object mapping: $.