naftiko: 1.0.0-alpha2 info: label: Adafruit IO REST API — Dashboard Blocks description: 'Adafruit IO Dashboard Blocks — create, position, and configure visualization blocks (gauges, charts, toggles, sliders, maps, color pickers, indicators, etc.) on a dashboard. Self-contained Naftiko capability.' tags: - Adafruit IO - Blocks - Dashboards - 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-blocks baseUri: https://io.adafruit.com/api/v2 description: Adafruit IO Blocks REST surface. resources: - name: blocks path: /{username}/dashboards/{dashboard_id}/blocks operations: - name: listblocks method: GET description: List All Blocks on a Dashboard outputRawFormat: json outputParameters: - name: result type: array value: $. - name: createblock method: POST description: Create a New Block on a Dashboard outputRawFormat: json inputParameters: - name: body in: body type: object required: true description: 'Block payload: name, visual_type, column, row, size_x, size_y, block_feeds.' outputParameters: - name: result type: object value: $. - name: blocks-id path: /{username}/dashboards/{dashboard_id}/blocks/{id} operations: - name: getblock method: GET description: Get a Block by ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateblock method: PUT description: Replace a Block (PUT) outputRawFormat: json inputParameters: - name: body in: body type: object required: true outputParameters: - name: result type: object value: $. - name: patchblock method: PATCH description: Partially Update a Block outputRawFormat: json inputParameters: - name: body in: body type: object required: true outputParameters: - name: result type: object value: $. - name: deleteblock method: DELETE description: Delete a Block 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-blocks-mcp port: 9090 transport: http description: MCP adapter for Adafruit IO Blocks. tools: - name: adafruit-io-list-blocks description: List All Blocks on a Dashboard hints: readOnly: true destructive: false idempotent: true call: adafruit-io-blocks.listblocks outputParameters: - type: array mapping: $. - name: adafruit-io-create-block description: Create a New Block on a Dashboard hints: readOnly: false destructive: false idempotent: false call: adafruit-io-blocks.createblock with: body: tools.body outputParameters: - type: object mapping: $. - name: adafruit-io-get-block description: Get a Block by ID hints: readOnly: true destructive: false idempotent: true call: adafruit-io-blocks.getblock outputParameters: - type: object mapping: $. - name: adafruit-io-update-block description: Replace a Block hints: readOnly: false destructive: false idempotent: true call: adafruit-io-blocks.updateblock with: body: tools.body outputParameters: - type: object mapping: $. - name: adafruit-io-delete-block description: Delete a Block hints: readOnly: false destructive: true idempotent: true call: adafruit-io-blocks.deleteblock outputParameters: - type: object mapping: $.