Adafruit IO · Capability

Adafruit IO REST API — Dashboard Blocks

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.

Adafruit IO REST API — Dashboard Blocks is a Naftiko capability published by Adafruit IO, one of 9 capabilities the APIs.io network indexes for this provider. It bundles 5 operations.

The capability includes 2 read-only operations and 3 state-changing operations. Lead operation: List All Blocks on a Dashboard. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Adafruit IO, Blocks, Dashboards, and IoT.

Run with Naftiko Adafruit IOBlocksDashboardsIoT

MCP Tools

adafruit-io-list-blocks

List All Blocks on a Dashboard

read-only idempotent
adafruit-io-create-block

Create a New Block on a Dashboard

adafruit-io-get-block

Get a Block by ID

read-only idempotent
adafruit-io-update-block

Replace a Block

idempotent
adafruit-io-delete-block

Delete a Block

idempotent

Capability Spec

blocks.yaml Raw ↑
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: $.