naftiko: 1.0.0-alpha2 info: label: Adafruit IO REST API — Tokens description: 'Adafruit IO Tokens — manage scoped, revocable personal access tokens that grant API access without exposing the main account API key. Self-contained Naftiko capability.' tags: - Adafruit IO - Tokens - Security - IoT created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: ADAFRUIT_IO_USERNAME: ADAFRUIT_IO_USERNAME ADAFRUIT_IO_KEY: ADAFRUIT_IO_KEY capability: consumes: - type: http namespace: adafruit-io-tokens baseUri: https://io.adafruit.com/api/v2 description: Adafruit IO Tokens REST surface. resources: - name: tokens path: /{username}/tokens operations: - name: listtokens method: GET description: List All Tokens outputRawFormat: json outputParameters: - name: result type: array value: $. - name: createtoken method: POST description: Create a New Token outputRawFormat: json inputParameters: - name: body in: body type: object required: true outputParameters: - name: result type: object value: $. - name: tokens-id path: /{username}/tokens/{id} operations: - name: gettoken method: GET description: Get a Token by ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatetoken method: PUT description: Replace a Token (PUT) outputRawFormat: json inputParameters: - name: body in: body type: object required: true outputParameters: - name: result type: object value: $. - name: deletetoken method: DELETE description: Delete (Revoke) a Token outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: apikey key: X-AIO-Key value: '{{env.ADAFRUIT_IO_KEY}}' placement: header exposes: - type: mcp namespace: adafruit-io-tokens-mcp port: 9090 transport: http description: MCP adapter for Adafruit IO Tokens. tools: - name: adafruit-io-list-tokens description: List All Tokens hints: readOnly: true destructive: false idempotent: true call: adafruit-io-tokens.listtokens outputParameters: - type: array mapping: $. - name: adafruit-io-create-token description: Create a New Token hints: readOnly: false destructive: false idempotent: false call: adafruit-io-tokens.createtoken with: body: tools.body outputParameters: - type: object mapping: $. - name: adafruit-io-get-token description: Get a Token by ID hints: readOnly: true destructive: false idempotent: true call: adafruit-io-tokens.gettoken outputParameters: - type: object mapping: $. - name: adafruit-io-delete-token description: Revoke a Token hints: readOnly: false destructive: true idempotent: true call: adafruit-io-tokens.deletetoken outputParameters: - type: object mapping: $.