Tomorrow.io · Capability

Tomorrow.io Weather API — Alerts

Alerts surface of the Tomorrow.io Weather API. 10 operations. Lead operation: Tomorrow.io List Alerts. Self-contained Naftiko capability covering one Tomorrow.io business surface.

Run with Naftiko Tomorrow.ioWeatherAlerts

What You Can Do

GET
Listalerts — Tomorrow.io List Alerts
/v1/alerts
POST
Createalert — Tomorrow.io Create Alert
/v1/alerts
GET
Getalert — Tomorrow.io Get Alert
/v1/alerts/{alertId}
PUT
Updatealert — Tomorrow.io Update Alert
/v1/alerts/{alertId}
DELETE
Deletealert — Tomorrow.io Delete Alert
/v1/alerts/{alertId}
GET
Listalertlocations — Tomorrow.io List Alert Locations
/v1/alerts/{alertId}/locations
POST
Linkalertlocations — Tomorrow.io Link Alert Locations
/v1/alerts/{alertId}/locations/link
POST
Unlinkalertlocations — Tomorrow.io Unlink Alert Locations
/v1/alerts/{alertId}/locations/unlink
POST
Activatealert — Tomorrow.io Activate Alert
/v1/alerts/{alertId}/activate
POST
Deactivatealert — Tomorrow.io Deactivate Alert
/v1/alerts/{alertId}/deactivate

MCP Tools

io-list-alerts

Tomorrow.io List Alerts

read-only idempotent
io-create-alert

Tomorrow.io Create Alert

io-get-alert

Tomorrow.io Get Alert

read-only idempotent
io-update-alert

Tomorrow.io Update Alert

idempotent
io-delete-alert

Tomorrow.io Delete Alert

idempotent
io-list-alert-locations

Tomorrow.io List Alert Locations

read-only idempotent
io-link-alert-locations

Tomorrow.io Link Alert Locations

io-unlink-alert-locations

Tomorrow.io Unlink Alert Locations

io-activate-alert

Tomorrow.io Activate Alert

io-deactivate-alert

Tomorrow.io Deactivate Alert

Capability Spec

tomorrow-alerts.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Tomorrow.io Weather API — Alerts
  description: 'Alerts surface of the Tomorrow.io Weather API. 10 operations. Lead operation: Tomorrow.io List Alerts. Self-contained Naftiko capability covering one Tomorrow.io business surface.'
  tags:
  - Tomorrow.io
  - Weather
  - Alerts
  created: '2026-05-30'
  modified: '2026-05-30'
binds:
- namespace: env
  keys:
    TOMORROW_API_KEY: TOMORROW_API_KEY
capability:
  consumes:
  - type: http
    namespace: tomorrow-alerts
    baseUri: https://api.tomorrow.io/v4
    description: Tomorrow.io Weather API — Alerts business capability. Self-contained, no shared references.
    authentication:
      type: apikey
      key: apikey
      value: '{{env.TOMORROW_API_KEY}}'
      placement: query
    resources:
    - name: alerts
      path: /alerts
      operations:
      - name: listAlerts
        method: GET
        description: Tomorrow.io List Alerts
        inputParameters: []
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createAlert
        method: POST
        description: Tomorrow.io Create Alert
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
          description: Request body payload.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: alerts-alert-id
      path: /alerts/{alertId}
      operations:
      - name: getAlert
        method: GET
        description: Tomorrow.io Get Alert
        inputParameters:
        - name: alertId
          in: path
          type: string
          required: true
          description: alertId
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateAlert
        method: PUT
        description: Tomorrow.io Update Alert
        inputParameters:
        - name: alertId
          in: path
          type: string
          required: true
          description: alertId
        - name: body
          in: body
          type: object
          required: true
          description: Request body payload.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteAlert
        method: DELETE
        description: Tomorrow.io Delete Alert
        inputParameters:
        - name: alertId
          in: path
          type: string
          required: true
          description: alertId
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: alerts-alert-id-locations
      path: /alerts/{alertId}/locations
      operations:
      - name: listAlertLocations
        method: GET
        description: Tomorrow.io List Alert Locations
        inputParameters:
        - name: alertId
          in: path
          type: string
          required: true
          description: alertId
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: alerts-alert-id-locations-link
      path: /alerts/{alertId}/locations/link
      operations:
      - name: linkAlertLocations
        method: POST
        description: Tomorrow.io Link Alert Locations
        inputParameters:
        - name: alertId
          in: path
          type: string
          required: true
          description: alertId
        - name: body
          in: body
          type: object
          required: true
          description: Request body payload.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: alerts-alert-id-locations-unlink
      path: /alerts/{alertId}/locations/unlink
      operations:
      - name: unlinkAlertLocations
        method: POST
        description: Tomorrow.io Unlink Alert Locations
        inputParameters:
        - name: alertId
          in: path
          type: string
          required: true
          description: alertId
        - name: body
          in: body
          type: object
          required: true
          description: Request body payload.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: alerts-alert-id-activate
      path: /alerts/{alertId}/activate
      operations:
      - name: activateAlert
        method: POST
        description: Tomorrow.io Activate Alert
        inputParameters:
        - name: alertId
          in: path
          type: string
          required: true
          description: alertId
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: alerts-alert-id-deactivate
      path: /alerts/{alertId}/deactivate
      operations:
      - name: deactivateAlert
        method: POST
        description: Tomorrow.io Deactivate Alert
        inputParameters:
        - name: alertId
          in: path
          type: string
          required: true
          description: alertId
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    namespace: tomorrow-alerts-rest
    port: 8080
    description: REST adapter for Tomorrow.io Weather API — Alerts. One Spectral-compliant resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/alerts
      name: alerts
      description: REST surface for alerts.
      operations:
      - method: GET
        name: listAlerts
        description: Tomorrow.io List Alerts
        call: tomorrow-alerts.listAlerts
        with: {}
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createAlert
        description: Tomorrow.io Create Alert
        call: tomorrow-alerts.createAlert
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/alerts/{alertId}
      name: alerts-alert-id
      description: REST surface for alerts-alert-id.
      operations:
      - method: GET
        name: getAlert
        description: Tomorrow.io Get Alert
        call: tomorrow-alerts.getAlert
        with:
          alertId: rest.alertId
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateAlert
        description: Tomorrow.io Update Alert
        call: tomorrow-alerts.updateAlert
        with:
          alertId: rest.alertId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteAlert
        description: Tomorrow.io Delete Alert
        call: tomorrow-alerts.deleteAlert
        with:
          alertId: rest.alertId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/alerts/{alertId}/locations
      name: alerts-alert-id-locations
      description: REST surface for alerts-alert-id-locations.
      operations:
      - method: GET
        name: listAlertLocations
        description: Tomorrow.io List Alert Locations
        call: tomorrow-alerts.listAlertLocations
        with:
          alertId: rest.alertId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/alerts/{alertId}/locations/link
      name: alerts-alert-id-locations-link
      description: REST surface for alerts-alert-id-locations-link.
      operations:
      - method: POST
        name: linkAlertLocations
        description: Tomorrow.io Link Alert Locations
        call: tomorrow-alerts.linkAlertLocations
        with:
          alertId: rest.alertId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/alerts/{alertId}/locations/unlink
      name: alerts-alert-id-locations-unlink
      description: REST surface for alerts-alert-id-locations-unlink.
      operations:
      - method: POST
        name: unlinkAlertLocations
        description: Tomorrow.io Unlink Alert Locations
        call: tomorrow-alerts.unlinkAlertLocations
        with:
          alertId: rest.alertId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/alerts/{alertId}/activate
      name: alerts-alert-id-activate
      description: REST surface for alerts-alert-id-activate.
      operations:
      - method: POST
        name: activateAlert
        description: Tomorrow.io Activate Alert
        call: tomorrow-alerts.activateAlert
        with:
          alertId: rest.alertId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/alerts/{alertId}/deactivate
      name: alerts-alert-id-deactivate
      description: REST surface for alerts-alert-id-deactivate.
      operations:
      - method: POST
        name: deactivateAlert
        description: Tomorrow.io Deactivate Alert
        call: tomorrow-alerts.deactivateAlert
        with:
          alertId: rest.alertId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: tomorrow-alerts-mcp
    port: 9090
    transport: http
    description: MCP adapter for Tomorrow.io Weather API — Alerts. One tool per consumed operation, routed inline through this capability's consumes block.
    tools:
    - name: io-list-alerts
      description: Tomorrow.io List Alerts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: tomorrow-alerts.listAlerts
      with: {}
      outputParameters:
      - type: object
        mapping: $.
    - name: io-create-alert
      description: Tomorrow.io Create Alert
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: tomorrow-alerts.createAlert
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: io-get-alert
      description: Tomorrow.io Get Alert
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: tomorrow-alerts.getAlert
      with:
        alertId: tools.alertId
      outputParameters:
      - type: object
        mapping: $.
    - name: io-update-alert
      description: Tomorrow.io Update Alert
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: tomorrow-alerts.updateAlert
      with:
        alertId: tools.alertId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: io-delete-alert
      description: Tomorrow.io Delete Alert
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: tomorrow-alerts.deleteAlert
      with:
        alertId: tools.alertId
      outputParameters:
      - type: object
        mapping: $.
    - name: io-list-alert-locations
      description: Tomorrow.io List Alert Locations
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: tomorrow-alerts.listAlertLocations
      with:
        alertId: tools.alertId
      outputParameters:
      - type: object
        mapping: $.
    - name: io-link-alert-locations
      description: Tomorrow.io Link Alert Locations
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: tomorrow-alerts.linkAlertLocations
      with:
        alertId: tools.alertId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: io-unlink-alert-locations
      description: Tomorrow.io Unlink Alert Locations
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: tomorrow-alerts.unlinkAlertLocations
      with:
        alertId: tools.alertId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: io-activate-alert
      description: Tomorrow.io Activate Alert
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: tomorrow-alerts.activateAlert
      with:
        alertId: tools.alertId
      outputParameters:
      - type: object
        mapping: $.
    - name: io-deactivate-alert
      description: Tomorrow.io Deactivate Alert
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: tomorrow-alerts.deactivateAlert
      with:
        alertId: tools.alertId
      outputParameters:
      - type: object
        mapping: $.