Rainbow.AI · Capability

Rainbow.AI Weather Intelligence

Unified weather intelligence capability combining Rainbow.AI's Nowcast API for minute-by-minute precipitation forecasts and the Tiles API for map visualization. Used by operations teams, logistics platforms, outdoor event planners, and any application requiring precise, real-time precipitation awareness.

Run with Naftiko WeatherNowcastPrecipitationTilesMappingGeospatialForecasting

What You Can Do

GET
Get nowcast — Get precipitation forecast for the next 4 hours
/v1/nowcast
GET
Get radar data — Get current radar reflectivity data
/v1/radar
GET
Get map tile — Get weather map tile for a specific zoom and coordinate
/v1/map/tiles/{z}/{x}/{y}
GET
Get map snapshot — Get static precipitation map image
/v1/map/snapshots
GET
Get available timestamps — Get timestamps for animated weather map
/v1/map/timestamps

MCP Tools

get-precipitation-nowcast

Get minute-by-minute precipitation forecast for any global location for the next 4 hours at 1 km resolution.

read-only
get-radar-data

Get real-time weather radar reflectivity data showing current precipitation intensity and type for a location.

read-only
get-weather-map-tile

Retrieve a precipitation map tile at a specific zoom level and XYZ tile coordinates for embedding in map visualizations.

read-only
get-precipitation-map-snapshot

Get a static precipitation map image for a geographic bounding box, useful for report generation or preview thumbnails.

read-only
get-available-tile-timestamps

Get the list of available weather tile timestamps for building animated precipitation visualizations.

read-only

APIs Used

nowcast tiles

Capability Spec

weather-intelligence.yaml Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: Rainbow.AI Weather Intelligence
  description: >-
    Unified weather intelligence capability combining Rainbow.AI's Nowcast API
    for minute-by-minute precipitation forecasts and the Tiles API for map
    visualization. Used by operations teams, logistics platforms, outdoor event
    planners, and any application requiring precise, real-time precipitation
    awareness.
  tags:
    - Weather
    - Nowcast
    - Precipitation
    - Tiles
    - Mapping
    - Geospatial
    - Forecasting
  created: "2026-05-02"
  modified: "2026-05-02"

binds:
  - namespace: env
    keys:
      RAINBOW_AI_API_KEY: RAINBOW_AI_API_KEY

capability:
  consumes:
    - import: nowcast
      location: ./shared/nowcast.yaml
    - import: tiles
      location: ./shared/tiles.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: weather-intelligence-api
      description: Unified REST API for hyperlocal precipitation intelligence.
      resources:
        - path: /v1/nowcast
          name: nowcast
          description: Minute-by-minute precipitation forecasts for any location
          operations:
            - method: GET
              name: get-nowcast
              description: Get precipitation forecast for the next 4 hours
              call: "nowcast.get-nowcast"
              with:
                lat: "rest.lat"
                lon: "rest.lon"
                timezone: "rest.timezone"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/radar
          name: radar
          description: Real-time radar observations
          operations:
            - method: GET
              name: get-radar-data
              description: Get current radar reflectivity data
              call: "nowcast.get-radar-data"
              with:
                lat: "rest.lat"
                lon: "rest.lon"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/map/tiles/{z}/{x}/{y}
          name: map-tiles
          description: XYZ precipitation map tiles for visualization
          operations:
            - method: GET
              name: get-map-tile
              description: Get weather map tile for a specific zoom and coordinate
              call: "tiles.get-map-tile"
              with:
                z: "rest.z"
                x: "rest.x"
                y: "rest.y"
                timestamp: "rest.timestamp"
                layer: "rest.layer"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/map/snapshots
          name: map-snapshots
          description: Static precipitation map images for a bounding box
          operations:
            - method: GET
              name: get-map-snapshot
              description: Get static precipitation map image
              call: "tiles.get-map-snapshot"
              with:
                bbox: "rest.bbox"
                width: "rest.width"
                height: "rest.height"
                timestamp: "rest.timestamp"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/map/timestamps
          name: map-timestamps
          description: Available tile timestamps for animation
          operations:
            - method: GET
              name: get-available-timestamps
              description: Get timestamps for animated weather map
              call: "tiles.get-available-timestamps"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: weather-intelligence-mcp
      transport: http
      description: MCP server for AI-assisted hyperlocal precipitation intelligence.
      tools:
        - name: get-precipitation-nowcast
          description: >-
            Get minute-by-minute precipitation forecast for any global location
            for the next 4 hours at 1 km resolution.
          hints:
            readOnly: true
            openWorld: true
          call: "nowcast.get-nowcast"
          with:
            lat: "tools.lat"
            lon: "tools.lon"
            timezone: "tools.timezone"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-radar-data
          description: >-
            Get real-time weather radar reflectivity data showing current
            precipitation intensity and type for a location.
          hints:
            readOnly: true
            openWorld: true
          call: "nowcast.get-radar-data"
          with:
            lat: "tools.lat"
            lon: "tools.lon"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-weather-map-tile
          description: >-
            Retrieve a precipitation map tile at a specific zoom level and
            XYZ tile coordinates for embedding in map visualizations.
          hints:
            readOnly: true
            openWorld: true
          call: "tiles.get-map-tile"
          with:
            z: "tools.z"
            x: "tools.x"
            y: "tools.y"
            timestamp: "tools.timestamp"
            layer: "tools.layer"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-precipitation-map-snapshot
          description: >-
            Get a static precipitation map image for a geographic bounding box,
            useful for report generation or preview thumbnails.
          hints:
            readOnly: true
            openWorld: true
          call: "tiles.get-map-snapshot"
          with:
            bbox: "tools.bbox"
            width: "tools.width"
            height: "tools.height"
            timestamp: "tools.timestamp"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-available-tile-timestamps
          description: >-
            Get the list of available weather tile timestamps for building
            animated precipitation visualizations.
          hints:
            readOnly: true
            openWorld: false
          call: "tiles.get-available-timestamps"
          outputParameters:
            - type: object
              mapping: "$."